diff --git a/.github/workflows/feature_branch_update.yml b/.github/workflows/feature_branch_update.yml index bfc4c7d65e5..09760551609 100644 --- a/.github/workflows/feature_branch_update.yml +++ b/.github/workflows/feature_branch_update.yml @@ -18,6 +18,7 @@ jobs: matrix: branch: - xap + - riot steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index af4fe6abde8..3652071ed6e 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@v36 + uses: tj-actions/changed-files@v37 - name: Run qmk formatters shell: 'bash {0}' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2b77e29a283..1c0667abbac 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@v36 + uses: tj-actions/changed-files@v37 - name: Print info run: | @@ -36,6 +36,7 @@ jobs: echo '${{ steps.file_changes.outputs.all_changed_files}}' - name: Run qmk lint + if: always() shell: 'bash {0}' run: | QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.all_changed_files}}' | sed 's/ /\n/g') @@ -72,3 +73,32 @@ jobs: exit 255 fi exit $exit_code + + - name: Verify at most one added keyboard + if: always() + shell: 'bash {0}' + run: | + git reset --hard + git clean -xfd + + # Get the keyboard list and count for the target branch + git checkout -f ${{ github.base_ref }} + git pull --ff-only + QMK_KEYBOARDS_BASE=$(qmk list-keyboards) + QMK_KEYBOARDS_BASE_COUNT=$(qmk list-keyboards | wc -l) + + # Get the keyboard list and count for the PR + git checkout -f ${{ github.head_ref }} + git merge --no-commit --squash ${{ github.base_ref }} + QMK_KEYBOARDS_PR=$(qmk list-keyboards) + QMK_KEYBOARDS_PR_COUNT=$(qmk list-keyboards | wc -l) + + echo "::group::Keyboards changes in this PR" + diff -d -U 0 <(echo "$QMK_KEYBOARDS_BASE") <(echo "$QMK_KEYBOARDS_PR") | grep -vE '^(---|\+\+\+|@@)' | sed -e 's@^-@Removed: @g' -e 's@^+@ Added: @g' + echo "::endgroup::" + + if [[ $QMK_KEYBOARDS_PR_COUNT -gt $(($QMK_KEYBOARDS_BASE_COUNT + 1)) ]]; then + echo "More than one keyboard added in this PR -- see the PR Checklist." + echo "::error::More than one keyboard added in this PR -- see the PR Checklist." + exit 1 + fi diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 0425d3fc9d7..72c990abbba 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -27,7 +27,6 @@ QMK_BIN ?= qmk # Set the filename for the final firmware binary KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD)) TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP) -KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE) ifeq ($(strip $(DUMP_CI_METADATA)),yes) $(info CI Metadata: KEYBOARD=$(KEYBOARD)) @@ -44,7 +43,7 @@ endif # Object files and generated keymap directory # To put object files in current directory, use a dot (.), do NOT make # this an empty or blank macro! -KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) +INTERMEDIATE_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) ifdef SKIP_VERSION OPT_DEFS += -DSKIP_VERSION @@ -60,7 +59,7 @@ VERSION_H_FLAGS += --skip-git endif # Generate the board's version.h file. -$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(KEYMAP_OUTPUT)/src/version.h) +$(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) @@ -121,7 +120,7 @@ MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP) MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) # Pull in rules from info.json -INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_rules.mk) +INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/info_rules.mk) include $(INFO_RULES_MK) # Check for keymap.json first, so we can regenerate keymap.c @@ -161,28 +160,28 @@ endif # Have we found a keymap.json? ifneq ("$(wildcard $(KEYMAP_JSON))", "") - KEYMAP_C := $(KEYMAP_OUTPUT)/src/keymap.c - KEYMAP_H := $(KEYMAP_OUTPUT)/src/config.h + 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 # Load any rules.mk content from keymap.json - INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --output $(KEYMAP_OUTPUT)/src/rules.mk $(KEYMAP_JSON)) + INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --output $(INTERMEDIATE_OUTPUT)/src/rules.mk $(KEYMAP_JSON)) include $(INFO_RULES_MK) # Add rules to generate the keymap files - indentation here is important -$(KEYMAP_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) +$(INTERMEDIATE_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) $(eval CMD=$(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)) @$(BUILD_CMD) -$(KEYMAP_OUTPUT)/src/config.h: $(KEYMAP_JSON) +$(INTERMEDIATE_OUTPUT)/src/config.h: $(KEYMAP_JSON) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) $(eval CMD=$(QMK_BIN) generate-config-h --quiet --output $(KEYMAP_H) $(KEYMAP_JSON)) @$(BUILD_CMD) -generated-files: $(KEYMAP_OUTPUT)/src/config.h $(KEYMAP_OUTPUT)/src/keymap.c +generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/keymap.c endif @@ -323,34 +322,34 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","") INFO_JSON_FILES += $(KEYBOARD_PATH_5)/info.json endif -CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h -KEYBOARD_SRC += $(KEYBOARD_OUTPUT)/src/default_keyboard.c +CONFIG_H += $(INTERMEDIATE_OUTPUT)/src/info_config.h +KEYBOARD_SRC += $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c -$(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) +$(INTERMEDIATE_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h) + $(eval CMD=$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/info_config.h) @$(BUILD_CMD) -$(KEYBOARD_OUTPUT)/src/default_keyboard.c: $(INFO_JSON_FILES) +$(INTERMEDIATE_OUTPUT)/src/default_keyboard.c: $(INFO_JSON_FILES) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-keyboard-c --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.c) + $(eval CMD=$(QMK_BIN) generate-keyboard-c --quiet --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c) @$(BUILD_CMD) -$(KEYBOARD_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES) +$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --include $(FOUND_KEYBOARD_H) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h) + $(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --include $(FOUND_KEYBOARD_H) --output $(INTERMEDIATE_OUTPUT)/src/default_keyboard.h) @$(BUILD_CMD) -generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.c $(KEYBOARD_OUTPUT)/src/default_keyboard.h +generated-files: $(INTERMEDIATE_OUTPUT)/src/info_config.h $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c $(INTERMEDIATE_OUTPUT)/src/default_keyboard.h -generated-files: $(KEYMAP_OUTPUT)/src/info_deps.d +generated-files: $(INTERMEDIATE_OUTPUT)/src/info_deps.d -$(KEYMAP_OUTPUT)/src/info_deps.d: +$(INTERMEDIATE_OUTPUT)/src/info_deps.d: @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-make-dependencies -kb $(KEYBOARD) -km $(KEYMAP) -o $(KEYMAP_OUTPUT)/src/info_deps.d) + $(eval CMD=$(QMK_BIN) generate-make-dependencies -kb $(KEYBOARD) -km $(KEYMAP) -o $(INTERMEDIATE_OUTPUT)/src/info_deps.d) @$(BUILD_CMD) --include $(KEYMAP_OUTPUT)/src/info_deps.d +-include $(INTERMEDIATE_OUTPUT)/src/info_deps.d .INTERMEDIATE : generated-files @@ -423,8 +422,7 @@ VPATH += $(KEYMAP_PATH) VPATH += $(USER_PATH) VPATH += $(KEYBOARD_PATHS) VPATH += $(COMMON_VPATH) -VPATH += $(KEYBOARD_OUTPUT)/src -VPATH += $(KEYMAP_OUTPUT)/src +VPATH += $(INTERMEDIATE_OUTPUT)/src include $(BUILDDEFS_PATH)/common_features.mk include $(BUILDDEFS_PATH)/generic_features.mk @@ -442,10 +440,11 @@ include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/flash.mk ifneq ($(strip $(PROTOCOL)),) - include $(TMK_PATH)/protocol/$(strip $(shell echo $(PROTOCOL) | tr '[:upper:]' '[:lower:]')).mk +PROTOCOL_KEY = $(strip $(shell echo $(PROTOCOL) | tr '[:upper:]' '[:lower:]')) else - include $(TMK_PATH)/protocol/$(PLATFORM_KEY).mk +PROTOCOL_KEY = $(PLATFORM_KEY) endif +include $(TMK_PATH)/protocol/$(PROTOCOL_KEY)/$(PROTOCOL_KEY).mk # Setup definitions based on the selected MCU $(eval $(call add_qmk_prefix_defs,MCU_ORIG,MCU)) @@ -471,17 +470,14 @@ PROJECT_CONFIG := $(CONFIG_H) CONFIG_H += $(POST_CONFIG_H) ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H) -OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) -$(KEYMAP_OUTPUT)_SRC := $(SRC) -$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) \ --DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(KEYBOARD_OUTPUT)/src/default_keyboard.h\" \ --DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" -$(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) -$(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H) -$(KEYBOARD_OUTPUT)_SRC := $(PLATFORM_SRC) -$(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) -$(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) -$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG) +OUTPUTS := $(INTERMEDIATE_OUTPUT) +$(INTERMEDIATE_OUTPUT)_SRC := $(SRC) $(PLATFORM_SRC) +$(INTERMEDIATE_OUTPUT)_DEFS := $(OPT_DEFS) \ + -DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h\" \ + -DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \ + $(PROJECT_DEFS) +$(INTERMEDIATE_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) $(PROJECT_INC) +$(INTERMEDIATE_OUTPUT)_CONFIG := $(CONFIG_H) $(PROJECT_CONFIG) # Default target. all: build check-size diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index e904d6beb97..5687201d61c 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -565,18 +565,18 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) endif COMMON_VPATH += $(QUANTUM_DIR)/backlight + COMMON_VPATH += $(DRIVER_PATH)/backlight SRC += $(QUANTUM_DIR)/backlight/backlight.c SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c OPT_DEFS += -DBACKLIGHT_ENABLE - ifeq ($(strip $(BACKLIGHT_DRIVER)), custom) - OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER - else + ifneq ($(strip $(BACKLIGHT_DRIVER)), custom) SRC += $(QUANTUM_DIR)/backlight/backlight_driver_common.c - ifeq ($(strip $(BACKLIGHT_DRIVER)), pwm) - SRC += $(QUANTUM_DIR)/backlight/backlight_$(PLATFORM_KEY).c + + ifeq ($(strip $(BACKLIGHT_DRIVER)), software) + SRC += $(DRIVER_PATH)/backlight/backlight_software.c else - SRC += $(QUANTUM_DIR)/backlight/backlight_$(strip $(BACKLIGHT_DRIVER)).c + SRC += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/backlight_$(strip $(BACKLIGHT_DRIVER)).c endif endif endif diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index 816eac49ae8..5d635307edb 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -176,7 +176,7 @@ MOVE_DEP = mv -f $(patsubst %.o,%.td,$@) $(patsubst %.o,%.d,$@) # For a ChibiOS build, ensure that the board files have the hook overrides injected define BOARDSRC_INJECT_HOOKS -$(KEYBOARD_OUTPUT)/$(patsubst %.c,%.o,$(patsubst ./%,%,$1)): INIT_HOOK_CFLAGS += -include $(TOP_DIR)/tmk_core/protocol/chibios/init_hooks.h +$(INTERMEDIATE_OUTPUT)/$(patsubst %.c,%.o,$(patsubst ./%,%,$1)): INIT_HOOK_CFLAGS += -include $(TOP_DIR)/tmk_core/protocol/chibios/init_hooks.h endef $(foreach LOBJ, $(BOARDSRC), $(eval $(call BOARDSRC_INJECT_HOOKS,$(LOBJ)))) diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index e53d90da39b..56d6216c421 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -117,6 +117,7 @@ "RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"}, "RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"}, "RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"}, + "RGBLIGHT_LED_MAP": {"info_key": "rgblight.led_map", "value_type": "array.int"}, "RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"}, "RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"}, "RGBLIGHT_SAT_STEP": {"info_key": "rgblight.saturation_steps", "value_type": "int"}, diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index a656288a8fb..f89b496c264 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -212,6 +212,9 @@ "gmmk/pro/iso": { "target": "gmmk/pro/rev1/iso" }, + "handwired/dactyl_manuform/6x6_kinesis": { + "target": "handwired/dactyl_kinesis" + }, "handwired/ferris": { "target": "ferris/0_1" }, @@ -868,6 +871,9 @@ "hecomi/alpha": { "target": "takashiski/hecomi/alpha" }, + "hfdkb/keyboard_sw/k83":{ + "target": "inland/kb83" + }, "hid_liber": { "target": "bpiphany/hid_liber" }, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index ba4a7eec557..2051a7b8ba2 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -71,6 +71,8 @@ "STM32F446", "STM32G431", "STM32G474", + "STM32H723", + "STM32H733", "STM32L412", "STM32L422", "STM32L432", @@ -491,6 +493,11 @@ } }, "led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_map": { + "type": "array", + "minItems": 2, + "items": {"$ref": "qmk.definitions.v1#/unsigned_int"} + }, "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "pin": { "$ref": "qmk.definitions.v1#/mcu_pin", diff --git a/docs/coding_conventions_c.md b/docs/coding_conventions_c.md index 3f44da713d4..32f6de7ff75 100644 --- a/docs/coding_conventions_c.md +++ b/docs/coding_conventions_c.md @@ -8,8 +8,8 @@ Most of our style is pretty easy to pick up on, but right now it's not entirely * Closing Brace: Lined up with the first character of the statement that opens the block * Else If: Place the closing brace at the beginning of the line and the next opening brace at the end of the same line. * Optional Braces: Always include optional braces. - * Good: if (condition) { return false; } - * Bad: if (condition) return false; + * Good: `if (condition) { return false; }` + * Bad: `if (condition) return false;` * We encourage use of C style comments: `/* */` * Think of them as a story describing the feature * Use them liberally to explain why particular decisions were made. diff --git a/docs/compatible_microcontrollers.md b/docs/compatible_microcontrollers.md index cc9c0b7f92a..197033f78b5 100644 --- a/docs/compatible_microcontrollers.md +++ b/docs/compatible_microcontrollers.md @@ -43,6 +43,8 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s * [STM32F446](https://www.st.com/en/microcontrollers-microprocessors/stm32f446.html) * [STM32G431](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x1.html) * [STM32G474](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x4.html) + * [STM32H723](https://www.st.com/en/microcontrollers-microprocessors/stm32h723-733.html) + * [STM32H733](https://www.st.com/en/microcontrollers-microprocessors/stm32h723-733.html) * [STM32L412](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) * [STM32L422](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) * [STM32L432](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) diff --git a/docs/data_driven_config.md b/docs/data_driven_config.md index ba287f5688e..b288f9901a8 100644 --- a/docs/data_driven_config.md +++ b/docs/data_driven_config.md @@ -79,8 +79,8 @@ If you are not sure how to edit this file or are not comfortable with Python [op The final piece of the puzzle is providing your new option to the build system. This is done by generating two files: -* `.build/obj_/src/info_config.h` -* `.build/obj_/src/rules.mk` +* `.build/obj__/src/info_config.h` +* `.build/obj__/src/rules.mk` These two files are generated by the code here: diff --git a/docs/feature_auto_shift.md b/docs/feature_auto_shift.md index 1719807e268..6241cbaeb15 100644 --- a/docs/feature_auto_shift.md +++ b/docs/feature_auto_shift.md @@ -133,7 +133,17 @@ groups in the below fallback switch. ### NO_AUTO_SHIFT_SPECIAL (simple define) Do not Auto Shift special keys, which include -\_, =+, [{, ]}, ;:, '", ,<, .>, -and /? +/?, and the KC_TAB. + +### NO_AUTO_SHIFT_TAB (simple define) + +Do not Auto Shift KC_TAB but leave Auto Shift enabled for the other special +characters. + +### NO_AUTO_SHIFT_SYMBOLS (simple define) + +Do not Auto Shift symbol keys, which include -\_, =+, [{, ]}, ;:, '", ,<, .>, +and /?. ### NO_AUTO_SHIFT_NUMERIC (simple define) @@ -143,9 +153,13 @@ Do not Auto Shift numeric keys, zero through nine. Do not Auto Shift alpha characters, which include A through Z. +### AUTO_SHIFT_ENTER (simple define) + +Auto Shift the enter key. + ### Auto Shift Per Key -There are functions that allows you to determine which keys shold be autoshifted, much like the tap-hold keys. +There are functions that allows you to determine which keys should be autoshifted, much like the tap-hold keys. The first of these, used to simply add a key to Auto Shift, is `get_custom_auto_shifted_key`: @@ -172,9 +186,15 @@ bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { case KC_1 ... KC_0: # endif # ifndef NO_AUTO_SHIFT_SPECIAL +# ifndef NO_AUTO_SHIFT_TAB case KC_TAB: - case KC_MINUS ... KC_SLASH: - case KC_NONUS_BACKSLASH: +# endif +# ifndef NO_AUTO_SHIFT_SYMBOLS + case AUTO_SHIFT_SYMBOLS: +# endif +# endif +# ifdef AUTO_SHIFT_ENTER + case KC_ENT: # endif return true; } @@ -192,6 +212,25 @@ Enables keyrepeat. Disables automatically keyrepeating when `AUTO_SHIFT_TIMEOUT` is exceeded. + +### AUTO_SHIFT_ALPHA (predefined key group) + +A predefined group of keys representing A through Z. + +### AUTO_SHIFT_NUMERIC (predefined key group) + +A predefined group of keys representing 0 through 9. Note, these are defined as +1 through 0 since that is the order they normally appear in. + +### AUTO_SHIFT_SYMBOLS (predefined key group) + +A predefined group of keys representing symbolic characters which include -\_, =+, [{, ]}, ;:, '", ,<, .>, +and /?. + +### AUTO_SHIFT_SPECIAL (predefined key group) + +A predefined group of keys that combines AUTO_SHIFT_SYMBOLS and KC_TAB. + ## Custom Shifted Values Especially on small keyboards, the default shifted value for many keys is not diff --git a/docs/feature_autocorrect.md b/docs/feature_autocorrect.md index 9f80c93f827..3a0a49095c6 100644 --- a/docs/feature_autocorrect.md +++ b/docs/feature_autocorrect.md @@ -198,7 +198,9 @@ bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *t ### Apply Autocorrect -Additionally, `apply_autocorrect(uint8_t backspaces, const char *str)` allows for users to add additional handling to the autocorrection, or replace the functionality entirely. This passes on the number of backspaces needed to replace the words, as well as the replacement string (partial word, not the full word). +Additionally, `apply_autocorrect(uint8_t backspaces, const char *str, char *typo, char *correct)` allows for users to add additional handling to the autocorrection, or replace the functionality entirely. This passes on the number of backspaces needed to replace the words, as well as the replacement string (partial word, not the full word), and the typo and corrected strings (complete words). + +?> Due to the way code works (no notion of words, just a stream of letters), the `typo` and `correct` strings are a best bet and could be "wrong". For example you may get `wordtpyo` & `wordtypo` instead of the expected `tpyo` & `typo`. #### Apply Autocorrect Example @@ -209,7 +211,7 @@ This following example will play a sound when a typo is autocorrected and execut float autocorrect_song[][2] = SONG(TERMINAL_SOUND); #endif -bool apply_autocorrect(uint8_t backspaces, const char *str) { +bool apply_autocorrect(uint8_t backspaces, const char *str, char *typo, char *correct) { #ifdef AUDIO_ENABLE PLAY_SONG(autocorrect_song); #endif @@ -223,14 +225,17 @@ bool apply_autocorrect(uint8_t backspaces, const char *str) { ?> In this callback function, `return false` will stop the normal processing of autocorrect, which requires manually handling of removing the "bad" characters and typing the new characters. -!> ***IMPORTANT***: `str` is a pointer to `PROGMEM` data for the autocorrection. If you return false, and want to send the string, this needs to use `send_string_P` and not `send_string` or `SEND_STRING`. +!> ***IMPORTANT***: `str` is a pointer to `PROGMEM` data for the autocorrection. If you return false, and want to send the string, this needs to use `send_string_P` and not `send_string` nor `SEND_STRING`. You can also use `apply_autocorrect` to detect and display the event but allow internal code to execute the autocorrection with `return true`: ```c -bool apply_autocorrect(uint8_t backspaces, const char *str) { +bool apply_autocorrect(uint8_t backspaces, const char *str, char *typo, char *correct) { #ifdef OLED_ENABLE oled_write_P(PSTR("Auto-corrected"), false); +#endif +#ifdef CONSOLE_ENABLE + printf("'%s' was corrected to '%s'\n", typo, correct); #endif return true; } diff --git a/docs/feature_hd44780.md b/docs/feature_hd44780.md index 4ade640baae..dcbd656bbee 100644 --- a/docs/feature_hd44780.md +++ b/docs/feature_hd44780.md @@ -1,6 +1,6 @@ -# HD44780 LCD Driver +# HD44780 LCD Driver :id=hd44780-lcd-driver -## Supported Hardware +## Supported Hardware :id=supported-hardware LCD modules using [HD44780U](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf) IC or equivalent, communicating in 4-bit mode. @@ -11,7 +11,7 @@ LCD modules using [HD44780U](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf To run these modules at 3.3V, an additional MAX660 voltage converter IC must be soldered on, along with two 10µF capacitors. See [this page](https://www.codrey.com/electronic-circuits/hack-your-16x2-lcd/) for more details. -## Usage +## Usage :id=usage Add the following to your `rules.mk`: @@ -19,7 +19,7 @@ Add the following to your `rules.mk`: HD44780_ENABLE = yes ``` -## Basic Configuration +## Basic Configuration :id=basic-configuration Add the following to your `config.h`: @@ -33,9 +33,9 @@ Add the following to your `config.h`: |`HD44780_DISPLAY_LINES`|`2` |The number of visible lines on the display | |`HD44780_WRAP_LINES` |*Not defined* |If defined, input characters will wrap to the next line | -## Examples +## Examples :id=examples -### Hello World +### Hello World :id=example-hello-world Add the following to your `keymap.c`: @@ -46,7 +46,7 @@ void keyboard_post_init_user(void) { } ``` -### Custom Character Definition +### Custom Character Definition :id=example-custom-character Up to eight custom characters can be defined. This data is stored in the Character Generator RAM (CGRAM), and is not persistent across power cycles. @@ -77,15 +77,15 @@ void keyboard_post_init_user(void) { } ``` -## API +## API :id=api -### `void hd44780_init(bool cursor, bool blink)` +### `void hd44780_init(bool cursor, bool blink)` :id=api-hd44780-init Initialize the display. This function should be called only once, before any of the other functions can be called. -#### Arguments +#### Arguments :id=api-hd44780-init-arguments - `bool cursor` Whether to show the cursor. @@ -94,7 +94,7 @@ This function should be called only once, before any of the other functions can --- -### `void hd44780_clear(void)` +### `void hd44780_clear(void)` :id=api-hd44780-clear Clear the display. @@ -102,7 +102,7 @@ This function is called on init. --- -### `void hd44780_home(void)` +### `void hd44780_home(void)` :id=api-hd44780-home Move the cursor to the home position. @@ -110,13 +110,13 @@ This function is called on init. --- -### `void hd44780_on(bool cursor, bool blink)` +### `void hd44780_on(bool cursor, bool blink)` :id=api-hd44780-on Turn the display on, and/or set the cursor properties. This function is called on init. -#### Arguments +#### Arguments :id=api-hd44780-on-arguments - `bool cursor` Whether to show the cursor. @@ -125,17 +125,17 @@ This function is called on init. --- -### `void hd44780_off(void)` +### `void hd44780_off(void)` :id=api-hd44780-off Turn the display off. --- -### `void hd44780_set_cursor(uint8_t col, uint8_t line)` +### `void hd44780_set_cursor(uint8_t col, uint8_t line)` :id=api-hd44780-set-cursor Move the cursor to the specified position on the display. -#### Arguments +#### Arguments :id=api-hd44780-set-cursor-arguments - `uint8_t col` The column number to move to, from 0 to 15 on 16x2 displays. @@ -144,48 +144,48 @@ Move the cursor to the specified position on the display. --- -### `void hd44780_putc(char c)` +### `void hd44780_putc(char c)` :id=api-hd44780-putc Print a character to the display. The newline character `\n` will move the cursor to the start of the next line. The exact character shown may depend on the ROM code of your particular display - refer to the datasheet for the full character set. -#### Arguments +#### Arguments :id=api-hd44780-putc-arguments - `char c` The character to print. --- -### `void hd44780_puts(const char *s)` +### `void hd44780_puts(const char *s)` :id=api-hd44780-puts Print a string of characters to the display. -#### Arguments +#### Arguments :id=api-hd44780-puts-arguments - `const char *s` The string to print. --- -### `void hd44780_puts_P(const char *s)` +### `void hd44780_puts_P(const char *s)` :id=api-hd44780-puts-p Print a string of characters from PROGMEM to the display. On ARM devices, this function is simply an alias of `hd44780_puts()`. -#### Arguments +#### Arguments :id=api-hd44780-puts-p-arguments - `const char *s` The PROGMEM string to print (ie. `PSTR("Hello")`). --- -### `void hd44780_define_char(uint8_t index, uint8_t *data)` +### `void hd44780_define_char(uint8_t index, uint8_t *data)` :id=api-hd44780-define-char Define a custom character. -#### Arguments +#### Arguments :id=api-hd44780-define-char-arguments - `uint8_t index` The index of the custom character to define, from 0 to 7. @@ -194,13 +194,13 @@ Define a custom character. --- -### `void hd44780_define_char_P(uint8_t index, const uint8_t *data)` +### `void hd44780_define_char_P(uint8_t index, const uint8_t *data)` :id=api-hd44780-define-char-p Define a custom character from PROGMEM. On ARM devices, this function is simply an alias of `hd44780_define_char()`. -#### Arguments +#### Arguments :id=api-hd44780-define-char-p-arguments - `uint8_t index` The index of the custom character to define, from 0 to 7. @@ -209,21 +209,21 @@ On ARM devices, this function is simply an alias of `hd44780_define_char()`. --- -### `bool hd44780_busy(void)` +### `bool hd44780_busy(void)` :id=api-hd44780-busy Indicates whether the display is currently processing, and cannot accept instructions. -#### Return Value +#### Return Value :id=api-hd44780-busy-arguments `true` if the display is busy. --- -### `void hd44780_write(uint8_t data, bool isData)` +### `void hd44780_write(uint8_t data, bool isData)` :id=api-hd44780-write Write a byte to the display. -#### Arguments +#### Arguments :id=api-hd44780-write-arguments - `uint8_t data` The byte to send to the display. @@ -232,67 +232,67 @@ Write a byte to the display. --- -### `uint8_t hd44780_read(bool isData)` +### `uint8_t hd44780_read(bool isData)` :id=api-hd44780-read Read a byte from the display. -#### Arguments +#### Arguments :id=api-hd44780-read-arguments - `bool isData` Whether to read the current cursor position, or the character at the cursor. -#### Return Value +#### Return Value :id=api-hd44780-read-return If `isData` is `true`, the returned byte will be the character at the current DDRAM address. Otherwise, it will be the current DDRAM address and the busy flag. --- -### `void hd44780_command(uint8_t command)` +### `void hd44780_command(uint8_t command)` :id=api-hd44780-command Send a command to the display. Refer to the datasheet and `hd44780.h` for the valid commands and defines. This function waits for the display to clear the busy flag before sending the command. -#### Arguments +#### Arguments :id=api-hd44780-command-arguments - `uint8_t command` The command to send. --- -### `void hd44780_data(uint8_t data)` +### `void hd44780_data(uint8_t data)` :id=api-hd44780-data Send a byte of data to the display. This function waits for the display to clear the busy flag before sending the data. -#### Arguments +#### Arguments :id=api-hd44780-data-arguments - `uint8_t data` The byte of data to send. --- -### `void hd44780_set_cgram_address(uint8_t address)` +### `void hd44780_set_cgram_address(uint8_t address)` :id=api-hd44780-set-cgram-address Set the CGRAM address. This function is used when defining custom characters. -#### Arguments +#### Arguments :id=api-hd44780-set-cgram-address-arguments - `uint8_t address` The CGRAM address to move to, from `0x00` to `0x3F`. --- -### `void hd44780_set_ddram_address(uint8_t address)` +### `void hd44780_set_ddram_address(uint8_t address)` :id=api-hd44780-set-ddram-address Set the DDRAM address. This function is used when printing characters to the display, and setting the cursor. -#### Arguments +#### Arguments :id=api-hd44780-set-ddram-address-arguments - `uint8_t address` The DDRAM address to move to, from `0x00` to `0x7F`. diff --git a/docs/feature_key_overrides.md b/docs/feature_key_overrides.md index 608eb001e4b..ec7efd4c017 100644 --- a/docs/feature_key_overrides.md +++ b/docs/feature_key_overrides.md @@ -225,3 +225,30 @@ The duration of the key repeat delay is controlled with the `KEY_OVERRIDE_REPEAT ## Difference to Combos :id=difference-to-combos Note that key overrides are very different from [combos](https://docs.qmk.fm/#/feature_combo). Combos require that you press down several keys almost _at the same time_ and can work with any combination of non-modifier keys. Key overrides work like keyboard shortcuts (e.g. `ctrl` + `z`): They take combinations of _multiple_ modifiers and _one_ non-modifier key to then perform some custom action. Key overrides are implemented with much care to behave just like normal keyboard shortcuts would in regards to the order of pressed keys, timing, and interacton with other pressed keys. There are a number of optional settings that can be used to really fine-tune the behavior of each key override as well. Using key overrides also does not delay key input for regular key presses, which inherently happens in combos and may be undesirable. + +## Solution to the problem of flashing modifiers :id=neutralize-flashing-modifiers + +If the programs you use bind an action to taps of modifier keys (e.g. tapping left GUI to bring up the applications menu or tapping left Alt to focus the menu bar), you may find that using key overrides with suppressed mods falsely triggers those actions. To counteract this, you can define a `DUMMY_MOD_NEUTRALIZER_KEYCODE` in `config.h` that will get sent in between the register and unregister events of a suppressed modifier. That way, the programs on your computer will no longer interpret the mod suppression induced by key overrides as a lone tap of a modifier key and will thus not falsely trigger the undesired action. + +Naturally, for this technique to be effective, you must choose a `DUMMY_MOD_NEUTRALIZER_KEYCODE` for which no keyboard shortcuts are bound to. Recommended values are: `KC_RIGHT_CTRL` or `KC_F18`. +Please note that `DUMMY_MOD_NEUTRALIZER_KEYCODE` must be a basic, unmodified, HID keycode so values like `KC_NO`, `KC_TRANSPARENT` or `KC_PIPE` aka `S(KC_BACKSLASH)` are not permitted. + +By default, only left Alt and left GUI are neutralized. If you want to change the list of applicable modifier masks, use the following in your `config.h`: + +```c +#define MODS_TO_NEUTRALIZE { , , ... } +``` + +Examples: + +```c +#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_RIGHT_CTRL + +// Neutralize left alt and left GUI (Default value) +#define MODS_TO_NEUTRALIZE { MOD_BIT(KC_LEFT_ALT), MOD_BIT(KC_LEFT_GUI) } + +// Neutralize left alt, left GUI, right GUI and left Control+Shift +#define MODS_TO_NEUTRALIZE { MOD_BIT(KC_LEFT_ALT), MOD_BIT(KC_LEFT_GUI), MOD_BIT(KC_RIGHT_GUI), MOD_BIT(KC_LEFT_CTRL)|MOD_BIT(KC_LEFT_SHIFT) } +``` + +!> Do not use `MOD_xxx` constants like `MOD_LSFT` or `MOD_RALT`, since they're 5-bit packed bit-arrays while `MODS_TO_NEUTRALIZE` expects a list of 8-bit packed bit-arrays. Use `MOD_BIT()` or `MOD_MASK_xxx` instead. diff --git a/docs/feature_layers.md b/docs/feature_layers.md index 697064b49ae..e57642071f4 100644 --- a/docs/feature_layers.md +++ b/docs/feature_layers.md @@ -64,7 +64,7 @@ There are a number of functions (and variables) related to how you can use or ma | `layer_move(layer)` | Turns specified layer on, and all other layers off. | | `layer_on(layer)` | Turns specified layer on, leaves all other layers in existing state. | | `layer_off(layer)` | Turns specified layer off, leaves all other layers in existing state. | -| `layer_invert(layer)` | Interverts/toggles the state of the specified layer | +| `layer_invert(layer)` | Inverts/toggles the state of the specified layer | | `layer_or(layer_mask)` | Turns on layers based on matching bits between specifed layer and existing layer state. | | `layer_and(layer_mask)` | Turns on layers based on matching enabled bits between specifed layer and existing layer state. | | `layer_xor(layer_mask)` | Turns on layers based on non-matching bits between specifed layer and existing layer state. | diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md index bc86099f1ff..b967f943d3d 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -139,7 +139,7 @@ Currently only 4 drivers are supported, but it would be trivial to support for m Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT] = { +const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address @@ -158,7 +158,7 @@ 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 __flash g_is31_scaling[ISSI_MANUAL_SCALING] = { +const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = { * LED Index * | Scaling * | | */ diff --git a/docs/feature_mouse_keys.md b/docs/feature_mouse_keys.md index eed4f4f4aaa..480fa0e3342 100644 --- a/docs/feature_mouse_keys.md +++ b/docs/feature_mouse_keys.md @@ -101,7 +101,7 @@ This is an extension of the accelerated mode. The kinetic mode uses a quadratic Tips: * The smoothness of the cursor movement depends on the `MOUSEKEY_INTERVAL` setting. The shorter the interval is set the smoother the movement will be. Setting the value too low makes the cursor unresponsive. Lower settings are possible if the micro processor is fast enough. For example: At an interval of `8` milliseconds, `125` movements per second will be initiated. With a base speed of `1000` each movement will move the cursor by `8` pixels. -* Mouse wheel movements are implemented differently from cursor movements. While it's okay for the cursor to move multiple pixels at once for the mouse wheel this would lead to jerky movements. Instead, the mouse wheel operates at step size `2`. Setting mouse wheel speed is done by adjusting the number of wheel movements per second. +* Mouse wheel movements are implemented differently from cursor movements. While it's okay for the cursor to move multiple pixels at once for the mouse wheel this would lead to jerky movements. Instead, the mouse wheel operates at step size `1`. Setting mouse wheel speed is done by adjusting the number of wheel movements per second. ### Constant mode diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 75f07b5e64c..89c9268ca40 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -386,7 +386,7 @@ Currently only 4 drivers are supported, but it would be trivial to support for m Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -406,7 +406,7 @@ 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 __flash g_is31_scaling[ISSI_MANUAL_SCALING] = { +const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = { * LED Index * | R scaling * | | G scaling diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index 5131658ae15..7deda1f8d51 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -524,37 +524,6 @@ By defining `RGBLIGHT_LED_MAP` as in the example below, you can specify the LED ``` simple mapped -For keyboards that use the RGB LEDs as a backlight for each key, you can also define it as in the example below. - -```c -// config.h - -#define RGBLED_NUM 30 - -/* RGB LED Conversion macro from physical array to electric array */ -#define LED_LAYOUT( \ - L00, L01, L02, L03, L04, L05, \ - L10, L11, L12, L13, L14, L15, \ - L20, L21, L22, L23, L24, L25, \ - L30, L31, L32, L33, L34, L35, \ - L40, L41, L42, L43, L44, L45 ) \ - { \ - L05, L04, L03, L02, L01, L00, \ - L10, L11, L12, L13, L14, L15, \ - L25, L24, L23, L22, L21, L20, \ - L30, L31, L32, L33, L34, L35, \ - L46, L45, L44, L43, L42, L41 \ - } - -/* RGB LED logical order map */ -/* Top->Bottom, Right->Left */ -#define RGBLIGHT_LED_MAP LED_LAYOUT( \ - 25, 20, 15, 10, 5, 0, \ - 26, 21, 16, 11, 6, 1, \ - 27, 22, 17, 12, 7, 2, \ - 28, 23, 18, 13, 8, 3, \ - 29, 24, 19, 14, 9, 4 ) - ``` ## Clipping Range diff --git a/docs/feature_send_string.md b/docs/feature_send_string.md index 67df0224e93..7d3f3ba32a1 100644 --- a/docs/feature_send_string.md +++ b/docs/feature_send_string.md @@ -1,4 +1,4 @@ -# Send String +# Send String :id=send-string The Send String API is part of QMK's macro system. It allows for sequences of keystrokes to be sent automatically. @@ -6,7 +6,7 @@ The full ASCII character set is supported, along with all of the keycodes in the ?> Unicode characters are **not** supported with this API -- see the [Unicode](feature_unicode.md) feature instead. -## Usage +## Usage :id=usage Send String is enabled by default, so there is usually no need for any special setup. However, if it is disabled, add the following to your `rules.mk`: @@ -14,7 +14,7 @@ Send String is enabled by default, so there is usually no need for any special s SEND_STRING_ENABLE = yes ``` -## Basic Configuration +## Basic Configuration :id=basic-configuration Add the following to your `config.h`: @@ -23,7 +23,7 @@ Add the following to your `config.h`: |`SENDSTRING_BELL`|*Not defined* |If the [Audio](feature_audio.md) feature is enabled, the `\a` character (ASCII `BEL`) will beep the speaker.| |`BELL_SOUND` |`TERMINAL_SOUND`|The song to play when the `\a` character is encountered. By default, this is an eighth note of C5. | -## Keycodes +## Keycodes :id=keycodes The Send String functions accept C string literals, but specific keycodes can be injected with the below macros. All of the keycodes in the [Basic Keycode range](keycodes_basic.md) are supported (as these are the only ones that will actually be sent to the host), but with an `X_` prefix instead of `KC_`. @@ -44,13 +44,13 @@ The following characters are also mapped to their respective keycodes for conven |`\t` |`\x1B`|`TAB`|`KC_TAB` | | |`\x7F`|`DEL`|`KC_DELETE` | -### Language Support +### Language Support :id=language-support By default, Send String assumes your OS keyboard layout is set to US ANSI. If you are using a different keyboard layout, you can [override the lookup tables used to convert ASCII characters to keystrokes](reference_keymap_extras.md#sendstring-support). -## Examples +## Examples :id=examples -### Hello World +### Hello World :id=example-hello-world A simple custom keycode which types out "Hello, world!" and the Enter key when pressed. @@ -70,7 +70,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } ``` -### Keycode Injection +### Keycode Injection :id=example-keycode-injection This example types out opening and closing curly braces, then taps the left arrow key to move the cursor between the two. @@ -84,26 +84,26 @@ This example types Ctrl+A, then Ctrl+C, without releasing Ctrl. SEND_STRING(SS_LCTL("ac")); ``` -## API +## API :id=api -### `void send_string(const char *string)` +### `void send_string(const char *string)` :id=api-send-string Type out a string of ASCII characters. This function simply calls `send_string_with_delay(string, 0)`. -#### Arguments +#### Arguments :id=api-send-string-arguments - `const char *string` The string to type out. --- -### `void send_string_with_delay(const char *string, uint8_t interval)` +### `void send_string_with_delay(const char *string, uint8_t interval)` :id=api-send-string-with-delay Type out a string of ASCII characters, with a delay between each character. -#### Arguments +#### Arguments :id=api-send-string-with-delay-arguments - `const char *string` The string to type out. @@ -112,26 +112,26 @@ Type out a string of ASCII characters, with a delay between each character. --- -### `void send_string_P(const char *string)` +### `void send_string_P(const char *string)` :id=api-send-string-p Type out a PROGMEM string of ASCII characters. On ARM devices, this function is simply an alias for `send_string_with_delay(string, 0)`. -#### Arguments +#### Arguments :id=api-send-string-p-arguments - `const char *string` The string to type out. --- -### `void send_string_with_delay_P(const char *string, uint8_t interval)` +### `void send_string_with_delay_P(const char *string, uint8_t interval)` :id=api-send-string-with-delay-p Type out a PROGMEM string of ASCII characters, with a delay between each character. On ARM devices, this function is simply an alias for `send_string_with_delay(string, interval)`. -#### Arguments +#### Arguments :id=api-send-string-with-delay-p-arguments - `const char *string` The string to type out. @@ -140,76 +140,76 @@ On ARM devices, this function is simply an alias for `send_string_with_delay(str --- -### `void send_char(char ascii_code)` +### `void send_char(char ascii_code)` :id=api-send-char Type out an ASCII character. -#### Arguments +#### Arguments :id=api-send-char-arguments - `char ascii_code` The character to type. --- -### `void send_dword(uint32_t number)` +### `void send_dword(uint32_t number)` :id=api-send-dword Type out an eight digit (unsigned 32-bit) hexadecimal value. The format is `[0-9a-f]{8}`, eg. `00000000` through `ffffffff`. -#### Arguments +#### Arguments :id=api-send-dword-arguments - `uint32_t number` The value to type, from 0 to 4,294,967,295. --- -### `void send_word(uint16_t number)` +### `void send_word(uint16_t number)` :id=api-send-word Type out a four digit (unsigned 16-bit) hexadecimal value. The format is `[0-9a-f]{4}`, eg. `0000` through `ffff`. -#### Arguments +#### Arguments :id=api-send-word-arguments - `uint16_t number` The value to type, from 0 to 65,535. --- -### `void send_byte(uint8_t number)` +### `void send_byte(uint8_t number)` :id=api-send-bytes Type out a two digit (8-bit) hexadecimal value. The format is `[0-9a-f]{2}`, eg. `00` through `ff`. -#### Arguments +#### Arguments :id=api-send-byte-arguments - `uint8_t number` The value to type, from 0 to 255. --- -### `void send_nibble(uint8_t number)` +### `void send_nibble(uint8_t number)` :id=api-send-nibble Type out a single hexadecimal digit. The format is `[0-9a-f]{1}`, eg. `0` through `f`. -#### Arguments +#### Arguments :id=api-send-nibble-arguments - `uint8_t number` The value to type, from 0 to 15. --- -### `void tap_random_base64(void)` +### `void tap_random_base64(void)` :id=api-tap-random-base64 Type a pseudorandom character from the set `A-Z`, `a-z`, `0-9`, `+` and `/`. --- -### `SEND_STRING(string)` +### `SEND_STRING(string)` :id=api-send-string-macro Shortcut macro for `send_string_with_delay_P(PSTR(string), 0)`. @@ -217,7 +217,7 @@ On ARM devices, this define evaluates to `send_string_with_delay(string, 0)`. --- -### `SEND_STRING_DELAY(string, interval)` +### `SEND_STRING_DELAY(string, interval)` :id=api-send-string-delay-macro Shortcut macro for `send_string_with_delay_P(PSTR(string), interval)`. diff --git a/docs/flashing.md b/docs/flashing.md index 4fc88d31137..5a69c602b9b 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -322,6 +322,29 @@ Flashing sequence: 3. Flash a .bin file 4. Reset the device into application mode (may be done automatically) +## WB32 DFU + +Some keyboards produced for several commercial brands (GMMK, Akko, MonsGeek, Inland) use this bootloader. The `wb32-dfu-updater` utility is bundled with [QMK MSYS](https://msys.qmk.fm/) and [Glorious's build of QMK Toolbox](https://www.gloriousgaming.com/blogs/guides-resources/gmmk-2-qmk-installation-guide). If neither of these flashing methods is available for your OS, you will likely need to [compile the CLI version from source](https://github.com/WestberryTech/wb32-dfu-updater). + +The `info.json` setting for this bootloader is `wb32-dfu`. + +Compatible flashers: + +* [Glorious's build of QMK Toolbox](https://www.gloriousgaming.com/blogs/guides-resources/gmmk-2-qmk-installation-guide) (recommended GUI) +* [wb32-dfu-updater_cli](https://github.com/WestberryTech/wb32-dfu-updater) / `:flash` target in QMK (recommended command line) + ``` + wb32-dfu-updater_cli -t -s 0x8000000 -D + ``` + +Flashing sequence: + +1. Enter the bootloader using any of the following methods: + * Tap the `QK_BOOT` keycode + * Press the `RESET` button on the PCB +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) + ## tinyuf2 Keyboards may opt into supporting the tinyuf2 bootloader. This is currently only supported on F303/F401/F411. diff --git a/docs/i2c_driver.md b/docs/i2c_driver.md index f4e6c6619e6..92b666b5e34 100644 --- a/docs/i2c_driver.md +++ b/docs/i2c_driver.md @@ -72,7 +72,7 @@ Configuration-wise, you'll need to set up the peripheral as per your MCU's datas The following configuration values depend on the specific MCU in use. -### I2Cv1 :id=i2cv1 +### I2Cv1 :id=arm-configuration-i2cv1 * STM32F1xx * STM32F2xx @@ -88,7 +88,7 @@ See [this page](https://www.playembedded.org/blog/stm32-i2c-chibios/#7_I2Cv1_con |`I2C1_CLOCK_SPEED` |`100000` | |`I2C1_DUTY_CYCLE` |`STD_DUTY_CYCLE`| -### I2Cv2 :id=i2cv2 +### I2Cv2 :id=arm-configuration-i2cv2 * STM32F0xx * STM32F3xx @@ -105,9 +105,9 @@ See [this page](https://www.playembedded.org/blog/stm32-i2c-chibios/#8_I2Cv2_I2C |`I2C1_TIMINGR_SCLH` |`38U` | |`I2C1_TIMINGR_SCLL` |`129U` | -## Functions :id=functions +## API :id=api -### `void i2c_init(void)` +### `void i2c_init(void)` :id=api-i2c-init Initialize the I2C driver. This function must be called only once, before any of the below functions can be called. @@ -126,28 +126,28 @@ void i2c_init(void) { --- -### `i2c_status_t i2c_start(uint8_t address, uint16_t timeout)` +### `i2c_status_t i2c_start(uint8_t address, uint16_t timeout)` :id=api-i2c-start Start an I2C transaction. -#### Arguments +#### Arguments :id=api-i2c-start-arguments - `uint8_t address` The 7-bit I2C address of the device (ie. without the read/write bit - this will be set automatically). - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. -#### Return Value +#### Return Value :id=api-i2c-start-return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. --- -### `i2c_status_t i2c_transmit(uint8_t address, uint8_t *data, uint16_t length, uint16_t timeout)` +### `i2c_status_t i2c_transmit(uint8_t address, uint8_t *data, uint16_t length, uint16_t timeout)` :id=api-i2c-transmit Send multiple bytes to the selected I2C device. -#### Arguments +#### Arguments :id=api-i2c-transmit-arguments - `uint8_t address` The 7-bit I2C address of the device. @@ -158,17 +158,17 @@ Send multiple bytes to the selected I2C device. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. -#### Return Value +#### Return Value :id=api-i2c-transmit-return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. --- -### `i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout)` +### `i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-receive Receive multiple bytes from the selected I2C device. -#### Arguments +#### Arguments :id=api-i2c-receive-arguments - `uint8_t address` The 7-bit I2C address of the device. @@ -179,17 +179,17 @@ Receive multiple bytes from the selected I2C device. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. -#### Return Value +#### Return Value :id=api-i2c-receive-return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. --- -### `i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` +### `i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-writereg Writes to a register with an 8-bit address on the I2C device. -#### Arguments +#### Arguments :id=api-i2c-writereg-arguments - `uint8_t devaddr` The 7-bit I2C address of the device. @@ -202,17 +202,17 @@ Writes to a register with an 8-bit address on the I2C device. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. -#### Return Value +#### Return Value :id=api-i2c-writereg-return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. --- -### `i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` +### `i2c_status_t i2c_writeReg16(uint8_t devaddr, uint16_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-writereg16 Writes to a register with a 16-bit address (big endian) on the I2C device. -#### Arguments +#### Arguments :id=api-i2c-writereg16-arguments - `uint8_t devaddr` The 7-bit I2C address of the device. @@ -225,17 +225,17 @@ Writes to a register with a 16-bit address (big endian) on the I2C device. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. -#### Return Value +#### Return Value :id=api-i2c-writereg16-return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. --- -### `i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` +### `i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout)` :id=api-i2c-readreg Reads from a register with an 8-bit address on the I2C device. -#### Arguments +#### Arguments :id=api-i2c-readreg-arguments - `uint8_t devaddr` The 7-bit I2C address of the device. @@ -246,7 +246,7 @@ Reads from a register with an 8-bit address on the I2C device. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. -#### Return Value +#### Return Value :id=api-i2c-readreg-return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. @@ -256,7 +256,7 @@ Reads from a register with an 8-bit address on the I2C device. Reads from a register with a 16-bit address (big endian) on the I2C device. -#### Arguments +#### Arguments :id=api-i2c-readreg16-arguments - `uint8_t devaddr` The 7-bit I2C address of the device. @@ -267,12 +267,12 @@ Reads from a register with a 16-bit address (big endian) on the I2C device. - `uint16_t timeout` The time in milliseconds to wait for a response from the target device. -#### Return Value +#### Return Value :id=api-i2c-readreg16-return `I2C_STATUS_TIMEOUT` if the timeout period elapses, `I2C_STATUS_ERROR` if some other error occurs, otherwise `I2C_STATUS_SUCCESS`. --- -### `i2c_status_t i2c_stop(void)` +### `i2c_status_t i2c_stop(void)` :id=api-i2c-stop Stop the current I2C transaction. diff --git a/docs/ja/data_driven_config.md b/docs/ja/data_driven_config.md index bc8f4d24a54..6296173b66a 100644 --- a/docs/ja/data_driven_config.md +++ b/docs/ja/data_driven_config.md @@ -109,8 +109,8 @@ QMK が完全な `info.json` を生成するときはいつでも、`config.h` パズルの最後のピースは、ビルドシステムに新しいオプションを提供することです。 これは、2つのファイルを生成することによって行われます。 -* `.build/obj_/src/info_config.h` -* `.build/obj_/src/rules.mk` +* `.build/obj__/src/info_config.h` +* `.build/obj__/src/rules.mk` この2つのファイルは、次のコードによって生成されます。 diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index 65584a95381..d22e912e86a 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -132,6 +132,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - if using `MO(1)` and `MO(2)` keycodes together to access a third layer, the [Tri Layer](https://docs.qmk.fm/#/feature_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" - 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](https://docs.qmk.fm/#/feature_encoders?id=encoder-map), rather than `encoder_update_user()` - default keymap should not enable VIA -- the VIA integration documentation requires a keymap called `via` diff --git a/docs/quantum_keycodes.md b/docs/quantum_keycodes.md index bc68cbc9221..a41681ac85f 100644 --- a/docs/quantum_keycodes.md +++ b/docs/quantum_keycodes.md @@ -15,3 +15,5 @@ On this page we have documented keycodes between `0x00FF` and `0xFFFF` which are |`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory) | |`QK_MAKE` | |Sends `qmk compile -kb (keyboard) -km (keymap)`, or `qmk flash` if shift is held. Puts keyboard into bootloader mode if shift & control are held | |`QK_REBOOT` |`QK_RBT` |Resets the keyboard. Does not load the bootloader | + +!> Note: `QK_MAKE` requires `#define ENABLE_COMPILE_KEYCODE` in your config.h to function. diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md index 317a9d9f1a2..5e399183f8b 100644 --- a/docs/quantum_painter.md +++ b/docs/quantum_painter.md @@ -40,7 +40,7 @@ Supported devices: | `QUANTUM_PAINTER_NUM_FONTS` | `4` | The maximum number of fonts that can be loaded at any one time. | | `QUANTUM_PAINTER_CONCURRENT_ANIMATIONS` | `4` | The maximum number of animations that can be executed at the same time. | | `QUANTUM_PAINTER_LOAD_FONTS_TO_RAM` | `FALSE` | Whether or not fonts should be loaded to RAM. Relevant for fonts stored in off-chip persistent storage, such as external flash. | -| `QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE` | `32` | The limit of the amount of pixel data that can be transmitted in one transaction to the display. Higher values require more RAM on the MCU. | +| `QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE` | `1024` | The limit of the amount of pixel data that can be transmitted in one transaction to the display. Higher values require more RAM on the MCU. | | `QUANTUM_PAINTER_SUPPORTS_256_PALETTE` | `FALSE` | If 256-color palettes are supported. Requires significantly more RAM on the MCU. | | `QUANTUM_PAINTER_SUPPORTS_NATIVE_COLORS` | `FALSE` | If native color range is supported. Requires significantly more RAM on the MCU. | | `QUANTUM_PAINTER_DEBUG` | _unset_ | Prints out significant amounts of debugging information to CONSOLE output. Significant performance degradation, use only for debugging. | diff --git a/docs/spi_driver.md b/docs/spi_driver.md index a27a3a13d08..c1c6831e737 100644 --- a/docs/spi_driver.md +++ b/docs/spi_driver.md @@ -1,8 +1,8 @@ -# SPI Master Driver +# SPI Master Driver :id=spi-master-driver The SPI Master drivers used in QMK have a set of common functions to allow portability between MCUs. -## AVR Configuration +## AVR Configuration :id=avr-configuration No special setup is required - just connect the `SS`, `SCK`, `MOSI` and `MISO` pins of your SPI devices to the matching pins on the MCU: @@ -16,7 +16,7 @@ No special setup is required - just connect the `SS`, `SCK`, `MOSI` and `MISO` p You may use more than one slave select pin, not just the `SS` pin. This is useful when you have multiple devices connected and need to communicate with them individually. `SPI_SS_PIN` can be passed to `spi_start()` to refer to `SS`. -## ChibiOS/ARM Configuration +## ChibiOS/ARM Configuration :id=arm-configuration 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. @@ -49,19 +49,19 @@ Configuration-wise, you'll need to set up the peripheral as per your MCU's datas As per the AVR configuration, you may choose any other standard GPIO as a slave select pin, which should be supplied to `spi_start()`. -## Functions +## API :id=api -### `void spi_init(void)` +### `void spi_init(void)` :id=api-spi-init Initialize the SPI driver. This function must be called only once, before any of the below functions can be called. --- -### `bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor)` +### `bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor)` :id=api-spi-start Start an SPI transaction. -#### Arguments +#### Arguments :id=api-spi-start-arguments - `pin_t slavePin` The QMK pin to assert as the slave select pin, eg. `B4`. @@ -80,71 +80,71 @@ Start an SPI transaction. - `uint16_t divisor` The SPI clock divisor, will be rounded up to the nearest power of two. This number can be calculated by dividing the MCU's clock speed by the desired SPI clock speed. For example, an MCU running at 8 MHz wanting to talk to an SPI device at 4 MHz would set the divisor to `2`. -#### Return Value +#### Return Value :id=api-spi-start-return `false` if the supplied parameters are invalid or the SPI peripheral is already in use, or `true`. --- -### `spi_status_t spi_write(uint8_t data)` +### `spi_status_t spi_write(uint8_t data)` :id=api-spi-write Write a byte to the selected SPI device. -#### Arguments +#### Arguments :id=api-spi-write-arguments - `uint8_t data` The byte to write. -#### Return Value +#### Return Value :id=api-spi-write-return `SPI_STATUS_TIMEOUT` if the timeout period elapses, or `SPI_STATUS_SUCCESS`. --- -### `spi_status_t spi_read(void)` +### `spi_status_t spi_read(void)` :id=api-spi-read Read a byte from the selected SPI device. -#### Return Value +#### Return Value :id=api-spi-read-return `SPI_STATUS_TIMEOUT` if the timeout period elapses, or the byte read from the device. --- -### `spi_status_t spi_transmit(const uint8_t *data, uint16_t length)` +### `spi_status_t spi_transmit(const uint8_t *data, uint16_t length)` :id=api-spi-transmit Send multiple bytes to the selected SPI device. -#### Arguments +#### Arguments :id=api-spi-transmit-arguments - `const uint8_t *data` A pointer to the data to write from. - `uint16_t length` The number of bytes to write. Take care not to overrun the length of `data`. -#### Return Value +#### Return Value :id=api-spi-transmit-return `SPI_STATUS_TIMEOUT` if the timeout period elapses, `SPI_STATUS_ERROR` if some other error occurs, otherwise `SPI_STATUS_SUCCESS`. --- -### `spi_status_t spi_receive(uint8_t *data, uint16_t length)` +### `spi_status_t spi_receive(uint8_t *data, uint16_t length)` :id=api-spi-receive Receive multiple bytes from the selected SPI device. -#### Arguments +#### Arguments :id=api-spi-receive-arguments - `uint8_t *data` A pointer to the buffer to read into. - `uint16_t length` The number of bytes to read. Take care not to overrun the length of `data`. -#### Return Value +#### Return Value :id=api-spi-receive-return `SPI_STATUS_TIMEOUT` if the timeout period elapses, `SPI_STATUS_ERROR` if some other error occurs, otherwise `SPI_STATUS_SUCCESS`. --- -### `void spi_stop(void)` +### `void spi_stop(void)` :id=api-spi-stop End the current SPI transaction. This will deassert the slave select pin and reset the endianness, mode and divisor configured by `spi_start()`. diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index ce9e43cdaea..d5ced573826 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -88,6 +88,21 @@ Or if you're not using layers at all, you can outright remove the functionality #define NO_ACTION_LAYER ``` +## Magic keycodes + +There are two `__attribute__ ((weak))` placeholder functions available to customize magic keycodes. If you are not using that feature to swap keycodes, such as backslash with backspace, add the following to your `keymap.c` or user space code: +```c +uint16_t keycode_config(uint16_t keycode) { + return keycode; +} +``` +Likewise, if you are not using magic keycodes to swap modifiers, such as Control with GUI, add the following to your `keymap.c` or user space code: +```c +uint8_t mod_config(uint8_t mod) { + return mod; +} +``` +Both of them will overwrite the placeholder functions with a simple return statement to reduce firmware size. ## OLED tweaks diff --git a/docs/tap_hold.md b/docs/tap_hold.md index c50acdb84d8..094a10753a1 100644 --- a/docs/tap_hold.md +++ b/docs/tap_hold.md @@ -460,6 +460,31 @@ bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) { } ``` +If the programs you use bind an action to taps of modifier keys (e.g. tapping left GUI to bring up the applications menu or tapping left Alt to focus the menu bar), you may find that using retro-tapping falsely triggers those actions. To counteract this, you can define a `DUMMY_MOD_NEUTRALIZER_KEYCODE` in `config.h` that will get sent in between the register and unregister events of a held mod-tap key. That way, the programs on your computer will no longer interpret the mod suppression induced by retro-tapping as a lone tap of a modifier key and will thus not falsely trigger the undesired action. + +Naturally, for this technique to be effective, you must choose a `DUMMY_MOD_NEUTRALIZER_KEYCODE` for which no keyboard shortcuts are bound to. Recommended values are: `KC_RIGHT_CTRL` or `KC_F18`. +Please note that `DUMMY_MOD_NEUTRALIZER_KEYCODE` must be a basic, unmodified, HID keycode so values like `KC_NO`, `KC_TRANSPARENT` or `KC_PIPE` aka `S(KC_BACKSLASH)` are not permitted. + +By default, only left Alt and left GUI are neutralized. If you want to change the list of applicable modifier masks, use the following in your `config.h`: + +```c +#define MODS_TO_NEUTRALIZE { , , ... } +``` + +Examples: + +```c +#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_RIGHT_CTRL + +// Neutralize left alt and left GUI (Default value) +#define MODS_TO_NEUTRALIZE { MOD_BIT(KC_LEFT_ALT), MOD_BIT(KC_LEFT_GUI) } + +// Neutralize left alt, left GUI, right GUI and left Control+Shift +#define MODS_TO_NEUTRALIZE { MOD_BIT(KC_LEFT_ALT), MOD_BIT(KC_LEFT_GUI), MOD_BIT(KC_RIGHT_GUI), MOD_BIT(KC_LEFT_CTRL)|MOD_BIT(KC_LEFT_SHIFT) } +``` + +!> Do not use `MOD_xxx` constants like `MOD_LSFT` or `MOD_RALT`, since they're 5-bit packed bit-arrays while `MODS_TO_NEUTRALIZE` expects a list of 8-bit packed bit-arrays. Use `MOD_BIT()` or `MOD_MASK_xxx` instead. + ### Retro Shift [Auto Shift,](feature_auto_shift.md) has its own version of `retro tapping` called `retro shift`. It is extremely similar to `retro tapping`, but holding the key past `AUTO_SHIFT_TIMEOUT` results in the value it sends being shifted. Other configurations also affect it differently; see [here](feature_auto_shift.md#retro-shift) for more information. diff --git a/docs/uart_driver.md b/docs/uart_driver.md index 340b6481892..a44f2c28d99 100644 --- a/docs/uart_driver.md +++ b/docs/uart_driver.md @@ -1,10 +1,10 @@ -# UART Driver +# UART Driver :id=uart-driver The UART drivers used in QMK have a set of common functions to allow portability between MCUs. Currently, this driver does not support enabling hardware flow control (the `RTS` and `CTS` pins) if available, but may do so in future. -## AVR Configuration +## AVR Configuration :id=avr-configuration No special setup is required - just connect the `RX` and `TX` pins of your UART device to the opposite pins on the MCU: @@ -16,7 +16,7 @@ No special setup is required - just connect the `RX` and `TX` pins of your UART |ATmega32A |`D1`|`D0`|*n/a*|*n/a*| |ATmega328/P |`D1`|`D0`|*n/a*|*n/a*| -## ChibiOS/ARM Configuration +## ChibiOS/ARM Configuration :id=arm-configuration You'll need to determine which pins can be used for UART -- as an example, STM32 parts generally have multiple UART peripherals, labeled USART1, USART2, USART3 etc. @@ -47,45 +47,45 @@ Configuration-wise, you'll need to set up the peripheral as per your MCU's datas |`#define SD1_RTS_PIN` |The pin to use for RTS |`A12` | |`#define SD1_RTS_PAL_MODE`|The alternate function mode for RTS |`7` | -## Functions +## API :id=api -### `void uart_init(uint32_t baud)` +### `void uart_init(uint32_t baud)` :id=api-uart-init Initialize the UART driver. This function must be called only once, before any of the below functions can be called. -#### Arguments +#### Arguments :id=api-uart-init-arguments - `uint32_t baud` The baud rate to transmit and receive at. This may depend on the device you are communicating with. Common values are 1200, 2400, 4800, 9600, 19200, 38400, 57600, and 115200. --- -### `void uart_write(uint8_t data)` +### `void uart_write(uint8_t data)` :id=api-uart-write Transmit a single byte. -#### Arguments +#### Arguments :id=api-uart-write-arguments - `uint8_t data` The byte to write. --- -### `uint8_t uart_read(void)` +### `uint8_t uart_read(void)` :id=api-uart-read Receive a single byte. -#### Return Value +#### Return Value :id=api-uart-read-return The byte read from the receive buffer. This function will block if the buffer is empty (ie. no data to read). --- -### `void uart_transmit(const uint8_t *data, uint16_t length)` +### `void uart_transmit(const uint8_t *data, uint16_t length)` :id=api-uart-transmit Transmit multiple bytes. -#### Arguments +#### Arguments :id=api-uart-transmit-arguments - `const uint8_t *data` A pointer to the data to write from. @@ -94,11 +94,11 @@ Transmit multiple bytes. --- -### `void uart_receive(char *data, uint16_t length)` +### `void uart_receive(char *data, uint16_t length)` :id=api-uart-receive Receive multiple bytes. -#### Arguments +#### Arguments :id=api-uart-receive-arguments - `uint8_t *data` A pointer to the buffer to read into. @@ -107,10 +107,10 @@ Receive multiple bytes. --- -### `bool uart_available(void)` +### `bool uart_available(void)` :id=api-uart-available Return whether the receive buffer contains data. Call this function to determine if `uart_read()` will return data immediately. -#### Return Value +#### Return Value :id=api-uart-available-return `true` if the receive buffer length is non-zero. diff --git a/quantum/backlight/backlight_software.c b/drivers/backlight/backlight_software.c similarity index 98% rename from quantum/backlight/backlight_software.c rename to drivers/backlight/backlight_software.c index 27ccbd2c9ff..f2af3e918e5 100644 --- a/quantum/backlight/backlight_software.c +++ b/drivers/backlight/backlight_software.c @@ -1,6 +1,6 @@ -#include "quantum.h" #include "backlight.h" #include "backlight_driver_common.h" +#include "util.h" #ifdef BACKLIGHT_BREATHING # error "Backlight breathing is not available for software PWM. Please disable." diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 40fc68e4f11..5cfa2f8c320 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -16,7 +16,7 @@ */ #include "apa102.h" -#include "quantum.h" +#include "gpio.h" #ifndef APA102_NOPS # if defined(__AVR__) diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c index 782d1c6f78b..d90fd8587f0 100644 --- a/drivers/led/issi/is31fl3733-simple.c +++ b/drivers/led/issi/is31fl3733-simple.c @@ -193,8 +193,9 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) { } void IS31FL3733_set_value(int index, uint8_t value) { + is31_led led; if (index >= 0 && index < LED_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[index]; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); if (g_pwm_buffer[led.driver][led.v] == value) { return; @@ -211,7 +212,8 @@ void IS31FL3733_set_value_all(uint8_t value) { } void IS31FL3733_set_led_control_register(uint8_t index, bool value) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); uint8_t control_register = led.v / 8; uint8_t bit_value = led.v % 8; diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h index 1571fdd3d58..bd61082f42d 100644 --- a/drivers/led/issi/is31fl3733-simple.h +++ b/drivers/led/issi/is31fl3733-simple.h @@ -30,7 +30,7 @@ typedef struct is31_led { uint8_t v; } __attribute__((packed)) is31_led; -extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT]; +extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT]; void IS31FL3733_init(uint8_t addr, uint8_t sync); bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31flcommon.c b/drivers/led/issi/is31flcommon.c index 40b162beb30..4b78947ada3 100644 --- a/drivers/led/issi/is31flcommon.c +++ b/drivers/led/issi/is31flcommon.c @@ -133,11 +133,14 @@ void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index) { #ifdef ISSI_MANUAL_SCALING void IS31FL_set_manual_scaling_buffer(void) { + is31_led led; + is31_led scale; for (int i = 0; i < ISSI_MANUAL_SCALING; i++) { - is31_led scale = g_is31_scaling[i]; + memcpy_P(&scale, (&g_is31_scaling[i]), sizeof(scale)); + # ifdef RGB_MATRIX_ENABLE if (scale.driver >= 0 && scale.driver < RGB_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[scale.driver]; + memcpy_P(&led, (&g_is31_leds[scale.driver]), sizeof(led)); if (g_scaling_buffer[led.driver][led.r] = scale.r && g_scaling_buffer[led.driver][led.g] = scale.g && g_scaling_buffer[led.driver][led.b] = scale.b) { return; @@ -147,7 +150,7 @@ void IS31FL_set_manual_scaling_buffer(void) { g_scaling_buffer[led.driver][led.b] = scale.b; # elif defined(LED_MATRIX_ENABLE) if (scale.driver >= 0 && scale.driver < LED_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[scale.driver]; + memcpy_P(&led, (&g_is31_leds[scale.driver]), sizeof(led)); if (g_scaling_buffer[led.driver][led.v] == scale.v) { return; @@ -175,7 +178,8 @@ void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index) { // Colour is set by adjusting PWM register void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); g_pwm_buffer[led.driver][led.r] = red; g_pwm_buffer[led.driver][led.g] = green; @@ -192,7 +196,8 @@ void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { // Setup Scaling register that decides the peak current of each LED void IS31FL_RGB_set_scaling_buffer(uint8_t index, bool red, bool green, bool blue) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); if (red) { g_scaling_buffer[led.driver][led.r] = ISSI_SCAL_RED; } else { @@ -214,7 +219,8 @@ void IS31FL_RGB_set_scaling_buffer(uint8_t index, bool red, bool green, bool blu #elif defined(LED_MATRIX_ENABLE) // LED Matrix Specific scripts void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); if (value) { g_scaling_buffer[led.driver][led.v] = ISSI_SCAL_LED; } else { @@ -225,7 +231,9 @@ void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value) { void IS31FL_simple_set_brightness(int index, uint8_t value) { if (index >= 0 && index < LED_MATRIX_LED_COUNT) { - is31_led led = g_is31_leds[index]; + is31_led led; + memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); + g_pwm_buffer[led.driver][led.v] = value; g_pwm_buffer_update_required[led.driver] = true; } diff --git a/drivers/led/issi/is31flcommon.h b/drivers/led/issi/is31flcommon.h index 18432ffc312..4b3add558b6 100644 --- a/drivers/led/issi/is31flcommon.h +++ b/drivers/led/issi/is31flcommon.h @@ -43,7 +43,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT]; +extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; #elif defined(LED_MATRIX_ENABLE) typedef struct is31_led { @@ -51,11 +51,11 @@ typedef struct is31_led { uint8_t v; } __attribute__((packed)) is31_led; -extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT]; +extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT]; #endif #ifdef ISSI_MANUAL_SCALING -extern const is31_led __flash g_is31_scaling[]; +extern const is31_led PROGMEM g_is31_scaling[]; void IS31FL_set_manual_scaling_buffer(void); #endif diff --git a/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h b/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h index 47bb7036489..f57e638e034 100644 --- a/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h +++ b/drivers/painter/ili9xxx/qp_ili9xxx_opcodes.h @@ -19,8 +19,8 @@ #define ILI9XXX_CMD_SLEEP_OFF 0x11 // Exist sleep mode #define ILI9XXX_CMD_PARTIAL_ON 0x12 // Enter partial mode #define ILI9XXX_CMD_PARTIAL_OFF 0x13 // Exit partial mode -#define ILI9XXX_CMD_INVERT_ON 0x20 // Enter inverted mode -#define ILI9XXX_CMD_INVERT_OFF 0x21 // Exit inverted mode +#define ILI9XXX_CMD_INVERT_OFF 0x20 // Exit inverted mode +#define ILI9XXX_CMD_INVERT_ON 0x21 // Enter inverted mode #define ILI9XXX_SET_GAMMA 0x26 // Set gamma params #define ILI9XXX_CMD_DISPLAY_OFF 0x28 // Disable display #define ILI9XXX_CMD_DISPLAY_ON 0x29 // Enable display diff --git a/drivers/ps2/ps2_mouse.c b/drivers/ps2/ps2_mouse.c index d6911d66f21..ae594c94bc5 100644 --- a/drivers/ps2/ps2_mouse.c +++ b/drivers/ps2/ps2_mouse.c @@ -191,13 +191,12 @@ static inline void ps2_mouse_convert_report_to_hid(report_mouse_t *mouse_report) #ifdef PS2_MOUSE_INVERT_BUTTONS // swap left & right buttons - uint8_t needs_left = mouse_report->buttons & PS2_MOUSE_BTN_RIGHT; - uint8_t needs_right = mouse_report->buttons & PS2_MOUSE_BTN_LEFT; - mouse_report->buttons = (mouse_report->buttons & ~(PS2_MOUSE_BTN_MASK)) | (needs_left ? PS2_MOUSE_BTN_LEFT : 0) | (needs_right ? PS2_MOUSE_BTN_RIGHT : 0); -#else + bool needs_left = mouse_report->buttons & (1 << PS2_MOUSE_BTN_RIGHT); + bool needs_right = mouse_report->buttons & (1 << PS2_MOUSE_BTN_LEFT); + mouse_report->buttons = (mouse_report->buttons & ~((1 << PS2_MOUSE_BTN_LEFT) | (1 << PS2_MOUSE_BTN_RIGHT))) | (needs_left << PS2_MOUSE_BTN_LEFT) | (needs_right << PS2_MOUSE_BTN_RIGHT); +#endif // remove sign and overflow flags mouse_report->buttons &= PS2_MOUSE_BTN_MASK; -#endif #ifdef PS2_MOUSE_INVERT_X mouse_report->x = -mouse_report->x; diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h index 88523b8420a..b30ee3d5966 100644 --- a/drivers/sensors/pmw33xx_common.h +++ b/drivers/sensors/pmw33xx_common.h @@ -10,7 +10,7 @@ #pragma once -#include "quantum.h" //to get is_keyboard_left +#include "keyboard.h" #include #include "spi_master.h" #include "util.h" diff --git a/keyboards/0_sixty/underglow/config.h b/keyboards/0_sixty/underglow/config.h index 6efe6e18cdb..2d4eaa013a8 100644 --- a/keyboards/0_sixty/underglow/config.h +++ b/keyboards/0_sixty/underglow/config.h @@ -18,7 +18,6 @@ /* underglow */ -#define RGBLED_NUM 24 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/0_sixty/underglow/info.json b/keyboards/0_sixty/underglow/info.json index 24914915616..89a35f9a1ce 100644 --- a/keyboards/0_sixty/underglow/info.json +++ b/keyboards/0_sixty/underglow/info.json @@ -10,6 +10,7 @@ "pin": "B6" }, "rgblight": { + "led_count": 24, "max_brightness": 185 } } diff --git a/keyboards/0xcb/1337/config.h b/keyboards/0xcb/1337/config.h index cf4ea821bf4..2d85a923872 100644 --- a/keyboards/0xcb/1337/config.h +++ b/keyboards/0xcb/1337/config.h @@ -18,13 +18,6 @@ along with this program. If not, see . // clang-format off -#define TAP_CODE_DELAY 10 - - #define RGBLED_NUM 4 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/0xcb/1337/info.json b/keyboards/0xcb/1337/info.json index a0b04ba7df5..c72cd83f5d3 100644 --- a/keyboards/0xcb/1337/info.json +++ b/keyboards/0xcb/1337/info.json @@ -18,9 +18,18 @@ {"pin_a": "F6", "pin_b": "F5"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "qmk_lufa_bootloader": { "led": "B0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/0xcb/static/config.h b/keyboards/0xcb/static/config.h index 10b1f88216f..179c84088bb 100644 --- a/keyboards/0xcb/static/config.h +++ b/keyboards/0xcb/static/config.h @@ -16,8 +16,6 @@ along with this program. If not, see . */ #pragma once -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/0xcb/static/info.json b/keyboards/0xcb/static/info.json index 7a678a01942..97f5e53cadb 100644 --- a/keyboards/0xcb/static/info.json +++ b/keyboards/0xcb/static/info.json @@ -18,6 +18,9 @@ {"pin_a": "D0", "pin_b": "D1"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega328p", "bootloader": "usbasploader", "layout_aliases": { diff --git a/keyboards/0xcb/tutelpad/config.h b/keyboards/0xcb/tutelpad/config.h index f64205d126e..08d69e01003 100644 --- a/keyboards/0xcb/tutelpad/config.h +++ b/keyboards/0xcb/tutelpad/config.h @@ -16,13 +16,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 4 // Number of LEDs connected - -#define RGBLIGHT_HUE_STEP 10 // The number of steps to cycle through the hue by -#define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by -#define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by -#define RGBLIGHT_SLEEP // RGB will switch off when host goes to sleep - #define RGBLIGHT_EFFECT_BREATHING // Enable all additional RGB animation modes #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/0xcb/tutelpad/info.json b/keyboards/0xcb/tutelpad/info.json index 79fdf0af458..7c23d0b2bcf 100644 --- a/keyboards/0xcb/tutelpad/info.json +++ b/keyboards/0xcb/tutelpad/info.json @@ -11,6 +11,11 @@ "bootmagic": { "matrix": [1, 0] }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/10bleoledhub/config.h b/keyboards/10bleoledhub/config.h index ae376dfa531..d5ec7364361 100644 --- a/keyboards/10bleoledhub/config.h +++ b/keyboards/10bleoledhub/config.h @@ -18,8 +18,6 @@ along with this program. If not, see .*/ #define SSD1306OLED -#define RGBLED_NUM 4 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/10bleoledhub/info.json b/keyboards/10bleoledhub/info.json index 9b536e0677f..15d4702427b 100644 --- a/keyboards/10bleoledhub/info.json +++ b/keyboards/10bleoledhub/info.json @@ -8,6 +8,9 @@ "pid": "0x7C99", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/1k/config.h b/keyboards/1k/config.h index afdc6d4baab..0d0cd3712a7 100644 --- a/keyboards/1k/config.h +++ b/keyboards/1k/config.h @@ -15,8 +15,6 @@ */ #pragma once -#define RGBLED_NUM 1 - // Save as much space as we can... #define LAYER_STATE_8BIT #define NO_ACTION_LAYER diff --git a/keyboards/1k/info.json b/keyboards/1k/info.json index 090e93b94bd..34f33d50595 100644 --- a/keyboards/1k/info.json +++ b/keyboards/1k/info.json @@ -8,6 +8,9 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h index bc0d7f0c4bc..62c2837ebec 100644 --- a/keyboards/1upkeyboards/1up60hse/config.h +++ b/keyboards/1upkeyboards/1up60hse/config.h @@ -27,11 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/1upkeyboards/1up60hse/info.json b/keyboards/1upkeyboards/1up60hse/info.json index 475a9351237..cc0b9d1d7ea 100644 --- a/keyboards/1upkeyboards/1up60hse/info.json +++ b/keyboards/1upkeyboards/1up60hse/info.json @@ -18,6 +18,12 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/1upkeyboards/1up60hte/config.h b/keyboards/1upkeyboards/1up60hte/config.h index aeda8afd338..e0d482302d5 100644 --- a/keyboards/1upkeyboards/1up60hte/config.h +++ b/keyboards/1upkeyboards/1up60hte/config.h @@ -34,7 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/1upkeyboards/1up60hte/info.json b/keyboards/1upkeyboards/1up60hte/info.json index 712999df325..c1a8f48372f 100644 --- a/keyboards/1upkeyboards/1up60hte/info.json +++ b/keyboards/1upkeyboards/1up60hte/info.json @@ -20,6 +20,11 @@ "caps_lock": "B6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h index 8bbb646e40d..d702489ee7a 100644 --- a/keyboards/1upkeyboards/1up60rgb/config.h +++ b/keyboards/1upkeyboards/1up60rgb/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/1upkeyboards/1up60rgb/info.json b/keyboards/1upkeyboards/1up60rgb/info.json index ee6914a4e59..0108b2e8280 100644 --- a/keyboards/1upkeyboards/1up60rgb/info.json +++ b/keyboards/1upkeyboards/1up60rgb/info.json @@ -17,6 +17,11 @@ "pin": "B6", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c index 15b7c9faa71..5792f51ca82 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c @@ -18,12 +18,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { setPinOutput(B2); writePinLow(B2); } else { setPinInput(B2); writePinLow(B2); } + return false; } diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/iso/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/iso/keymap.c index fd6087a2388..20783c22cba 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/iso/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/iso/keymap.c @@ -18,12 +18,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { setPinOutput(B2); writePinLow(B2); } else { setPinInput(B2); writePinLow(B2); } + return false; } diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c index d0c47c526da..453bf8c9617 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c @@ -71,42 +71,12 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _raise, _rgb, _adjust); } - -// scan matrix -void matrix_scan_user(void) { -} - // support for standard mod state keys (caps lock, scroll lock, etc.) -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { DDRB |= (1 << 2); PORTB &= ~(1 << 2); } else { DDRB &= ~(1 << 2); PORTB &= ~(1 << 2); } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - + return false; } diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c index a45947de54b..5cc92278859 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c @@ -18,12 +18,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { setPinOutput(B2); writePinLow(B2); } else { setPinInput(B2); writePinLow(B2); } + return false; } diff --git a/keyboards/1upkeyboards/1upocarina/config.h b/keyboards/1upkeyboards/1upocarina/config.h new file mode 100644 index 00000000000..4431ef6bdbc --- /dev/null +++ b/keyboards/1upkeyboards/1upocarina/config.h @@ -0,0 +1,70 @@ +/* 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 . + */ + +#pragma once + +#define RGB_MATRIX_LED_COUNT 32 +#define RGB_MATRIX_KEYPRESSES // reacts to keypresses + +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +// # 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 diff --git a/keyboards/1upkeyboards/1upocarina/info.json b/keyboards/1upkeyboards/1upocarina/info.json new file mode 100644 index 00000000000..6b37eef2b5e --- /dev/null +++ b/keyboards/1upkeyboards/1upocarina/info.json @@ -0,0 +1,96 @@ +{ + "manufacturer": "1upkeyboards", + "keyboard_name": "1upocarina", + "maintainer": "ziptyze", + "processor": "RP2040", + "bootloader": "rp2040", + "board": "GENERIC_RP_RP2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x5607", + "vid": "0x6F75" + }, + "dynamic_keymap": { + "layer_count": 10 + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": false, + "rgb_matrix": true + }, + "encoder": { + "enabled": true, + "rotary": [ + { + "pin_a": "GP25", "pin_b": "GP26" + } + ] + }, + "matrix_pins": { + "direct": [ + ["GP28", "GP29", "GP27", "GP1", "GP2"] + ] + }, + "ws2812": { + "pin": "GP24" + }, + "rgb_matrix": { + "driver": "WS2812", + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 23, "y": 26 }, + { "flags": 4, "matrix": [0, 1], "x": 62, "y": 26 }, + { "flags": 4, "matrix": [0, 2], "x": 112, "y": 34 }, + { "flags": 4, "matrix": [0, 3], "x": 161, "y": 26 }, + { "flags": 4, "matrix": [0, 4], "x": 200, "y": 26 }, + + { "flags": 2, "x": 133, "y": 3 }, + { "flags": 2, "x": 154, "y": 3 }, + { "flags": 2, "x": 174, "y": 3 }, + { "flags": 2, "x": 194, "y": 3 }, + { "flags": 2, "x": 218, "y": 5 }, + + { "flags": 2, "x": 221, "y": 19 }, + { "flags": 2, "x": 221, "y": 31 }, + { "flags": 2, "x": 221, "y": 44 }, + { "flags": 2, "x": 217, "y": 58 }, + { "flags": 2, "x": 195, "y": 61 }, + + { "flags": 2, "x": 174, "y": 61 }, + { "flags": 2, "x": 154, "y": 61 }, + { "flags": 2, "x": 133, "y": 61 }, + { "flags": 2, "x": 112, "y": 61 }, + { "flags": 2, "x": 91, "y": 61 }, + + { "flags": 2, "x": 70, "y": 61 }, + { "flags": 2, "x": 49, "y": 61 }, + { "flags": 2, "x": 28, "y": 61 }, + { "flags": 2, "x": 5, "y": 58 }, + { "flags": 2, "x": 2, "y": 44 }, + + { "flags": 2, "x": 2, "y": 31 }, + { "flags": 2, "x": 2, "y": 19 }, + { "flags": 2, "x": 5, "y": 5 }, + { "flags": 2, "x": 28, "y": 3 }, + { "flags": 2, "x": 49, "y": 3 }, + + { "flags": 2, "x": 70, "y": 3 }, + { "flags": 2, "x": 91, "y": 3 } + ] + }, + "layouts": { + "LAYOUT_1x5": { + "layout": [ + { "label": "z", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "x", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "esc", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "c", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "v", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 } + ] + } + } +} diff --git a/keyboards/1upkeyboards/1upocarina/keymaps/default/keymap.c b/keyboards/1upkeyboards/1upocarina/keymaps/default/keymap.c new file mode 100644 index 00000000000..86e3f440fee --- /dev/null +++ b/keyboards/1upkeyboards/1upocarina/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* 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/default/rules.mk b/keyboards/1upkeyboards/1upocarina/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/1upkeyboards/1upocarina/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/1upkeyboards/1upocarina/keymaps/via/keymap.c b/keyboards/1upkeyboards/1upocarina/keymaps/via/keymap.c new file mode 100644 index 00000000000..86e3f440fee --- /dev/null +++ b/keyboards/1upkeyboards/1upocarina/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +/* 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 new file mode 100644 index 00000000000..bf70b1f3e09 --- /dev/null +++ b/keyboards/1upkeyboards/1upocarina/keymaps/via/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes + +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/1upocarina/readme.md b/keyboards/1upkeyboards/1upocarina/readme.md new file mode 100644 index 00000000000..280c9f01d6d --- /dev/null +++ b/keyboards/1upkeyboards/1upocarina/readme.md @@ -0,0 +1,22 @@ +# 1upocarina + +This keyboard is the Ocarina from 1upkeyboards. It is a five button keypad designed for osu. There is an option to add an encoder to the center position, and the keypad features in-switch per-key addressable RGB leds, as well as 27 right angle underglow RGB leds for very bright and smooth lighting effects. + +* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze) + +Make example for this keyboard (after setting up your build environment): + + make 1upkeyboards/1upocarina:default + +Flashing example for this keyboard: + + make 1upkeyboards/1upocarina: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 or Escape) and plug in the keyboard +* **Physical reset button**: Hold the button on the back of the PCB and plug in the keyboard diff --git a/keyboards/1upkeyboards/1upocarina/rules.mk b/keyboards/1upkeyboards/1upocarina/rules.mk new file mode 100644 index 00000000000..8e853e0af70 --- /dev/null +++ b/keyboards/1upkeyboards/1upocarina/rules.mk @@ -0,0 +1 @@ +WS2812_DRIVER = vendor \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/config.h b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/config.h new file mode 100644 index 00000000000..834b7ee0ab2 --- /dev/null +++ b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/config.h @@ -0,0 +1,13 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once + +# define TAPPING_TERM 160 +# define TAPPING_TERM_PER_KEY +# define HOLD_ON_OTHER_KEY_PRESS +# define QUICK_TAP_TERM TAPPING_TERM / 2 +# define QUICK_TAP_TERM_PER_KEY + + + diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/keymap.c b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/keymap.c new file mode 100644 index 00000000000..636aad675bc --- /dev/null +++ b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/keymap.c @@ -0,0 +1,290 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#include "miketronic.h" + + + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Workman + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ TAB │ Q │ D │ R │ W │ B │ │ J │ F │ U │ P │ BSPC│ BSPC│ + * │ ESC │ ESC │ │ │ │ SYM │ │ SYM │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┼─────┤ + * │ TAB │ A │ S │ H ┃ T ┃ G │ │ Y ┃ N ┃ E │ O │ I │ │ + * │SHIFT│ │ │ ┃ EX ┃ │ │ ┃ ┃ │ │ENTER│ENTER│ + * ├─────┼─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┼─────┤ + * │SHIFT| Z │ X │ M │ C │ V │ │ K │ L │ SPC │ SPC │ / │ UP | + * │ │ │ │ │ │ │ │ │ │ , │ . │ │RIGHT| + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ FN │CTRL │ OS │ ALT │LOWER│ │ │ │RAISE│ SS │CLIP │COPY │ DN │ + * │ │ │ │ │ │ │ │ │ │ │ │PASTE│LEFT │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ + */ + + [_WM] = LAYOUT_ortho_4x12_wrapper ( + RGB_TOG, + _____________WORKMAN_412_001_L_____________, _____________WORKMAN_412_001_R_____________, + _____________WORKMAN_412_002_L_____________, _____________WORKMAN_412_002_R_____________, + _____________WORKMAN_412_003_L_____________, _____________WORKMAN_412_003_R_____________, + _____________WORKMAN_412_004_L_____________, _____________WORKMAN_412_004_R_____________ + ), + + [_QW] = LAYOUT_ortho_4x12_wrapper ( + RGB_TOG, + KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, + KC_ESC, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, + KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_ENT, + _____________WORKMAN_412_004_L_____________, _____________WORKMAN_412_004_R_____________ + ), + + + + + /* Lower + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ │ () │ [] │ /\ │ │ │ │ │ 7 │ 8 │ 9 │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┼─────┤ + * │ │ @ # │ & % │ ┃ ┃ │ │ ┃ 4 ┃ 5 │ 6 │ │ │ + * │ │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ │ + * ├─────┼─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ 0 │ 1 │ 2 │ 3 │ │ UP │ + * │ │ │ │ │ │ │ │ │ │ 0 │ │ │RIGHT│ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │LOWER│ │ │ │BPSC │ SPC │ . │ │ DN │ + * │ │ │ │ │ │ │ │ │ │ │ ENT │ │LEFT │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ + */ + [_LOWER] = LAYOUT_ortho_4x12_wrapper ( + KC_MUTE, + _______________LOWER_412_L1________________, _______________LOWER_412_R1________________, + _______________LOWER_412_L2________________, _______________LOWER_412_R2________________, + _______________LOWER_412_L3________________, _______________LOWER_412_R3________________, + _______________LOWER_412_L4________________, _______________LOWER_412_R4________________ + ), + + + /* RAISE + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │BOOT │DEBUG│ │ │ │MAKE │ │ │ │ F7 │ F8 │ F9 │ F10 │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┼─────┤ + * │ │ RGB | RGB | RGB ┃ RGB ┃ WM │ │ ┃ / \ ┃ F4 │ F5 │ F6 │ F11 │ + * │ │ TOG │ MOD │ HUI ┃ HUD ┃ │ │ ┃ ┃ │ │ │ │ + * ├─────┼─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┼─────┤ + * │ │ RGB │ RGB │ RGB │ RGB │ QW │ │ │ _ │ F1 | F2 | F3 │ F12 │ + * │ │ SAI │ SAD │ VAI │ VAD │ │ │ │ - │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │RAISE│ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ + */ + [_RAISE] = LAYOUT_ortho_4x12_wrapper ( + KC_MUTE, + _______________RAISE_412_L1________________, _______________RAISE_412_R1________________, + _______________RAISE_412_L2________________, _______________RAISE_412_R2________________, + _______________RAISE_412_L3________________, _______________RAISE_412_R3________________, + _________________BLANK_6___________________, _________________BLANK_6___________________ + ), + + + /* EXTRAS + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ │ ! │ │ │ │ │ │ │ /\ | [ | ] | ; │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┼─────┤ + * │SHIFT│ | |EXTRA┃ ┃ │ │ ┃ @ # ┃ & % | | ' | │ + * │ │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ │ + * ├─────┼─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ , | . | ? │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ + */ + [_EX] = LAYOUT_ortho_4x12_wrapper ( + KC_MUTE, + ______________EXTRAS_412_L1________________, ______________EXTRAS_412_R1________________, + ______________EXTRAS_412_L2________________, ______________EXTRAS_412_R2________________, + ______________EXTRAS_412_L3________________, ______________EXTRAS_412_R3________________, + ______________EXTRAS_412_L4________________, ______________EXTRAS_412_R4________________ + ), + + + + /* FUNCTION + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │COPY │CLIP │ SS │ │ │ │ │ │ /\ │ UP │ │ │ DEL │ + * │PASTE│ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┼─────┤ + * │TAB │ M05 | M06 | M07 ┃ M08 ┃ │ │ ┃LEFT ┃DOWN │RIGHT│ │UP │ + * │SHIFT│ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │RIGHT│ + * ├─────┼─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┼─────┤ + * │ │ M01 │ M02 │ M03 │ M04 │ │ │ │ │ , | . | ? │DOWN │ + * │ │ │ │ │ │ │ │ │ │ │ │ │LEFT │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │RGB1 │RGB2 │RGB3 │RGB4 │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ + */ + [_FN] = LAYOUT_ortho_4x12_wrapper ( + KC_MUTE, + _____________FUNCTION_412_L1_______________, _____________FUNCTION_412_R1_______________, + _____________FUNCTION_412_L2_______________, _____________FUNCTION_412_R2_______________, + _____________FUNCTION_412_L3_______________, _____________FUNCTION_412_R3_______________, + _____________FUNCTION_412_L4_______________, _____________FUNCTION_412_R4_______________ + ), + + + /* SYMBOLS + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ | $ | ^ | < | > │ SYMB│ │ SYMB│ | | [ | ] | - | | + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┼─────┤ + * │ | % | : | ; ┃ + ┃ = │ │ ┃ ┃ ( | ) | _ | | + * │ │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ │ + * ├─────┼─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┼─────┤ + * | | & | ' | " | * | # │ │ ! | ? | / | \ | @ | | + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ + */ + + [_SYMB] = LAYOUT_ortho_4x12_wrapper ( + KC_MUTE, + _______, _____________SYMBOLS_310_L1________________, _____________SYMBOLS_310_R1________________, _______, + _______, _____________SYMBOLS_310_L2________________, _____________SYMBOLS_310_R2________________, _______, + _______, _____________SYMBOLS_310_L3________________, _____________SYMBOLS_310_R3________________, _______, + _________________BLANK_6___________________, _________________BLANK_6___________________ + ) + +}; + +#ifndef NUM_DIRECTIONS +# define NUM_DIRECTIONS 2 +#endif + +#if defined(ENCODER_MAP_ENABLE) && defined(KEYBOARD_1upkeyboards_pi40_mit_v1_0) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_WM] = { ENCODER_CCW_CW(LCTL(KC_V), LCTL(KC_C)) }, + [_QW] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(____, ____) }, + [_RAISE] = { ENCODER_CCW_CW(____, ____) }, + [_EX] = { ENCODER_CCW_CW(____, ____) }, + [_FN] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) }, + [_SYMB] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif + + +#ifdef OLED_ENABLE +bool oled_task_user(void) { + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + + switch (get_highest_layer(layer_state)) { + case _LOWER: + oled_write_P(PSTR("LOWER"), false); + break; + case _RAISE: + oled_write_P(PSTR("RAISE"), false); + break; + case _EX: + oled_write_P(PSTR("EXTRA"), false); + break; + case _FN: + oled_write_P(PSTR("FUNCTION"), false); + break; + case _WM: + oled_write_P(PSTR("WORKMAN"), false); + break; + case _SYMB: + oled_write_P(PSTR("SYMBOLS"), false); + break; + default: + // Or use the write_ln shortcut over adding '\n' to the end of your string + oled_write_ln_P(PSTR("HOME"), false); + } + +// Host Keyboard LED Status + // 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_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + + return false; +} +#endif + + +bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SFT_T(KC_A): + // Do not force the mod-tap key press to be handled as a modifier + // if any other key was pressed while the mod-tap key is held down. + return false; + case TEX: + return false; + case CTRLX: + return false; + case FNZ: + return false; + case MGUI: + return false; + case VLOWER: + return false; + case KRAISE: + return false; + default: + // Force the dual-role key press to be handled as a modifier if any + // other key was pressed while the mod-tap key is held down. + return true; + } +} + +#ifdef AUDIO_ENABLE +float leader_start_song[][2] = SONG(ONE_UP_SOUND); +float leader_succeed_song[][2] = SONG(ALL_STAR); +float leader_fail_song[][2] = SONG(RICK_ROLL); +#endif + +void matrix_scan_user(void); + +void leader_start_user(void) { +#ifdef AUDIO_ENABLE + PLAY_SONG(leader_start_song); +#endif +} + +bool did_leader_succeed; + +void leader_end_user(void) { + did_leader_succeed = false; + + if (leader_sequence_one_key(KC_E)) { + SEND_STRING(SS_LCTL(SS_LSFT("t"))); + did_leader_succeed = true; + } else if (leader_sequence_two_keys(KC_E, KC_D)) { + SEND_STRING(SS_LGUI("r") "cmd\n" SS_LCTL("c")); + did_leader_succeed = true; + } else if (leader_sequence_two_keys(KC_A, KC_T)) { + SEND_STRING("@guidehouse.com"); + did_leader_succeed = true; + } + + +#ifdef AUDIO_ENABLE + if (did_leader_succeed) { + PLAY_SONG(leader_succeed_song); + } else { + PLAY_SONG(leader_fail_song); + } +#endif +} \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk new file mode 100644 index 00000000000..96f930ffa10 --- /dev/null +++ b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk @@ -0,0 +1,25 @@ +# Common feature for all keyboards +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +EXTRAKEY_ENABLE = yes # Audio control and System control +TAP_DANCE_ENABLE = yes # Tap Dance keys +NKRO_ENABLE = yes # Enable N-Key Rollover +MACROS_ENABLED = yes + + +# Keyboard specific +AUTO_SHIFT_ENABLE = no +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +MOUSEKEY_ENABLE = no # Mouse keys + +LEADER_ENABLE = yes +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +WS2812_DRIVER = vendor +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi60/info.json b/keyboards/1upkeyboards/pi60/info.json index 00d32ec973b..f599446e20e 100644 --- a/keyboards/1upkeyboards/pi60/info.json +++ b/keyboards/1upkeyboards/pi60/info.json @@ -112,7 +112,7 @@ {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, {"label": "ISO'", "matrix": [2, 12], "x": 12.75, "y": 2}, {"label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2}, - {"label": "LShift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3}, + {"label": "LShift", "matrix": [3, 15], "w": 1.25, "x": 0, "y": 3}, {"label": "ISO<>", "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}, diff --git a/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c b/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c index 15b593362d0..acf9ce1adb3 100644 --- a/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c @@ -17,12 +17,12 @@ #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_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_RSFT, KC_UP, MO(1), + 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 ), diff --git a/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c index f9187727eb3..80f9d3a9f6b 100644 --- a/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c +++ b/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c @@ -17,12 +17,12 @@ #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_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_RSFT, KC_UP, MO(1), + 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 ), diff --git a/keyboards/1upkeyboards/pi60_hse/config.h b/keyboards/1upkeyboards/pi60_hse/config.h index 02100955e4a..a47120f7d39 100644 --- a/keyboards/1upkeyboards/pi60_hse/config.h +++ b/keyboards/1upkeyboards/pi60_hse/config.h @@ -6,7 +6,6 @@ #define DYNAMIC_KEYMAP_LAYER_COUNT 10 #define RGB_MATRIX_LED_COUNT 16 -#define RGBLED_NUM 16 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h index 8102cbda4c1..77548c97447 100644 --- a/keyboards/1upkeyboards/super16/config.h +++ b/keyboards/1upkeyboards/super16/config.h @@ -17,13 +17,8 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 16 // Add 12 if attaching the RGB LED ring -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 16 # ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/1upkeyboards/super16/info.json b/keyboards/1upkeyboards/super16/info.json index 923f536ac8b..7937eff8daa 100644 --- a/keyboards/1upkeyboards/super16/info.json +++ b/keyboards/1upkeyboards/super16/info.json @@ -11,6 +11,12 @@ "ws2812": { "pin": "D3" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "rgb_matrix": { "driver": "WS2812" }, diff --git a/keyboards/1upkeyboards/sweet16/v1/config.h b/keyboards/1upkeyboards/sweet16/v1/config.h index bed2edc0a66..42c163a432c 100644 --- a/keyboards/1upkeyboards/sweet16/v1/config.h +++ b/keyboards/1upkeyboards/sweet16/v1/config.h @@ -17,7 +17,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 1 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/1upkeyboards/sweet16/v1/info.json b/keyboards/1upkeyboards/sweet16/v1/info.json index cb82e7fcfb3..ba7844015bc 100644 --- a/keyboards/1upkeyboards/sweet16/v1/info.json +++ b/keyboards/1upkeyboards/sweet16/v1/info.json @@ -3,6 +3,11 @@ "pid": "0x0161", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h index 88687335de7..37a85b4711d 100644 --- a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h +++ b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h @@ -19,7 +19,6 @@ #define DYNAMIC_KEYMAP_LAYER_COUNT 10 #define RGB_MATRIX_LED_COUNT 20 -#define RGBLED_NUM 20 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/25keys/aleth42/rev0/config.h b/keyboards/25keys/aleth42/rev0/config.h index 2c3ca34c5ec..8d9b7022b56 100644 --- a/keyboards/25keys/aleth42/rev0/config.h +++ b/keyboards/25keys/aleth42/rev0/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/25keys/aleth42/rev0/info.json b/keyboards/25keys/aleth42/rev0/info.json index f3741a80b14..5232b7626ab 100644 --- a/keyboards/25keys/aleth42/rev0/info.json +++ b/keyboards/25keys/aleth42/rev0/info.json @@ -13,6 +13,12 @@ {"pin_a": "B5", "pin_b": "B4"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/25keys/aleth42/rev1/config.h b/keyboards/25keys/aleth42/rev1/config.h index a97ab1ea498..8d9b7022b56 100644 --- a/keyboards/25keys/aleth42/rev1/config.h +++ b/keyboards/25keys/aleth42/rev1/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/25keys/aleth42/rev1/info.json b/keyboards/25keys/aleth42/rev1/info.json index 56202038895..702e7af27ca 100644 --- a/keyboards/25keys/aleth42/rev1/info.json +++ b/keyboards/25keys/aleth42/rev1/info.json @@ -13,6 +13,12 @@ {"pin_a": "F5", "pin_b": "F6"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/25keys/cassette42/config.h b/keyboards/25keys/cassette42/config.h index 07d9ab9b67d..fa69a3dd588 100644 --- a/keyboards/25keys/cassette42/config.h +++ b/keyboards/25keys/cassette42/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 5 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/25keys/cassette42/info.json b/keyboards/25keys/cassette42/info.json index 01701aedeb6..e75214b6626 100644 --- a/keyboards/25keys/cassette42/info.json +++ b/keyboards/25keys/cassette42/info.json @@ -14,6 +14,12 @@ {"pin_a": "B3", "pin_b": "B1"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/25keys/zinc/rev1/config.h b/keyboards/25keys/zinc/rev1/config.h index e4b0d02f753..27755e64c6a 100644 --- a/keyboards/25keys/zinc/rev1/config.h +++ b/keyboards/25keys/zinc/rev1/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define QUICK_TAP_TERM 0 -#define TAPPING_TERM 100 /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/25keys/zinc/rev1/info.json b/keyboards/25keys/zinc/rev1/info.json index 46692f6e4d1..47fb1f2e98e 100644 --- a/keyboards/25keys/zinc/rev1/info.json +++ b/keyboards/25keys/zinc/rev1/info.json @@ -8,6 +8,12 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 100 + }, + "rgblight": { + "hue_steps": 10 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/25keys/zinc/rev1/post_config.h b/keyboards/25keys/zinc/rev1/post_config.h index 15857d3b0b3..3d51de9e4c1 100644 --- a/keyboards/25keys/zinc/rev1/post_config.h +++ b/keyboards/25keys/zinc/rev1/post_config.h @@ -34,7 +34,6 @@ along with this program. If not, see . #ifdef RGBLED_CONT #define RGBLED_NUM 60 #define RGBLED_SPLIT { 30, 30 } -// #define RGBLIGHT_LED_MAP {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29} #else #define RGBLED_NUM 30 #endif @@ -72,8 +71,6 @@ along with this program. If not, see . #endif #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value diff --git a/keyboards/25keys/zinc/reva/config.h b/keyboards/25keys/zinc/reva/config.h index e4b0d02f753..27755e64c6a 100644 --- a/keyboards/25keys/zinc/reva/config.h +++ b/keyboards/25keys/zinc/reva/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define QUICK_TAP_TERM 0 -#define TAPPING_TERM 100 /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/25keys/zinc/reva/info.json b/keyboards/25keys/zinc/reva/info.json index 4db1d049107..1ab2fb7e38f 100644 --- a/keyboards/25keys/zinc/reva/info.json +++ b/keyboards/25keys/zinc/reva/info.json @@ -8,6 +8,12 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 100 + }, + "rgblight": { + "hue_steps": 10 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/25keys/zinc/reva/post_config.h b/keyboards/25keys/zinc/reva/post_config.h index 15857d3b0b3..3d51de9e4c1 100644 --- a/keyboards/25keys/zinc/reva/post_config.h +++ b/keyboards/25keys/zinc/reva/post_config.h @@ -34,7 +34,6 @@ along with this program. If not, see . #ifdef RGBLED_CONT #define RGBLED_NUM 60 #define RGBLED_SPLIT { 30, 30 } -// #define RGBLIGHT_LED_MAP {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29} #else #define RGBLED_NUM 30 #endif @@ -72,8 +71,6 @@ along with this program. If not, see . #endif #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value diff --git a/keyboards/2key2crawl/config.h b/keyboards/2key2crawl/config.h index a4088e49256..b3548d696e4 100644 --- a/keyboards/2key2crawl/config.h +++ b/keyboards/2key2crawl/config.h @@ -18,5 +18,4 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 3 #endif diff --git a/keyboards/2key2crawl/info.json b/keyboards/2key2crawl/info.json index 1752531ba17..66636b4a3c5 100644 --- a/keyboards/2key2crawl/info.json +++ b/keyboards/2key2crawl/info.json @@ -18,6 +18,9 @@ {"pin_a": "D0", "pin_b": "D1", "resolution": 1} ] }, + "rgblight": { + "led_count": 3 + }, "ws2812": { "pin": "C6" }, diff --git a/keyboards/40percentclub/gherkin/keymaps/default/keymap.c b/keyboards/40percentclub/gherkin/keymaps/default/keymap.c index ab2a1fa1c14..f4d3032857c 100644 --- a/keyboards/40percentclub/gherkin/keymaps/default/keymap.c +++ b/keyboards/40percentclub/gherkin/keymaps/default/keymap.c @@ -59,16 +59,17 @@ void keyboard_pre_init_user(void) { setPinOutput(B0); } -void led_set_user(uint8_t usb_led) { - if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { writePinLow(D5); } else { writePinHigh(D5); } - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { writePinLow(B0); } else { writePinHigh(B0); } + return false; } diff --git a/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c b/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c index 40c11739fb6..090fd1d2963 100644 --- a/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c +++ b/keyboards/40percentclub/gherkin/keymaps/mjt/keymap.c @@ -199,9 +199,6 @@ void music_scale_user(void) #endif -void matrix_scan_user(void) { -} - //Tap Dance Definitions tap_dance_action_t tap_dance_actions[] = { //Tap once for Esc, twice for Caps Lock @@ -211,40 +208,3 @@ tap_dance_action_t tap_dance_actions[] = { [TD_A_TAB] = ACTION_TAP_DANCE_DOUBLE(KC_A, KC_TAB), [TD_Q_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC) }; - -// don't know what this is doing... -/* -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - DDRD |= (1 << 5); PORTD &= ~(1 << 5); - } else { - DDRD &= ~(1 << 5); PORTD &= ~(1 << 5); - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 0); PORTB &= ~(1 << 0); - } else { - DDRB &= ~(1 << 0); PORTB &= ~(1 << 0); - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} -*/ diff --git a/keyboards/40percentclub/luddite/config.h b/keyboards/40percentclub/luddite/config.h index e388bc97056..06570c9ce98 100644 --- a/keyboards/40percentclub/luddite/config.h +++ b/keyboards/40percentclub/luddite/config.h @@ -17,7 +17,3 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 // Number of LEDs -// #define RGBLIGHT_HUE_STEP 10 -// #define RGBLIGHT_SAT_STEP 17 -// #define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/40percentclub/luddite/info.json b/keyboards/40percentclub/luddite/info.json index eb5c0e4a9d7..9ee787ad63e 100644 --- a/keyboards/40percentclub/luddite/info.json +++ b/keyboards/40percentclub/luddite/info.json @@ -17,6 +17,9 @@ "pin": "B5", "levels": 4 }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c b/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c index c3e359e24ea..f7899ad886f 100644 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c +++ b/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c @@ -157,11 +157,11 @@ void dynamic_macro_record_end_user(int8_t direction) { // Custom Caps Lock backlight behaviour // ------------------------------------ -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { // This exists because I don't like the backlight to turn OFF when the Caps Lock is ON. // That is, this will turn the backlight ON (at half the brightness) when the Caps Lock is ON as well. static bool prev_is_caps_on; - bool is_caps_on = IS_LED_ON(usb_led, USB_LED_CAPS_LOCK); + bool is_caps_on = led_state.caps_lock; if (prev_is_caps_on != is_caps_on) { prev_is_caps_on = is_caps_on; @@ -178,7 +178,7 @@ void led_set_user(uint8_t usb_led) { } // Turn on the Pro Micro's on-board LEDs for Caps Lock - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { // Set to low setPinOutput(B0); writePinLow(B0); @@ -189,6 +189,7 @@ void led_set_user(uint8_t usb_led) { setPinInput(B0); setPinInput(D5); } + return false; } // Backlight idle timeout feature diff --git a/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c b/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c index ea659979ea8..3932a1ee9b9 100644 --- a/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c +++ b/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c @@ -35,11 +35,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - - -void led_set_user(uint8_t usb_led){ +bool led_update_user(led_t led_state){ //turn on the Pro Micro's on board LEDs for CAPS LOCK - if(IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)){ + if(led_state.caps_lock){ //set led pins to low setPinOutput(B0); writePinLow(B0); @@ -50,4 +48,5 @@ void led_set_user(uint8_t usb_led){ setPinInput(B0); setPinInput(D5); } + return false; } diff --git a/keyboards/40percentclub/nano/config.h b/keyboards/40percentclub/nano/config.h index 8641d6a37f8..3e8f6e666b2 100644 --- a/keyboards/40percentclub/nano/config.h +++ b/keyboards/40percentclub/nano/config.h @@ -28,4 +28,3 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 // Number of LEDs diff --git a/keyboards/40percentclub/nano/info.json b/keyboards/40percentclub/nano/info.json index 21e5c2d1d2b..5ad37b00b54 100644 --- a/keyboards/40percentclub/nano/info.json +++ b/keyboards/40percentclub/nano/info.json @@ -8,6 +8,9 @@ "pid": "0x0007", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h index 57981dd27ff..6d4f10af710 100644 --- a/keyboards/40percentclub/nori/config.h +++ b/keyboards/40percentclub/nori/config.h @@ -27,10 +27,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/40percentclub/nori/info.json b/keyboards/40percentclub/nori/info.json index b58ee84edc8..dfd2c310bbb 100644 --- a/keyboards/40percentclub/nori/info.json +++ b/keyboards/40percentclub/nori/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "B5" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10 + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/40percentclub/tomato/config.h b/keyboards/40percentclub/tomato/config.h index 2199981c7c9..37576953de6 100644 --- a/keyboards/40percentclub/tomato/config.h +++ b/keyboards/40percentclub/tomato/config.h @@ -17,7 +17,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 30 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/40percentclub/tomato/info.json b/keyboards/40percentclub/tomato/info.json index c881f7c7d10..89c0f7b3674 100644 --- a/keyboards/40percentclub/tomato/info.json +++ b/keyboards/40percentclub/tomato/info.json @@ -8,6 +8,11 @@ "pid": "0x546F", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 30 + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/40percentclub/ut47/led.c b/keyboards/40percentclub/ut47/led.c index f5d8ffc12ee..867a6e2e2a3 100644 --- a/keyboards/40percentclub/ut47/led.c +++ b/keyboards/40percentclub/ut47/led.c @@ -19,20 +19,23 @@ along with this program. If not, see . #include #include "led.h" - -void led_set(uint8_t usb_led) +bool led_update_kb(led_t led_state) { - if (usb_led & (1<. */ #pragma once -#define RGBLED_NUM 12 #define WS2812_EXTERNAL_PULLUP -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/4pplet/aekiso60/rev_b/info.json b/keyboards/4pplet/aekiso60/rev_b/info.json index 4e218f9365e..a927a3e271d 100644 --- a/keyboards/4pplet/aekiso60/rev_b/info.json +++ b/keyboards/4pplet/aekiso60/rev_b/info.json @@ -4,6 +4,11 @@ "pid": "0x0011", "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12 + }, "ws2812": { "pin": "A8" }, diff --git a/keyboards/4pplet/aekiso60/rev_b/rules.mk b/keyboards/4pplet/aekiso60/rev_b/rules.mk index 041df45ecaa..e539634d589 100644 --- a/keyboards/4pplet/aekiso60/rev_b/rules.mk +++ b/keyboards/4pplet/aekiso60/rev_b/rules.mk @@ -14,5 +14,3 @@ AUDIO_ENABLE = no # Audio output # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h index 6114950220c..1cc2d50f161 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h @@ -18,17 +18,12 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD2 #define BACKLIGHT_PWM_CHANNEL 4 -#define BACKLIGHT_PAL_MODE 2 /* Underglow */ #define WS2812_SPI SPID1 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PIN A5 #define WS2812_SPI_SCK_PAL_MODE 0 -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json index 02d4f386327..9a112a2cde6 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json @@ -18,6 +18,11 @@ "levels": 10, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16 + }, "ws2812": { "pin": "A7", "driver": "spi" diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk index 4e3e37ff3df..30a36865b96 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk @@ -13,5 +13,3 @@ RGBLIGHT_ENABLE = yes # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h index 7c8c8a8cf22..9a5de0dd6f9 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h @@ -21,12 +21,8 @@ along with this program. If not, see . #define BACKLIGHT_PAL_MODE 1 /* Underglow */ -#define RGBLED_NUM 16 #define WS2812_EXTERNAL_PULLUP -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/info.json b/keyboards/4pplet/eagle_viper_rep/rev_b/info.json index 82d6349dc72..d260e76c81f 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_b/info.json +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/info.json @@ -23,6 +23,11 @@ "num_lock": "B12", "scroll_lock": "B13" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16 + }, "ws2812": { "pin": "A8" }, @@ -114,7 +119,7 @@ {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, {"label": "Alt", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, {"label": "GUI", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, - {"label": "Fn", "matrix": [8, 6], "x": 13.75, "y": 9, "w": 1.25} + {"label": "Fn", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} ] }, "LAYOUT_60_ansi": { diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk index 09e14f7540b..428a48c4649 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/rules.mk @@ -13,5 +13,3 @@ RGBLIGHT_ENABLE = yes # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/perk60_iso/rev_a/rules.mk b/keyboards/4pplet/perk60_iso/rev_a/rules.mk index d89fef71947..6a7da3e998d 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/rules.mk +++ b/keyboards/4pplet/perk60_iso/rev_a/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/steezy60/rev_b/rules.mk b/keyboards/4pplet/steezy60/rev_b/rules.mk index 68bddfc7485..3787d8c241b 100644 --- a/keyboards/4pplet/steezy60/rev_b/rules.mk +++ b/keyboards/4pplet/steezy60/rev_b/rules.mk @@ -6,5 +6,3 @@ KEY_LOCK_ENABLE = yes # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/unextended_std/rev_a/rules.mk b/keyboards/4pplet/unextended_std/rev_a/rules.mk index 68bddfc7485..3787d8c241b 100644 --- a/keyboards/4pplet/unextended_std/rev_a/rules.mk +++ b/keyboards/4pplet/unextended_std/rev_a/rules.mk @@ -6,5 +6,3 @@ KEY_LOCK_ENABLE = yes # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/waffling60/rev_b/config.h b/keyboards/4pplet/waffling60/rev_b/config.h index 2552b1e451f..189e53b8c10 100644 --- a/keyboards/4pplet/waffling60/rev_b/config.h +++ b/keyboards/4pplet/waffling60/rev_b/config.h @@ -16,11 +16,6 @@ along with this program. If not, see . */ #pragma once -#define RGBLED_NUM 1 - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/4pplet/waffling60/rev_b/info.json b/keyboards/4pplet/waffling60/rev_b/info.json index 90fe5d02a22..2d22a82b851 100644 --- a/keyboards/4pplet/waffling60/rev_b/info.json +++ b/keyboards/4pplet/waffling60/rev_b/info.json @@ -8,6 +8,11 @@ "pid": "0x0005", "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/4pplet/waffling60/rev_c/config.h b/keyboards/4pplet/waffling60/rev_c/config.h index 06e5db9090c..27246c865e8 100644 --- a/keyboards/4pplet/waffling60/rev_c/config.h +++ b/keyboards/4pplet/waffling60/rev_c/config.h @@ -16,11 +16,6 @@ along with this program. If not, see . */ #pragma once -#define RGBLED_NUM 1 - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/4pplet/waffling60/rev_c/info.json b/keyboards/4pplet/waffling60/rev_c/info.json index c33d2b0616c..b4a00467288 100644 --- a/keyboards/4pplet/waffling60/rev_c/info.json +++ b/keyboards/4pplet/waffling60/rev_c/info.json @@ -12,6 +12,11 @@ "cols": ["C4", "C5", "D2", "C6", "C7", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "D1", "D4"], "rows": ["C2", "D0", "B0", "D6", "D5"] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/4pplet/waffling60/rev_d/config.h b/keyboards/4pplet/waffling60/rev_d/config.h index 2ba774712ab..036d08cc73c 100644 --- a/keyboards/4pplet/waffling60/rev_d/config.h +++ b/keyboards/4pplet/waffling60/rev_d/config.h @@ -16,9 +16,4 @@ along with this program. If not, see . */ #pragma once -#define RGBLED_NUM 1 #define WS2812_EXTERNAL_PULLUP - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/4pplet/waffling60/rev_d/info.json b/keyboards/4pplet/waffling60/rev_d/info.json index 01aba228636..692f9956052 100644 --- a/keyboards/4pplet/waffling60/rev_d/info.json +++ b/keyboards/4pplet/waffling60/rev_d/info.json @@ -8,6 +8,11 @@ "pid": "0x000E", "device_version": "0.0.4" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "A8" }, diff --git a/keyboards/4pplet/waffling60/rev_d/rules.mk b/keyboards/4pplet/waffling60/rev_d/rules.mk index 041df45ecaa..e539634d589 100644 --- a/keyboards/4pplet/waffling60/rev_d/rules.mk +++ b/keyboards/4pplet/waffling60/rev_d/rules.mk @@ -14,5 +14,3 @@ AUDIO_ENABLE = no # Audio output # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/waffling60/rev_d_ansi/rules.mk b/keyboards/4pplet/waffling60/rev_d_ansi/rules.mk index 51920656446..a64bf928ebb 100644 --- a/keyboards/4pplet/waffling60/rev_d_ansi/rules.mk +++ b/keyboards/4pplet/waffling60/rev_d_ansi/rules.mk @@ -14,5 +14,3 @@ AUDIO_ENABLE = no # Audio output # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/waffling60/rev_d_iso/info.json b/keyboards/4pplet/waffling60/rev_d_iso/info.json index cab2fa1c079..fdcf9d0bdee 100644 --- a/keyboards/4pplet/waffling60/rev_d_iso/info.json +++ b/keyboards/4pplet/waffling60/rev_d_iso/info.json @@ -15,8 +15,11 @@ "diode_direction": "COL2ROW", "processor": "STM32F072", "bootloader": "stm32-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -47,21 +50,21 @@ {"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": [2, 0], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 1.75, "y": 2}, - {"matrix": [2, 3], "x": 2.75, "y": 2}, - {"matrix": [2, 4], "x": 3.75, "y": 2}, - {"matrix": [2, 5], "x": 4.75, "y": 2}, - {"matrix": [2, 6], "x": 5.75, "y": 2}, - {"matrix": [2, 7], "x": 6.75, "y": 2}, - {"matrix": [2, 8], "x": 7.75, "y": 2}, - {"matrix": [2, 9], "x": 8.75, "y": 2}, - {"matrix": [2, 10], "x": 9.75, "y": 2}, - {"matrix": [2, 11], "x": 10.75, "y": 2}, - {"matrix": [2, 12], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2}, + + {"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": 1, "w": 1.25, "h": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [3, 1], "x": 1.25, "y": 3}, @@ -88,6 +91,284 @@ {"matrix": [4, 12], "x": 12.5, "y": 4}, {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] + }, + "LAYOUT_60_iso_tsangan_split_rshift": { + "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": [1, 13], "x": 13, "y": 0, "w": 2}, + + {"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": [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": 1, "w": 1.25, "h": 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, 13], "x": 14, "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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "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": [1, 13], "x": 14, "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": [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": 1, "w": 1.25, "h": 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, 13], "x": 14, "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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_rshift": { + "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": [1, 13], "x": 13, "y": 0, "w": 2}, + + {"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": [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": 1, "w": 1.25, "h": 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, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_bs_rshift": { + "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": [1, 13], "x": 14, "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": [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": 1, "w": 1.25, "h": 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, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] } } } diff --git a/keyboards/4pplet/waffling60/rev_d_iso/keymaps/default/keymap.c b/keyboards/4pplet/waffling60/rev_d_iso/keymaps/default/keymap.c index 563c3838d10..7536b7f3a1a 100644 --- a/keyboards/4pplet/waffling60/rev_d_iso/keymaps/default/keymap.c +++ b/keyboards/4pplet/waffling60/rev_d_iso/keymaps/default/keymap.c @@ -18,14 +18,14 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // main layer -[0] = LAYOUT( +[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_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( +[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_NUHS, KC_TRNS, diff --git a/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/keymap.c index 18c29122690..b6945a706d8 100644 --- a/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/keymap.c +++ b/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/keymap.c @@ -18,28 +18,28 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // main layer -[0] = LAYOUT( +[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( +[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( +[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( +[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, diff --git a/keyboards/4pplet/waffling60/rev_d_iso/matrix_diagram.md b/keyboards/4pplet/waffling60/rev_d_iso/matrix_diagram.md new file mode 100644 index 00000000000..781000ec413 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_d_iso/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for 4pplet Waffling60 Rev D ISO + +``` + ┌───────┐ + 2u Backspace │1D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1D │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2D │ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ +├────┴┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─┴───┤ +│40 │41 │42 │44 │46 │48 │4B │4C │4D │ +└─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬───────────────────────────────────────┬───┬─────┐ +│40 │41 │46 │4C │4D │ 10u Spacebar +└─────┴───┴───────────────────────────────────────┴───┴─────┘ +``` diff --git a/keyboards/4pplet/waffling60/rev_d_iso/rules.mk b/keyboards/4pplet/waffling60/rev_d_iso/rules.mk index e8184d57aba..e11c916b4fd 100644 --- a/keyboards/4pplet/waffling60/rev_d_iso/rules.mk +++ b/keyboards/4pplet/waffling60/rev_d_iso/rules.mk @@ -14,5 +14,3 @@ AUDIO_ENABLE = no # Audio output # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/waffling80/rev_a/info.json b/keyboards/4pplet/waffling80/rev_a/info.json index 34ec33bbe21..8c3a84be1e6 100644 --- a/keyboards/4pplet/waffling80/rev_a/info.json +++ b/keyboards/4pplet/waffling80/rev_a/info.json @@ -4,6 +4,11 @@ "pid": "0x0006", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2 + }, "ws2812": { "pin": "D7" }, diff --git a/keyboards/4pplet/waffling80/rev_b/config.h b/keyboards/4pplet/waffling80/rev_b/config.h index 1bf561d74ae..036d08cc73c 100644 --- a/keyboards/4pplet/waffling80/rev_b/config.h +++ b/keyboards/4pplet/waffling80/rev_b/config.h @@ -16,9 +16,4 @@ along with this program. If not, see . */ #pragma once -#define RGBLED_NUM 2 #define WS2812_EXTERNAL_PULLUP - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/4pplet/waffling80/rev_b/info.json b/keyboards/4pplet/waffling80/rev_b/info.json index 61673e609d6..47d3d5d662f 100644 --- a/keyboards/4pplet/waffling80/rev_b/info.json +++ b/keyboards/4pplet/waffling80/rev_b/info.json @@ -4,6 +4,11 @@ "pid": "0x000F", "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2 + }, "ws2812": { "pin": "A8" }, diff --git a/keyboards/4pplet/waffling80/rev_b/rules.mk b/keyboards/4pplet/waffling80/rev_b/rules.mk index 041df45ecaa..e539634d589 100644 --- a/keyboards/4pplet/waffling80/rev_b/rules.mk +++ b/keyboards/4pplet/waffling80/rev_b/rules.mk @@ -14,5 +14,3 @@ AUDIO_ENABLE = no # Audio output # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/yakiimo/rev_a/rules.mk b/keyboards/4pplet/yakiimo/rev_a/rules.mk index 9e42693cb69..c3b8e77d77a 100644 --- a/keyboards/4pplet/yakiimo/rev_a/rules.mk +++ b/keyboards/4pplet/yakiimo/rev_a/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/7c8/framework/info.json b/keyboards/7c8/framework/info.json index 18c0289c9a3..19325af9cbd 100644 --- a/keyboards/7c8/framework/info.json +++ b/keyboards/7c8/framework/info.json @@ -18,6 +18,13 @@ {"pin_a": "D0", "pin_b": "D1"} ] }, + "qmk": { + "tap_keycode_delay": 16 + }, + "leader_key": { + "timeout": 250, + "timing": true + }, "processor": "atmega328p", "bootloader": "usbasploader", "layouts": { diff --git a/keyboards/8pack/config.h b/keyboards/8pack/config.h index 5139d4cf699..e48b4d5a72e 100644 --- a/keyboards/8pack/config.h +++ b/keyboards/8pack/config.h @@ -7,7 +7,6 @@ #define LOCKING_RESYNC_ENABLE // ws2812 options -#define RGBLED_NUM 8 // number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/8pack/info.json b/keyboards/8pack/info.json index 45dec97b330..fffac7d4268 100644 --- a/keyboards/8pack/info.json +++ b/keyboards/8pack/info.json @@ -11,6 +11,9 @@ "pins": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"], "levels": 8 }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/9key/info.json b/keyboards/9key/info.json index 1dc9fad41a1..d4061d82614 100644 --- a/keyboards/9key/info.json +++ b/keyboards/9key/info.json @@ -8,6 +8,9 @@ "pid": "0x0007", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/abacus/config.h b/keyboards/abacus/config.h index b5109c291d3..420cf9d1430 100644 --- a/keyboards/abacus/config.h +++ b/keyboards/abacus/config.h @@ -19,11 +19,6 @@ along with this program. If not, see . #define DIP_SWITCH_PINS { D0 } -# define RGBLED_NUM 17 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== choose animations ==*/ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/abacus/info.json b/keyboards/abacus/info.json index c12d7cb2354..261808c1893 100644 --- a/keyboards/abacus/info.json +++ b/keyboards/abacus/info.json @@ -18,6 +18,12 @@ {"pin_a": "F1", "pin_b": "F0"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 17, + "sleep": true + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/abatskeyboardclub/nayeon/config.h b/keyboards/abatskeyboardclub/nayeon/config.h index b42ece99a60..7fedf4dce12 100644 --- a/keyboards/abatskeyboardclub/nayeon/config.h +++ b/keyboards/abatskeyboardclub/nayeon/config.h @@ -20,5 +20,4 @@ along with this program. If not, see . /* RGB Matrix setup */ #define RGB_MATRIX_LED_COUNT 2 -#define RGBLED_NUM 2 #define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral diff --git a/keyboards/abko/ak84bt/ak84bt.c b/keyboards/abko/ak84bt/ak84bt.c new file mode 100644 index 00000000000..0ecd06b177e --- /dev/null +++ b/keyboards/abko/ak84bt/ak84bt.c @@ -0,0 +1,110 @@ +/* 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 + +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { + {0, G_1, I_1, H_1}, + {0, G_3, I_3, H_3}, + {0, G_4, I_4, H_4}, + {0, G_5, I_5, H_5}, + {0, G_6, I_6, H_6}, + {0, G_7, I_7, H_7}, + {0, G_8, I_8, H_8}, + {0, G_9, I_9, H_9}, + {0, G_10, I_10, H_10}, + {0, G_11, I_11, H_11}, + {0, G_12, I_12, H_12}, + {0, G_13, I_13, H_13}, + {0, G_14, I_14, H_14}, + {0, G_15, I_15, H_15}, + {0, D_1, F_1, E_1}, + {0, D_2, F_2, E_2}, + {0, D_3, F_3, E_3}, + {0, D_4, F_4, E_4}, + {0, D_5, F_5, E_5}, + {0, D_6, F_6, E_6}, + {0, D_7, F_7, E_7}, + {0, D_8, F_8, E_8}, + {0, D_9, F_9, E_9}, + {0, D_10, F_10, E_10}, + {0, D_11, F_11, E_11}, + {0, D_12, F_12, E_12}, + {0, D_13, F_13, E_13}, + {0, D_14, F_14, E_14}, + {0, D_15, F_15, E_15}, + {0, A_1, C_1, B_1}, + {0, A_2, C_2, B_2}, + {0, A_3, C_3, B_3}, + {0, A_4, C_4, B_4}, + {0, A_5, C_5, B_5}, + {0, A_6, C_6, B_6}, + {0, A_7, C_7, B_7}, + {0, A_8, C_8, B_8}, + {0, A_9, C_9, B_9}, + {0, A_10, C_10, B_10}, + {0, A_11, C_11, B_11}, + {0, A_12, C_12, B_12}, + {0, A_13, C_13, B_13}, + {0, A_14, C_14, B_14}, + {0, A_15, C_15, B_15}, + {1, G_1, I_1, H_1}, + {1, G_2, I_2, H_2}, + {1, G_3, I_3, H_3}, + {1, G_4, I_4, H_4}, + {1, G_5, I_5, H_5}, + {1, G_6, I_6, H_6}, + {1, G_7, I_7, H_7}, + {1, G_8, I_8, H_8}, + {1, G_9, I_9, H_9}, + {1, G_10, I_10, H_10}, + {1, G_11, I_11, H_11}, + {1, G_12, I_12, H_12}, + {1, G_13, I_13, H_13}, + {1, G_14, I_14, H_14}, + {1, G_15, I_15, H_15}, + {1, D_1, F_1, E_1}, + {1, D_2, F_2, E_2}, + {1, D_3, F_3, E_3}, + {1, D_4, F_4, E_4}, + {1, D_5, F_5, E_5}, + {1, D_6, F_6, E_6}, + {1, D_7, F_7, E_7}, + {1, D_8, F_8, E_8}, + {1, D_9, F_9, E_9}, + {1, D_10, F_10, E_10}, + {1, D_11, F_11, E_11}, + {1, D_12, F_12, E_12}, + {1, D_13, F_13, E_13}, + {1, D_14, F_14, E_14}, + {1, D_15, F_15, E_15}, + {1, A_1, C_1, B_1}, + {1, A_2, C_2, B_2}, + {1, A_3, C_3, B_3}, + {1, A_5, C_5, B_5}, + {1, A_6, C_6, B_6}, + {1, A_7, C_7, B_7}, + {1, A_8, C_8, B_8}, + {1, A_9, C_9, B_9}, + {1, A_10, C_10, B_10}, + {1, A_11, C_11, B_11}, + {1, A_12, C_12, B_12}, + {1, A_13, C_13, B_13}, + {1, A_14, C_14, B_14}, + {1, A_15, C_15, B_15}, + {0, G_2, I_2, H_2}, + {1, A_4, C_4, B_4} +}; diff --git a/keyboards/abko/ak84bt/config.h b/keyboards/abko/ak84bt/config.h new file mode 100644 index 00000000000..f6a3b55851f --- /dev/null +++ b/keyboards/abko/ak84bt/config.h @@ -0,0 +1,41 @@ +/* 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 . + */ + +#pragma once + + +#define DRIVER_ADDR_1 0b1010000 +#define DRIVER_ADDR_2 0b1010011 + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 45 +#define DRIVER_2_LED_TOTAL 45 + +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) + +#define ENABLE_RGB_MATRIX_SOLID_COLOR +#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_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_HUE_WAVE +#define ENABLE_RGB_MATRIX_PIXEL_FLOW diff --git a/keyboards/nightly_boards/n60_s/n60_s.h b/keyboards/abko/ak84bt/halconf.h similarity index 87% rename from keyboards/nightly_boards/n60_s/n60_s.h rename to keyboards/abko/ak84bt/halconf.h index 33cf8e0b689..f1dae7232ed 100644 --- a/keyboards/nightly_boards/n60_s/n60_s.h +++ b/keyboards/abko/ak84bt/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 Neil Brian Ramirez +/* 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 @@ -13,8 +13,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - + #pragma once -#include "quantum.h" -#include "encoder_action.h" +#include_next + +#undef HAL_USE_I2C +#define HAL_USE_I2C TRUE diff --git a/keyboards/abko/ak84bt/info.json b/keyboards/abko/ak84bt/info.json new file mode 100644 index 00000000000..30dd823575d --- /dev/null +++ b/keyboards/abko/ak84bt/info.json @@ -0,0 +1,217 @@ +{ + "manufacturer": "abko", + "keyboard_name": "ak84bt", + "bootloader": "stm32duino", + "bootmagic": { + "matrix": [1, 0] + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 2 + }, + "features": { + "bootmagic": true, + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "B8", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["A6", "A7", "C4", "C5", "B0", "B1", "C6", "C7", "C8", "C9", "A8", "A9", "A10", "A13", "A14", "A15"], + "rows": ["A0", "A1", "A2", "A3", "A4", "A5"] + }, + "processor": "STM32F103", + "rgb_matrix": { + "driver": "IS31FL3733", + "layout": [ + {"matrix": [0, 0], "x": 7, "y": 2, "flags": 4}, + {"matrix": [0, 2], "x": 34, "y": 2, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 2, "flags": 4}, + {"matrix": [0, 4], "x": 61, "y": 2, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 2, "flags": 4}, + {"matrix": [0, 6], "x": 95, "y": 2, "flags": 4}, + {"matrix": [0, 7], "x": 109, "y": 2, "flags": 4}, + {"matrix": [0, 8], "x": 122, "y": 2, "flags": 4}, + {"matrix": [0, 9], "x": 136, "y": 2, "flags": 4}, + {"matrix": [0, 10], "x": 157, "y": 2, "flags": 4}, + {"matrix": [0, 11], "x": 170, "y": 2, "flags": 4}, + {"matrix": [0, 12], "x": 184, "y": 2, "flags": 4}, + {"matrix": [0, 13], "x": 198, "y": 2, "flags": 4}, + {"matrix": [0, 14], "x": 217, "y": 2, "flags": 4}, + {"matrix": [1, 0], "x": 7, "y": 14, "flags": 4}, + {"matrix": [1, 1], "x": 20, "y": 14, "flags": 4}, + {"matrix": [1, 2], "x": 34, "y": 14, "flags": 4}, + {"matrix": [1, 3], "x": 48, "y": 14, "flags": 4}, + {"matrix": [1, 4], "x": 61, "y": 14, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 14, "flags": 4}, + {"matrix": [1, 6], "x": 89, "y": 14, "flags": 4}, + {"matrix": [1, 7], "x": 102, "y": 14, "flags": 4}, + {"matrix": [1, 8], "x": 116, "y": 14, "flags": 4}, + {"matrix": [1, 9], "x": 129, "y": 14, "flags": 4}, + {"matrix": [1, 10], "x": 143, "y": 14, "flags": 4}, + {"matrix": [1, 11], "x": 157, "y": 14, "flags": 4}, + {"matrix": [1, 12], "x": 170, "y": 14, "flags": 4}, + {"matrix": [1, 13], "x": 190, "y": 14, "flags": 4}, + {"matrix": [1, 14], "x": 217, "y": 14, "flags": 4}, + {"matrix": [2, 0], "x": 10, "y": 24, "flags": 4}, + {"matrix": [2, 1], "x": 27, "y": 24, "flags": 4}, + {"matrix": [2, 2], "x": 40, "y": 24, "flags": 4}, + {"matrix": [2, 3], "x": 54, "y": 24, "flags": 4}, + {"matrix": [2, 4], "x": 68, "y": 24, "flags": 4}, + {"matrix": [2, 5], "x": 81, "y": 24, "flags": 4}, + {"matrix": [2, 6], "x": 95, "y": 24, "flags": 4}, + {"matrix": [2, 7], "x": 109, "y": 24, "flags": 4}, + {"matrix": [2, 8], "x": 122, "y": 24, "flags": 4}, + {"matrix": [2, 9], "x": 136, "y": 24, "flags": 4}, + {"matrix": [2, 10], "x": 150, "y": 24, "flags": 4}, + {"matrix": [2, 11], "x": 163, "y": 24, "flags": 4}, + {"matrix": [2, 12], "x": 177, "y": 24, "flags": 4}, + {"matrix": [2, 13], "x": 194, "y": 24, "flags": 4}, + {"matrix": [2, 14], "x": 217, "y": 24, "flags": 4}, + {"matrix": [3, 0], "x": 12, "y": 34, "flags": 4}, + {"matrix": [3, 1], "x": 30, "y": 34, "flags": 4}, + {"matrix": [3, 2], "x": 44, "y": 34, "flags": 4}, + {"matrix": [3, 3], "x": 58, "y": 34, "flags": 4}, + {"matrix": [3, 4], "x": 71, "y": 34, "flags": 4}, + {"matrix": [3, 5], "x": 85, "y": 34, "flags": 4}, + {"matrix": [3, 6], "x": 99, "y": 34, "flags": 4}, + {"matrix": [3, 7], "x": 112, "y": 34, "flags": 4}, + {"matrix": [3, 8], "x": 126, "y": 34, "flags": 4}, + {"matrix": [3, 9], "x": 140, "y": 34, "flags": 4}, + {"matrix": [3, 10], "x": 153, "y": 34, "flags": 4}, + {"matrix": [3, 11], "x": 167, "y": 34, "flags": 4}, + {"x": 180, "y": 34, "flags": 4}, + {"matrix": [3, 13], "x": 189, "y": 34, "flags": 4}, + {"matrix": [3, 14], "x": 217, "y": 34, "flags": 4}, + {"matrix": [4, 0], "x": 8, "y": 44, "flags": 4}, + {"x": 24, "y": 44, "flags": 4}, + {"matrix": [4, 2], "x": 38, "y": 44, "flags": 4}, + {"matrix": [4, 3], "x": 51, "y": 44, "flags": 4}, + {"matrix": [4, 4], "x": 65, "y": 44, "flags": 4}, + {"matrix": [4, 5], "x": 78, "y": 44, "flags": 4}, + {"matrix": [4, 6], "x": 92, "y": 44, "flags": 4}, + {"matrix": [4, 7], "x": 106, "y": 44, "flags": 4}, + {"matrix": [4, 8], "x": 119, "y": 44, "flags": 4}, + {"matrix": [4, 9], "x": 133, "y": 44, "flags": 4}, + {"matrix": [4, 10], "x": 147, "y": 44, "flags": 4}, + {"matrix": [4, 11], "x": 160, "y": 44, "flags": 4}, + {"matrix": [4, 12], "x": 179, "y": 44, "flags": 4}, + {"matrix": [4, 13], "x": 201, "y": 46, "flags": 4}, + {"matrix": [4, 14], "x": 217, "y": 44, "flags": 4}, + {"matrix": [5, 0], "x": 8, "y": 54, "flags": 4}, + {"matrix": [5, 1], "x": 25, "y": 54, "flags": 4}, + {"matrix": [5, 2], "x": 43, "y": 54, "flags": 4}, + {"x": 67, "y": 57, "flags": 4}, + {"x": 80, "y": 57, "flags": 4}, + {"x": 94, "y": 54, "flags": 4}, + {"matrix": [5, 6], "x": 107, "y": 57, "flags": 4}, + {"x": 120, "y": 57, "flags": 4}, + {"matrix": [5, 9], "x": 143, "y": 54, "flags": 4}, + {"matrix": [5, 10], "x": 157, "y": 54, "flags": 4}, + {"matrix": [5, 11], "x": 170, "y": 54, "flags": 4}, + {"matrix": [5, 12], "x": 187, "y": 56, "flags": 4}, + {"matrix": [5, 13], "x": 201, "y": 56, "flags": 4}, + {"matrix": [5, 14], "x": 214, "y": 56, "flags": 4}, + {"x": 207, "y": 23, "flags": 8}, + {"x": 207, "y": 27, "flags": 8} + ] + }, + "usb": { + "device_version": "0.0.1", + "pid": "0x4321", + "vid": "0x7654" + }, + "layouts": { + "LAYOUT_75_ansi": { + "layout": [ + {"label": "ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + {"label": "END", "matrix": [0, 15], "x": 16.5, "y": 0}, + {"label": "GRV", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "MINS", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "EQL", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "BSPC", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"label": "HOME", "matrix": [1, 14], "x": 16.5, "y": 1.25}, + {"label": "TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "BSLS", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "DEL", "matrix": [2, 14], "x": 16.5, "y": 2.25}, + {"label": "CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": "SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "ENT", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "PGUP", "matrix": [3, 14], "x": 16.5, "y": 3.25}, + {"label": "LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": "DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "RSFT", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "UP", "matrix": [4, 13], "x": 15.25, "y": 4.25}, + {"label": "PGDN", "matrix": [4, 14], "x": 16.5, "y": 4.25}, + {"label": "LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "LALT", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "SPC", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "RALT", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "MO(1)", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "RCTL", "matrix": [5, 11], "x": 13, "y": 5.25, "w": 1.25}, + {"label": "LEFT", "matrix": [5, 12], "x": 14.25, "y": 5.25}, + {"label": "DOWN", "matrix": [5, 13], "x": 15.25, "y": 5.25}, + {"label": "RGHT", "matrix": [5, 14], "x": 16.5, "y": 5.25} + ] + } + } +} diff --git a/keyboards/abko/ak84bt/keymaps/default/keymap.c b/keyboards/abko/ak84bt/keymaps/default/keymap.c new file mode 100644 index 00000000000..6a57c4422a7 --- /dev/null +++ b/keyboards/abko/ak84bt/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* 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 +{ + _BASE, + _FnLay, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_75_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_END, + 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(_FnLay), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [_FnLay] = LAYOUT_75_ansi( + 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, 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 + ) +}; diff --git a/keyboards/abko/ak84bt/mcuconf.h b/keyboards/abko/ak84bt/mcuconf.h new file mode 100644 index 00000000000..9187c76aad0 --- /dev/null +++ b/keyboards/abko/ak84bt/mcuconf.h @@ -0,0 +1,22 @@ +/* + ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/abko/ak84bt/readme.md b/keyboards/abko/ak84bt/readme.md new file mode 100644 index 00000000000..68269604cc2 --- /dev/null +++ b/keyboards/abko/ak84bt/readme.md @@ -0,0 +1,21 @@ +# AK84BT + +![ak84bt](https://i.imgur.com/tQJ19vxh.jpg) + +A customizable 80% keyboard. + +- Keyboard Maintainer: [temp4gh](https://github.com/temp4gh) +- Hardware Supported: AK84BT PCB +- Hardware Availability: www.abko.co.kr + +Make example for this keyboard (after setting up your build environment): + + make abko/ak84bt:default + +Flashing example for this keyboard: + + make abko/ak84bt:default:flash + +**Reset Key**: Hold down the key located at *K10*, commonly programmed as *Grave* while plugging in the keyboard. + +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/abko/ak84bt/rules.mk b/keyboards/abko/ak84bt/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/abko/ak84bt/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/abstract/ellipse/rev1/config.h b/keyboards/abstract/ellipse/rev1/config.h index c2632e04174..81349657efa 100644 --- a/keyboards/abstract/ellipse/rev1/config.h +++ b/keyboards/abstract/ellipse/rev1/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 3 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/abstract/ellipse/rev1/info.json b/keyboards/abstract/ellipse/rev1/info.json index 9dfe255ba22..341b5229265 100644 --- a/keyboards/abstract/ellipse/rev1/info.json +++ b/keyboards/abstract/ellipse/rev1/info.json @@ -24,6 +24,12 @@ "pin": "C6", "levels": 15 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 3, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/acekeyboard/titan60/config.h b/keyboards/acekeyboard/titan60/config.h index 2f3159192ac..19c323f3341 100644 --- a/keyboards/acekeyboard/titan60/config.h +++ b/keyboards/acekeyboard/titan60/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 6 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/acekeyboard/titan60/info.json b/keyboards/acekeyboard/titan60/info.json index b384b7bcbf1..552145092f0 100644 --- a/keyboards/acekeyboard/titan60/info.json +++ b/keyboards/acekeyboard/titan60/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/acheron/apollo/87h/delta/rules.mk b/keyboards/acheron/apollo/87h/delta/rules.mk index ce1d65be0f3..723724b7aa2 100644 --- a/keyboards/acheron/apollo/87h/delta/rules.mk +++ b/keyboards/acheron/apollo/87h/delta/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/acheron/apollo/87h/gamma/rules.mk b/keyboards/acheron/apollo/87h/gamma/rules.mk index 25c83bb136c..4af646ec021 100644 --- a/keyboards/acheron/apollo/87h/gamma/rules.mk +++ b/keyboards/acheron/apollo/87h/gamma/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes KEYBOARD_SHARED_EP = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/acheron/apollo/87htsc/rules.mk b/keyboards/acheron/apollo/87htsc/rules.mk index ce1d65be0f3..723724b7aa2 100644 --- a/keyboards/acheron/apollo/87htsc/rules.mk +++ b/keyboards/acheron/apollo/87htsc/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/acheron/apollo/88htsc/rules.mk b/keyboards/acheron/apollo/88htsc/rules.mk index ce1d65be0f3..723724b7aa2 100644 --- a/keyboards/acheron/apollo/88htsc/rules.mk +++ b/keyboards/acheron/apollo/88htsc/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/acheron/arctic/rules.mk b/keyboards/acheron/arctic/rules.mk index 0aeca0dd9f3..7f4f202a1b7 100644 --- a/keyboards/acheron/arctic/rules.mk +++ b/keyboards/acheron/arctic/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/acheron/athena/alpha/alpha.c b/keyboards/acheron/athena/alpha/alpha.c index 26c00e41aa0..9e4f82f7ad1 100644 --- a/keyboards/acheron/athena/alpha/alpha.c +++ b/keyboards/acheron/athena/alpha/alpha.c @@ -23,10 +23,9 @@ 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(BACKLIGHT_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING); + palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING); } -#define LED_PIN_ON_STATE 1 void led_init_ports(void) { palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN | PAL_STM32_PUPDR_FLOATING); } diff --git a/keyboards/acheron/athena/alpha/config.h b/keyboards/acheron/athena/alpha/config.h index 1f91766add0..0466710e716 100644 --- a/keyboards/acheron/athena/alpha/config.h +++ b/keyboards/acheron/athena/alpha/config.h @@ -22,9 +22,7 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 -#define RGBLED_NUM 34 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/acheron/athena/alpha/info.json b/keyboards/acheron/athena/alpha/info.json index e72e8aece46..ff0ebf94b52 100644 --- a/keyboards/acheron/athena/alpha/info.json +++ b/keyboards/acheron/athena/alpha/info.json @@ -15,6 +15,9 @@ "on_state": 0, "breathing": true }, + "rgblight": { + "led_count": 34 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/acheron/athena/alpha/rules.mk b/keyboards/acheron/athena/alpha/rules.mk index 3d622c22169..086e2474baf 100644 --- a/keyboards/acheron/athena/alpha/rules.mk +++ b/keyboards/acheron/athena/alpha/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes ENCODER_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/acheron/athena/beta/config.h b/keyboards/acheron/athena/beta/config.h index 0376a9ac2ca..618cebef0cb 100644 --- a/keyboards/acheron/athena/beta/config.h +++ b/keyboards/acheron/athena/beta/config.h @@ -21,10 +21,7 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 -#define RGBLED_NUM 34 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/acheron/athena/beta/info.json b/keyboards/acheron/athena/beta/info.json index b2ced072a89..21b7a96337a 100644 --- a/keyboards/acheron/athena/beta/info.json +++ b/keyboards/acheron/athena/beta/info.json @@ -14,6 +14,9 @@ "levels": 20, "breathing": true }, + "rgblight": { + "led_count": 34 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/acheron/athena/beta/rules.mk b/keyboards/acheron/athena/beta/rules.mk index 3d622c22169..086e2474baf 100644 --- a/keyboards/acheron/athena/beta/rules.mk +++ b/keyboards/acheron/athena/beta/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes ENCODER_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/acheron/austin/rules.mk b/keyboards/acheron/austin/rules.mk index 295d6960eed..a5089d51a5b 100644 --- a/keyboards/acheron/austin/rules.mk +++ b/keyboards/acheron/austin/rules.mk @@ -10,5 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/acheron/elongate/beta/config.h b/keyboards/acheron/elongate/beta/config.h index 81093a2838f..9158a2f62f9 100644 --- a/keyboards/acheron/elongate/beta/config.h +++ b/keyboards/acheron/elongate/beta/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/acheron/elongate/beta/info.json b/keyboards/acheron/elongate/beta/info.json index 5f46a2a48c0..192784ba2ae 100644 --- a/keyboards/acheron/elongate/beta/info.json +++ b/keyboards/acheron/elongate/beta/info.json @@ -8,6 +8,12 @@ "pid": "0x454C", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "D7" }, diff --git a/keyboards/acheron/elongate/delta/config.h b/keyboards/acheron/elongate/delta/config.h index 2113a65b3a8..89122ba8cc6 100755 --- a/keyboards/acheron/elongate/delta/config.h +++ b/keyboards/acheron/elongate/delta/config.h @@ -21,8 +21,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PAL_MODE 1 -#define RGBLED_NUM 16 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/acheron/elongate/delta/delta.c b/keyboards/acheron/elongate/delta/delta.c index e83516b5667..e621b4495b5 100755 --- a/keyboards/acheron/elongate/delta/delta.c +++ b/keyboards/acheron/elongate/delta/delta.c @@ -16,7 +16,6 @@ #include "quantum.h" -#define LED_PIN_ON_STATE 1 // Inits all indicator LEDs as push-pull outputs void led_init_ports(void) { palSetLineMode(LED1_PIN, PAL_MODE_OUTPUT_PUSHPULL); diff --git a/keyboards/acheron/elongate/delta/info.json b/keyboards/acheron/elongate/delta/info.json index c753810954b..429cb11293f 100644 --- a/keyboards/acheron/elongate/delta/info.json +++ b/keyboards/acheron/elongate/delta/info.json @@ -20,7 +20,9 @@ "breathing_period": 3 }, "rgblight": { - "max_brightness": 200 + "led_count": 16, + "max_brightness": 200, + "sleep": true }, "ws2812": { "pin": "B15" diff --git a/keyboards/acheron/elongate/delta/rules.mk b/keyboards/acheron/elongate/delta/rules.mk old mode 100755 new mode 100644 index f84ab5d6023..3d5cb57ad50 --- a/keyboards/acheron/elongate/delta/rules.mk +++ b/keyboards/acheron/elongate/delta/rules.mk @@ -10,5 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/acheron/keebspcb/rules.mk b/keyboards/acheron/keebspcb/rules.mk index f94f12cb84a..5356b24d77c 100644 --- a/keyboards/acheron/keebspcb/rules.mk +++ b/keyboards/acheron/keebspcb/rules.mk @@ -10,5 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/acheron/lasgweloth/rules.mk b/keyboards/acheron/lasgweloth/rules.mk index 93f25a13d8d..5b6b0c92991 100644 --- a/keyboards/acheron/lasgweloth/rules.mk +++ b/keyboards/acheron/lasgweloth/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/acheron/shark/alpha/config.h b/keyboards/acheron/shark/alpha/config.h index 91f51146f0b..a34ea41cffb 100644 --- a/keyboards/acheron/shark/alpha/config.h +++ b/keyboards/acheron/shark/alpha/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/acheron/shark/beta/config.h b/keyboards/acheron/shark/beta/config.h index 348b284a3ff..d4616132e38 100644 --- a/keyboards/acheron/shark/beta/config.h +++ b/keyboards/acheron/shark/beta/config.h @@ -22,9 +22,7 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 -#define RGBLED_NUM 24 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/acheron/shark/beta/info.json b/keyboards/acheron/shark/beta/info.json index 504e86f4b3f..ca1ef7082bb 100644 --- a/keyboards/acheron/shark/beta/info.json +++ b/keyboards/acheron/shark/beta/info.json @@ -14,6 +14,9 @@ {"pin_a": "C15", "pin_b": "C14"} ] }, + "rgblight": { + "led_count": 24 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/acheron/shark/beta/rules.mk b/keyboards/acheron/shark/beta/rules.mk index fd436cc258a..a398475a3eb 100644 --- a/keyboards/acheron/shark/beta/rules.mk +++ b/keyboards/acheron/shark/beta/rules.mk @@ -15,5 +15,3 @@ ENCODER_ENABLE = yes EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ada/ada1800mini/config.h b/keyboards/ada/ada1800mini/config.h index 92f08f354ce..0c279a8bca6 100644 --- a/keyboards/ada/ada1800mini/config.h +++ b/keyboards/ada/ada1800mini/config.h @@ -17,11 +17,6 @@ #pragma once //TODO: implement RGB matrix when I get the hardware - #define RGBLED_NUM 100 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ada/ada1800mini/info.json b/keyboards/ada/ada1800mini/info.json index 1768a7b55b4..d32cee2fbe1 100644 --- a/keyboards/ada/ada1800mini/info.json +++ b/keyboards/ada/ada1800mini/info.json @@ -12,7 +12,11 @@ "pin": "F0" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 100, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "B3", "B2", "B1"], diff --git a/keyboards/ada/infinity81/config.h b/keyboards/ada/infinity81/config.h index 336bd351f1b..862f50a3c33 100644 --- a/keyboards/ada/infinity81/config.h +++ b/keyboards/ada/infinity81/config.h @@ -3,11 +3,6 @@ #pragma once -# define RGBLED_NUM 107 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ada/infinity81/info.json b/keyboards/ada/infinity81/info.json index f957a01094c..8e7e475c9fe 100644 --- a/keyboards/ada/infinity81/info.json +++ b/keyboards/ada/infinity81/info.json @@ -8,6 +8,12 @@ "pid": "0x0081", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 107, + "sleep": true + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/adafruit/macropad/config.h b/keyboards/adafruit/macropad/config.h index 08db87fefe1..818a8229f58 100644 --- a/keyboards/adafruit/macropad/config.h +++ b/keyboards/adafruit/macropad/config.h @@ -55,7 +55,6 @@ /* RGB Defines */ # define RGB_MATRIX_LED_COUNT 12 -# define RGBLED_NUM 12 /* Enable Framebuffer and keypress effects */ # define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/adkb96/info.json b/keyboards/adkb96/info.json index 47e08a7ed7d..aa7e5a6921e 100644 --- a/keyboards/adkb96/info.json +++ b/keyboards/adkb96/info.json @@ -16,6 +16,9 @@ "split": { "soft_serial_pin": "D0" }, + "tapping": { + "term": 100 + }, "processor": "atmega32u4", "bootloader": "caterina", "layout_aliases": { diff --git a/keyboards/adkb96/rev1/config.h b/keyboards/adkb96/rev1/config.h index 89de3d9a643..0b8941e7760 100644 --- a/keyboards/adkb96/rev1/config.h +++ b/keyboards/adkb96/rev1/config.h @@ -18,9 +18,6 @@ along with this program. If not, see . #pragma once -/* define tapping term */ -#define TAPPING_TERM 100 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/adm42/config.h b/keyboards/adm42/config.h index af23da4c662..b5ba2eb94ea 100644 --- a/keyboards/adm42/config.h +++ b/keyboards/adm42/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 1 - #if defined(CONSOLE_ENABLE) #define DEBUG_MATRIX_SCAN_RATE #endif diff --git a/keyboards/adm42/info.json b/keyboards/adm42/info.json index 0ffebff135a..b305eb20673 100644 --- a/keyboards/adm42/info.json +++ b/keyboards/adm42/info.json @@ -13,7 +13,14 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 24 + }, + "qmk": { + "tap_keycode_delay": 1 + }, + "build": { + "debounce_type": "sym_eager_pk" }, "matrix_pins": { "cols": ["C6", "B6", "B5", "B4", "D7", "D6", "F0", "F1", "F4", "F5", "F6", "F7"], diff --git a/keyboards/adm42/rev4/config.h b/keyboards/adm42/rev4/config.h index fbf2e300eff..5553b18751c 100644 --- a/keyboards/adm42/rev4/config.h +++ b/keyboards/adm42/rev4/config.h @@ -27,10 +27,6 @@ #define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 20 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_MATRIX_SAT_STEP 24 -#define RGB_MATRIX_HUE_STEP 8 -#define RGB_MATRIX_VAL_STEP 16 -#define RGB_MATRIX_SPD_STEP 16 #define ENABLE_RGB_MATRIX_BREATHING #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT diff --git a/keyboards/adm42/rules.mk b/keyboards/adm42/rules.mk index 73e4d46c59c..a2402f19a9b 100644 --- a/keyboards/adm42/rules.mk +++ b/keyboards/adm42/rules.mk @@ -10,7 +10,6 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -DEBOUNCE_TYPE = sym_eager_pk LTO_ENABLE = yes DEFAULT_FOLDER = adm42/rev4 diff --git a/keyboards/adpenrose/akemipad/config.h b/keyboards/adpenrose/akemipad/config.h index 5756903c664..230453c3a00 100644 --- a/keyboards/adpenrose/akemipad/config.h +++ b/keyboards/adpenrose/akemipad/config.h @@ -3,8 +3,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - /* Audio functionality */ #define AUDIO_PIN C6 #define AUDIO_CLICKY diff --git a/keyboards/adpenrose/akemipad/info.json b/keyboards/adpenrose/akemipad/info.json index fb70fb00a4f..c1b6377e60f 100644 --- a/keyboards/adpenrose/akemipad/info.json +++ b/keyboards/adpenrose/akemipad/info.json @@ -23,6 +23,9 @@ {"pin_a": "B1", "pin_b": "B3"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/adpenrose/kintsugi/config.h b/keyboards/adpenrose/kintsugi/config.h index 088b40139bf..e08849d93ee 100644 --- a/keyboards/adpenrose/kintsugi/config.h +++ b/keyboards/adpenrose/kintsugi/config.h @@ -17,14 +17,7 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 - /* Underglow options: */ -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/adpenrose/kintsugi/info.json b/keyboards/adpenrose/kintsugi/info.json index 3daf3326acd..6ae75a227ee 100644 --- a/keyboards/adpenrose/kintsugi/info.json +++ b/keyboards/adpenrose/kintsugi/info.json @@ -8,6 +8,12 @@ "pid": "0x0001", "device_version": "1.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "F1" }, @@ -21,6 +27,9 @@ {"pin_a": "B7", "pin_b": "D5"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/adpenrose/mine/config.h b/keyboards/adpenrose/mine/config.h new file mode 100644 index 00000000000..cc05ddf8f17 --- /dev/null +++ b/keyboards/adpenrose/mine/config.h @@ -0,0 +1,9 @@ +// Copyright 2022 Arturo Avila (@Arturo Avila) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Solenoid pin */ +#define SOLENOID_PIN A7 + +#define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/adpenrose/mine/info.json b/keyboards/adpenrose/mine/info.json new file mode 100644 index 00000000000..5010485602d --- /dev/null +++ b/keyboards/adpenrose/mine/info.json @@ -0,0 +1,357 @@ +{ + "manufacturer": "ADPenrose", + "keyboard_name": "Mine", + "maintainer": "Arturo Avila", + "usb": { + "device_version": "1.0.0", + "pid": "0x0006", + "vid": "0x4450" + }, + "features": { + "encoder": true, + "bootmagic": true, + "extrakey": true + }, + "build": { + "lto": true + }, + "encoder": { + "rotary": [{ "pin_a": "C4", "pin_b": "C3" }] + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "rows": ["A0", "A1", "A4", "A3", "C7", "B4", "B5", "B6", "A6", "A2", "A5"], + "cols": ["B0", "B1", "B2", "B3", "D0", "D1", "D5", "D6", "C6", "C5"] + }, + "processor": "atmega32a", + "bootloader": "usbasploader", + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "Enc", "matrix": [0, 9], "x": 20.75, "y": 0 }, + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0 }, + { "label": "F2", "matrix": [1, 1], "x": 2.25, "y": 0 }, + { "label": "F3", "matrix": [0, 2], "x": 3.5, "y": 0 }, + { "label": "F4", "matrix": [1, 2], "x": 4.5, "y": 0 }, + { "label": "F5", "matrix": [0, 3], "x": 5.75, "y": 0 }, + { "label": "F6", "matrix": [1, 3], "x": 6.75, "y": 0 }, + { "label": "F7", "matrix": [9, 3], "x": 9.25, "y": 0 }, + { "label": "F8", "matrix": [10, 3], "x": 10.25, "y": 0 }, + { "label": "F9", "matrix": [0, 4], "x": 11.5, "y": 0 }, + { "label": "F10", "matrix": [0, 5], "x": 12.5, "y": 0 }, + { "label": "F11", "matrix": [0, 6], "x": 13.75, "y": 0 }, + { "label": "F12", "matrix": [1, 6], "x": 14.75, "y": 0 }, + { "label": "M1", "matrix": [10, 6], "x": 16, "y": 0 }, + { "label": "M2", "matrix": [0, 7], "x": 17, "y": 0 }, + { "label": "Num Lock", "matrix": [1, 7], "x": 17.75, "y": 1.25 }, + { "label": "/", "matrix": [0, 8], "x": 18.75, "y": 1.25 }, + { "label": "*", "matrix": [10, 8], "x": 19.75, "y": 1.25 }, + { "label": "-", "matrix": [1, 9], "x": 20.75, "y": 1.25 }, + + { "label": "~", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "!", "matrix": [10, 0], "x": 1, "y": 1.25 }, + { "label": "@", "matrix": [2, 1], "x": 2, "y": 1.25 }, + { "label": "#", "matrix": [10, 1], "x": 3, "y": 1.25 }, + { "label": "$", "matrix": [2, 2], "x": 4, "y": 1.25 }, + { "label": "%", "matrix": [10, 2], "x": 5, "y": 1.25 }, + { "label": "^", "matrix": [2, 3], "x": 6, "y": 1.25 }, + { "label": "&", "matrix": [8, 3], "x": 9.25, "y": 1.25 }, + { "label": "*", "matrix": [1, 4], "x": 10.25, "y": 1.25 }, + { "label": "(", "matrix": [10, 4], "x": 11.25, "y": 1.25 }, + { "label": ")", "matrix": [1, 5], "x": 12.25, "y": 1.25 }, + { "label": "_", "matrix": [10, 5], "x": 13.25, "y": 1.25 }, + { "label": "+", "matrix": [2, 6], "x": 14.25, "y": 1.25 }, + { "label": "Backspace", "matrix": [9, 6], "w": 2, "x": 15.25, "y": 1.25 }, + { "label": "7", "matrix": [2, 7], "x": 17.75, "y": 2.25 }, + { "label": "8", "matrix": [1, 8], "x": 18.75, "y": 2.25 }, + { "label": "9", "matrix": [9, 8], "x": 19.75, "y": 2.25 }, + { "h": 2, "label": "+", "matrix": [8, 8], "x": 20.75, "y": 2.25 }, + + { "label": "Tab", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, + { "label": "Q", "matrix": [9, 0], "x": 1.5, "y": 2.25 }, + { "label": "W", "matrix": [3, 1], "x": 2.5, "y": 2.25 }, + { "label": "E", "matrix": [9, 1], "x": 3.5, "y": 2.25 }, + { "label": "R", "matrix": [3, 2], "x": 4.5, "y": 2.25 }, + { "label": "T", "matrix": [9, 2], "x": 5.5, "y": 2.25 }, + { "label": "Y", "matrix": [7, 3], "x": 8.75, "y": 2.25 }, + { "label": "U", "matrix": [2, 4], "x": 9.75, "y": 2.25 }, + { "label": "I", "matrix": [9, 4], "x": 10.75, "y": 2.25 }, + { "label": "O", "matrix": [2, 5], "x": 11.75, "y": 2.25 }, + { "label": "P", "matrix": [9, 5], "x": 12.75, "y": 2.25 }, + { "label": "{", "matrix": [3, 6], "x": 13.75, "y": 2.25 }, + { "label": "}", "matrix": [8, 6], "x": 14.75, "y": 2.25 }, + { "label": "|", "matrix": [7, 7], "w": 1.5, "x": 15.75, "y": 2.25 }, + { "label": "4", "matrix": [3, 7], "x": 17.75, "y": 3.25 }, + { "label": "5", "matrix": [2, 8], "x": 18.75, "y": 3.25 }, + { "label": "6", "matrix": [7, 8], "x": 19.75, "y": 3.25 }, + + { "label": "Caps Lock", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, + { "label": "A", "matrix": [8, 0], "x": 1.75, "y": 3.25 }, + { "label": "S", "matrix": [4, 1], "x": 2.75, "y": 3.25 }, + { "label": "D", "matrix": [8, 1], "x": 3.75, "y": 3.25 }, + { "label": "F", "matrix": [4, 2], "x": 4.75, "y": 3.25 }, + { "label": "G", "matrix": [8, 2], "x": 5.75, "y": 3.25 }, + { "label": "H", "matrix": [6, 3], "x": 9, "y": 3.25 }, + { "label": "J", "matrix": [3, 4], "x": 10, "y": 3.25 }, + { "label": "K", "matrix": [8, 4], "x": 11, "y": 3.25 }, + { "label": "L", "matrix": [3, 5], "x": 12, "y": 3.25 }, + { "label": ":", "matrix": [8, 5], "x": 13, "y": 3.25 }, + { "label": "\\", "matrix": [4, 6], "x": 14, "y": 3.25 }, + { "label": "#", "matrix": [6, 6], "x": 15, "y": 3.25 }, + { "label": "Enter", "matrix": [7, 6], "w": 2.25, "x": 15, "y": 3.25 }, + { "label": "1", "matrix": [4, 7], "x": 17.75, "y": 4.25 }, + { "label": "2", "matrix": [3, 8], "x": 18.75, "y": 4.25 }, + { "label": "3", "matrix": [6, 8], "x": 19.75, "y": 4.25 }, + { "h": 2, "label": "Enter", "matrix": [5, 8], "x": 20.75, "y": 4.25 }, + + { "label": "Shift", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, + { "label": "~", "matrix": [7, 0], "x": 1.25, "y": 4.25 }, + { "label": "Z", "matrix": [5, 1], "x": 2.25, "y": 4.25 }, + { "label": "X", "matrix": [7, 1], "x": 3.25, "y": 4.25 }, + { "label": "C", "matrix": [5, 2], "x": 4.25, "y": 4.25 }, + { "label": "V", "matrix": [7, 2], "x": 5.25, "y": 4.25 }, + { "label": "B", "matrix": [3, 3], "x": 6.25, "y": 4.25 }, + { "label": "B", "matrix": [5, 3], "x": 8.5, "y": 4.25 }, + { "label": "N", "matrix": [4, 4], "x": 9.5, "y": 4.25 }, + { "label": "M", "matrix": [5, 4], "x": 10.5, "y": 4.25 }, + { "label": "<", "matrix": [7, 4], "x": 11.5, "y": 4.25 }, + { "label": ">", "matrix": [4, 5], "x": 12.5, "y": 4.25 }, + { "label": "?", "matrix": [7, 5], "x": 13.5, "y": 4.25 }, + { "label": "Shift", "matrix": [5, 6], "w": 2.75, "x": 14.5, "y": 4.25 }, + { "label": "Up", "matrix": [5, 7], "x": 17.5, "y": 5.5 }, + { "label": "0", "matrix": [10, 7], "x": 18.75, "y": 5.25 }, + { "label": ".", "matrix": [4, 8], "x": 19.75, "y": 5.25 }, + + { "label": "LCtrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "label": "LWin", "matrix": [6, 0], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "label": "LAlt", "matrix": [6, 1], "w": 1.25, "x": 3.25, "y": 5.25 }, + { "label": "LSpacebar", "matrix": [6, 2], "w": 2.75, "x": 4.5, "y": 5.25 }, + { "label": "RSpacebar", "matrix": [4, 3], "w": 2.25, "x": 8.5, "y": 5.25 }, + { "label": "RAlt", "matrix": [6, 4], "w": 1.25, "x": 10.75, "y": 5.25 }, + { "label": "RWin", "matrix": [5, 5], "w": 1.25, "x": 14.75, "y": 5.25 }, + { "label": "RCtrl", "matrix": [6, 5], "w": 1.25, "x": 16, "y": 5.25 }, + { "label": "Left", "matrix": [6, 7], "x": 16.5, "y": 6.5 }, + { "label": "Down", "matrix": [8, 7], "x": 17.5, "y": 6.5 }, + { "label": "Right", "matrix": [9, 7], "x": 18.5, "y": 6.5 } + ] + }, + "LAYOUT_1800_alice_ansi": { + "layout": [ + { "label": "Enc", "matrix": [0, 9], "x": 20.75, "y": 0 }, + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0 }, + { "label": "F2", "matrix": [1, 1], "x": 2.25, "y": 0 }, + { "label": "F3", "matrix": [0, 2], "x": 3.5, "y": 0 }, + { "label": "F4", "matrix": [1, 2], "x": 4.5, "y": 0 }, + { "label": "F5", "matrix": [0, 3], "x": 5.75, "y": 0 }, + { "label": "F6", "matrix": [1, 3], "x": 6.75, "y": 0 }, + { "label": "F7", "matrix": [9, 3], "x": 9.25, "y": 0 }, + { "label": "F8", "matrix": [10, 3], "x": 10.25, "y": 0 }, + { "label": "F9", "matrix": [0, 4], "x": 11.5, "y": 0 }, + { "label": "F10", "matrix": [0, 5], "x": 12.5, "y": 0 }, + { "label": "F11", "matrix": [0, 6], "x": 13.75, "y": 0 }, + { "label": "F12", "matrix": [1, 6], "x": 14.75, "y": 0 }, + { "label": "M1", "matrix": [10, 6], "x": 16, "y": 0 }, + { "label": "M2", "matrix": [0, 7], "x": 17, "y": 0 }, + { "label": "Num Lock", "matrix": [1, 7], "x": 17.75, "y": 1.25 }, + { "label": "/", "matrix": [0, 8], "x": 18.75, "y": 1.25 }, + { "label": "*", "matrix": [10, 8], "x": 19.75, "y": 1.25 }, + { "label": "-", "matrix": [1, 9], "x": 20.75, "y": 1.25 }, + + { "label": "~", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "!", "matrix": [10, 0], "x": 1, "y": 1.25 }, + { "label": "@", "matrix": [2, 1], "x": 2, "y": 1.25 }, + { "label": "#", "matrix": [10, 1], "x": 3, "y": 1.25 }, + { "label": "$", "matrix": [2, 2], "x": 4, "y": 1.25 }, + { "label": "%", "matrix": [10, 2], "x": 5, "y": 1.25 }, + { "label": "^", "matrix": [2, 3], "x": 6, "y": 1.25 }, + { "label": "&", "matrix": [8, 3], "x": 9.25, "y": 1.25 }, + { "label": "*", "matrix": [1, 4], "x": 10.25, "y": 1.25 }, + { "label": "(", "matrix": [10, 4], "x": 11.25, "y": 1.25 }, + { "label": ")", "matrix": [1, 5], "x": 12.25, "y": 1.25 }, + { "label": "_", "matrix": [10, 5], "x": 13.25, "y": 1.25 }, + { "label": "+", "matrix": [2, 6], "x": 14.25, "y": 1.25 }, + { "label": "Backspace", "matrix": [9, 6], "w": 2, "x": 15.25, "y": 1.25 }, + { "label": "7", "matrix": [2, 7], "x": 17.75, "y": 2.25 }, + { "label": "8", "matrix": [1, 8], "x": 18.75, "y": 2.25 }, + { "label": "9", "matrix": [9, 8], "x": 19.75, "y": 2.25 }, + { "h": 2, "label": "+", "matrix": [8, 8], "x": 20.75, "y": 2.25 }, + + { "label": "Tab", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, + { "label": "Q", "matrix": [9, 0], "x": 1.5, "y": 2.25 }, + { "label": "W", "matrix": [3, 1], "x": 2.5, "y": 2.25 }, + { "label": "E", "matrix": [9, 1], "x": 3.5, "y": 2.25 }, + { "label": "R", "matrix": [3, 2], "x": 4.5, "y": 2.25 }, + { "label": "T", "matrix": [9, 2], "x": 5.5, "y": 2.25 }, + { "label": "Y", "matrix": [7, 3], "x": 8.75, "y": 2.25 }, + { "label": "U", "matrix": [2, 4], "x": 9.75, "y": 2.25 }, + { "label": "I", "matrix": [9, 4], "x": 10.75, "y": 2.25 }, + { "label": "O", "matrix": [2, 5], "x": 11.75, "y": 2.25 }, + { "label": "P", "matrix": [9, 5], "x": 12.75, "y": 2.25 }, + { "label": "{", "matrix": [3, 6], "x": 13.75, "y": 2.25 }, + { "label": "}", "matrix": [8, 6], "x": 14.75, "y": 2.25 }, + { "label": "|", "matrix": [7, 7], "w": 1.5, "x": 15.75, "y": 2.25 }, + { "label": "4", "matrix": [3, 7], "x": 17.75, "y": 3.25 }, + { "label": "5", "matrix": [2, 8], "x": 18.75, "y": 3.25 }, + { "label": "6", "matrix": [7, 8], "x": 19.75, "y": 3.25 }, + + { "label": "Caps Lock", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, + { "label": "A", "matrix": [8, 0], "x": 1.75, "y": 3.25 }, + { "label": "S", "matrix": [4, 1], "x": 2.75, "y": 3.25 }, + { "label": "D", "matrix": [8, 1], "x": 3.75, "y": 3.25 }, + { "label": "F", "matrix": [4, 2], "x": 4.75, "y": 3.25 }, + { "label": "G", "matrix": [8, 2], "x": 5.75, "y": 3.25 }, + { "label": "H", "matrix": [6, 3], "x": 9, "y": 3.25 }, + { "label": "J", "matrix": [3, 4], "x": 10, "y": 3.25 }, + { "label": "K", "matrix": [8, 4], "x": 11, "y": 3.25 }, + { "label": "L", "matrix": [3, 5], "x": 12, "y": 3.25 }, + { "label": ":", "matrix": [8, 5], "x": 13, "y": 3.25 }, + { "label": "\\", "matrix": [4, 6], "x": 14, "y": 3.25 }, + { "label": "Enter", "matrix": [7, 6], "w": 2.25, "x": 15, "y": 3.25 }, + { "label": "1", "matrix": [4, 7], "x": 17.75, "y": 4.25 }, + { "label": "2", "matrix": [3, 8], "x": 18.75, "y": 4.25 }, + { "label": "3", "matrix": [6, 8], "x": 19.75, "y": 4.25 }, + { "h": 2, "label": "Enter", "matrix": [5, 8], "x": 20.75, "y": 4.25 }, + + { "label": "Shift", "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, + { "label": "Z", "matrix": [5, 1], "x": 2.25, "y": 4.25 }, + { "label": "X", "matrix": [7, 1], "x": 3.25, "y": 4.25 }, + { "label": "C", "matrix": [5, 2], "x": 4.25, "y": 4.25 }, + { "label": "V", "matrix": [7, 2], "x": 5.25, "y": 4.25 }, + { "label": "B", "matrix": [3, 3], "x": 6.25, "y": 4.25 }, + { "label": "B", "matrix": [5, 3], "x": 8.5, "y": 4.25 }, + { "label": "N", "matrix": [4, 4], "x": 9.5, "y": 4.25 }, + { "label": "M", "matrix": [5, 4], "x": 10.5, "y": 4.25 }, + { "label": "<", "matrix": [7, 4], "x": 11.5, "y": 4.25 }, + { "label": ">", "matrix": [4, 5], "x": 12.5, "y": 4.25 }, + { "label": "?", "matrix": [7, 5], "x": 13.5, "y": 4.25 }, + { "label": "Shift", "matrix": [5, 6], "w": 2.75, "x": 14.5, "y": 4.25 }, + { "label": "Up", "matrix": [5, 7], "x": 17.5, "y": 5.5 }, + { "label": "0", "matrix": [10, 7], "x": 18.75, "y": 5.25 }, + { "label": ".", "matrix": [4, 8], "x": 19.75, "y": 5.25 }, + + { "label": "LCtrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "label": "LWin", "matrix": [6, 0], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "label": "LAlt", "matrix": [6, 1], "w": 1.25, "x": 3.25, "y": 5.25 }, + { "label": "LSpacebar", "matrix": [6, 2], "w": 2.75, "x": 4.5, "y": 5.25 }, + { "label": "RSpacebar", "matrix": [4, 3], "w": 2.25, "x": 8.5, "y": 5.25 }, + { "label": "RAlt", "matrix": [6, 4], "w": 1.25, "x": 10.75, "y": 5.25 }, + { "label": "RWin", "matrix": [5, 5], "w": 1.25, "x": 14.75, "y": 5.25 }, + { "label": "RCtrl", "matrix": [6, 5], "w": 1.25, "x": 16, "y": 5.25 }, + { "label": "Left", "matrix": [6, 7], "x": 16.5, "y": 6.5 }, + { "label": "Down", "matrix": [8, 7], "x": 17.5, "y": 6.5 }, + { "label": "Right", "matrix": [9, 7], "x": 18.5, "y": 6.5 } + ] + }, + "LAYOUT_1800_alice_iso": { + "layout": [ + { "label": "Enc", "matrix": [0, 9], "x": 20.75, "y": 0 }, + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0 }, + { "label": "F2", "matrix": [1, 1], "x": 2.25, "y": 0 }, + { "label": "F3", "matrix": [0, 2], "x": 3.5, "y": 0 }, + { "label": "F4", "matrix": [1, 2], "x": 4.5, "y": 0 }, + { "label": "F5", "matrix": [0, 3], "x": 5.75, "y": 0 }, + { "label": "F6", "matrix": [1, 3], "x": 6.75, "y": 0 }, + { "label": "F7", "matrix": [9, 3], "x": 9.25, "y": 0 }, + { "label": "F8", "matrix": [10, 3], "x": 10.25, "y": 0 }, + { "label": "F9", "matrix": [0, 4], "x": 11.5, "y": 0 }, + { "label": "F10", "matrix": [0, 5], "x": 12.5, "y": 0 }, + { "label": "F11", "matrix": [0, 6], "x": 13.75, "y": 0 }, + { "label": "F12", "matrix": [1, 6], "x": 14.75, "y": 0 }, + { "label": "M1", "matrix": [10, 6], "x": 16, "y": 0 }, + { "label": "M2", "matrix": [0, 7], "x": 17, "y": 0 }, + { "label": "Num Lock", "matrix": [1, 7], "x": 17.75, "y": 1.25 }, + { "label": "/", "matrix": [0, 8], "x": 18.75, "y": 1.25 }, + { "label": "*", "matrix": [10, 8], "x": 19.75, "y": 1.25 }, + { "label": "-", "matrix": [1, 9], "x": 20.75, "y": 1.25 }, + + { "label": "~", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "!", "matrix": [10, 0], "x": 1, "y": 1.25 }, + { "label": "@", "matrix": [2, 1], "x": 2, "y": 1.25 }, + { "label": "#", "matrix": [10, 1], "x": 3, "y": 1.25 }, + { "label": "$", "matrix": [2, 2], "x": 4, "y": 1.25 }, + { "label": "%", "matrix": [10, 2], "x": 5, "y": 1.25 }, + { "label": "^", "matrix": [2, 3], "x": 6, "y": 1.25 }, + { "label": "&", "matrix": [8, 3], "x": 9.25, "y": 1.25 }, + { "label": "*", "matrix": [1, 4], "x": 10.25, "y": 1.25 }, + { "label": "(", "matrix": [10, 4], "x": 11.25, "y": 1.25 }, + { "label": ")", "matrix": [1, 5], "x": 12.25, "y": 1.25 }, + { "label": "_", "matrix": [10, 5], "x": 13.25, "y": 1.25 }, + { "label": "+", "matrix": [2, 6], "x": 14.25, "y": 1.25 }, + { "label": "Backspace", "matrix": [9, 6], "w": 2, "x": 15.25, "y": 1.25 }, + { "label": "7", "matrix": [2, 7], "x": 17.75, "y": 2.25 }, + { "label": "8", "matrix": [1, 8], "x": 18.75, "y": 2.25 }, + { "label": "9", "matrix": [9, 8], "x": 19.75, "y": 2.25 }, + { "h": 2, "label": "+", "matrix": [8, 8], "x": 20.75, "y": 2.25 }, + + { "label": "Tab", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, + { "label": "Q", "matrix": [9, 0], "x": 1.5, "y": 2.25 }, + { "label": "W", "matrix": [3, 1], "x": 2.5, "y": 2.25 }, + { "label": "E", "matrix": [9, 1], "x": 3.5, "y": 2.25 }, + { "label": "R", "matrix": [3, 2], "x": 4.5, "y": 2.25 }, + { "label": "T", "matrix": [9, 2], "x": 5.5, "y": 2.25 }, + { "label": "Y", "matrix": [7, 3], "x": 8.75, "y": 2.25 }, + { "label": "U", "matrix": [2, 4], "x": 9.75, "y": 2.25 }, + { "label": "I", "matrix": [9, 4], "x": 10.75, "y": 2.25 }, + { "label": "O", "matrix": [2, 5], "x": 11.75, "y": 2.25 }, + { "label": "P", "matrix": [9, 5], "x": 12.75, "y": 2.25 }, + { "label": "{", "matrix": [3, 6], "x": 13.75, "y": 2.25 }, + { "label": "}", "matrix": [8, 6], "x": 14.75, "y": 2.25 }, + { "label": "4", "matrix": [3, 7], "x": 17.75, "y": 3.25 }, + { "label": "5", "matrix": [2, 8], "x": 18.75, "y": 3.25 }, + { "label": "6", "matrix": [7, 8], "x": 19.75, "y": 3.25 }, + + { "label": "Caps Lock", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, + { "label": "A", "matrix": [8, 0], "x": 1.75, "y": 3.25 }, + { "label": "S", "matrix": [4, 1], "x": 2.75, "y": 3.25 }, + { "label": "D", "matrix": [8, 1], "x": 3.75, "y": 3.25 }, + { "label": "F", "matrix": [4, 2], "x": 4.75, "y": 3.25 }, + { "label": "G", "matrix": [8, 2], "x": 5.75, "y": 3.25 }, + { "label": "H", "matrix": [6, 3], "x": 9, "y": 3.25 }, + { "label": "J", "matrix": [3, 4], "x": 10, "y": 3.25 }, + { "label": "K", "matrix": [8, 4], "x": 11, "y": 3.25 }, + { "label": "L", "matrix": [3, 5], "x": 12, "y": 3.25 }, + { "label": ":", "matrix": [8, 5], "x": 13, "y": 3.25 }, + { "label": "\\", "matrix": [4, 6], "x": 14, "y": 3.25 }, + { "label": "#", "matrix": [6, 6], "x": 15, "y": 3.25 }, + { "h": 2, "label": "Enter", "matrix": [7, 6], "w": 1.25, "x": 16, "y": 2.25 }, + { "label": "1", "matrix": [4, 7], "x": 17.75, "y": 4.25 }, + { "label": "2", "matrix": [3, 8], "x": 18.75, "y": 4.25 }, + { "label": "3", "matrix": [6, 8], "x": 19.75, "y": 4.25 }, + { "h": 2, "label": "Enter", "matrix": [5, 8], "x": 20.75, "y": 4.25 }, + + { "label": "Shift", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, + { "label": "~", "matrix": [7, 0], "x": 1.25, "y": 4.25 }, + { "label": "Z", "matrix": [5, 1], "x": 2.25, "y": 4.25 }, + { "label": "X", "matrix": [7, 1], "x": 3.25, "y": 4.25 }, + { "label": "C", "matrix": [5, 2], "x": 4.25, "y": 4.25 }, + { "label": "V", "matrix": [7, 2], "x": 5.25, "y": 4.25 }, + { "label": "B", "matrix": [3, 3], "x": 6.25, "y": 4.25 }, + { "label": "B", "matrix": [5, 3], "x": 8.5, "y": 4.25 }, + { "label": "N", "matrix": [4, 4], "x": 9.5, "y": 4.25 }, + { "label": "M", "matrix": [5, 4], "x": 10.5, "y": 4.25 }, + { "label": "<", "matrix": [7, 4], "x": 11.5, "y": 4.25 }, + { "label": ">", "matrix": [4, 5], "x": 12.5, "y": 4.25 }, + { "label": "?", "matrix": [7, 5], "x": 13.5, "y": 4.25 }, + { "label": "Shift", "matrix": [5, 6], "w": 2.75, "x": 14.5, "y": 4.25 }, + { "label": "Up", "matrix": [5, 7], "x": 17.5, "y": 5.5 }, + { "label": "0", "matrix": [10, 7], "x": 18.75, "y": 5.25 }, + { "label": ".", "matrix": [4, 8], "x": 19.75, "y": 5.25 }, + + { "label": "LCtrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "label": "LWin", "matrix": [6, 0], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "label": "LAlt", "matrix": [6, 1], "w": 1.25, "x": 3.25, "y": 5.25 }, + { "label": "LSpacebar", "matrix": [6, 2], "w": 2.75, "x": 4.5, "y": 5.25 }, + { "label": "RSpacebar", "matrix": [4, 3], "w": 2.25, "x": 8.5, "y": 5.25 }, + { "label": "RAlt", "matrix": [6, 4], "w": 1.25, "x": 10.75, "y": 5.25 }, + { "label": "RWin", "matrix": [5, 5], "w": 1.25, "x": 14.75, "y": 5.25 }, + { "label": "RCtrl", "matrix": [6, 5], "w": 1.25, "x": 16, "y": 5.25 }, + { "label": "Left", "matrix": [6, 7], "x": 16.5, "y": 6.5 }, + { "label": "Down", "matrix": [8, 7], "x": 17.5, "y": 6.5 }, + { "label": "Right", "matrix": [9, 7], "x": 18.5, "y": 6.5 } + ] + } + } +} diff --git a/keyboards/adpenrose/mine/keymaps/default/keymap.c b/keyboards/adpenrose/mine/keymaps/default/keymap.c new file mode 100644 index 00000000000..3d6cf31bd86 --- /dev/null +++ b/keyboards/adpenrose/mine/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +// 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_1800_alice_ansi( + 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_ENT, KC_P1, KC_P2, KC_P3, KC_PENT, + 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_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_1800_alice_ansi( + 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 \ No newline at end of file diff --git a/keyboards/adpenrose/mine/keymaps/default/rules.mk b/keyboards/adpenrose/mine/keymaps/default/rules.mk new file mode 100644 index 00000000000..4769500eb06 --- /dev/null +++ b/keyboards/adpenrose/mine/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes # Encoder mapping functionality \ No newline at end of file diff --git a/keyboards/adpenrose/mine/keymaps/iso/keymap.c b/keyboards/adpenrose/mine/keymaps/iso/keymap.c new file mode 100644 index 00000000000..988330c979f --- /dev/null +++ b/keyboards/adpenrose/mine/keymaps/iso/keymap.c @@ -0,0 +1,33 @@ +// 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_1800_alice_iso( + 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_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, MO(1), 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_1800_alice_iso( + 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 + ) +}; + +#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 \ No newline at end of file diff --git a/keyboards/adpenrose/mine/keymaps/iso/rules.mk b/keyboards/adpenrose/mine/keymaps/iso/rules.mk new file mode 100644 index 00000000000..4769500eb06 --- /dev/null +++ b/keyboards/adpenrose/mine/keymaps/iso/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes # Encoder mapping functionality \ No newline at end of file diff --git a/keyboards/adpenrose/mine/keymaps/solenoid/keymap.c b/keyboards/adpenrose/mine/keymaps/solenoid/keymap.c new file mode 100644 index 00000000000..cd9e1768eb6 --- /dev/null +++ b/keyboards/adpenrose/mine/keymaps/solenoid/keymap.c @@ -0,0 +1,43 @@ +// 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( + HF_TOGG, + 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, MO(1), 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 + +#ifdef HAPTIC_ENABLE +bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_VOLU ... KC_VOLD: + return false; + } + return true; +} +#endif diff --git a/keyboards/adpenrose/mine/keymaps/solenoid/rules.mk b/keyboards/adpenrose/mine/keymaps/solenoid/rules.mk new file mode 100644 index 00000000000..2a1e874d82f --- /dev/null +++ b/keyboards/adpenrose/mine/keymaps/solenoid/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +HAPTIC_ENABLE = yes +HAPTIC_DRIVER += SOLENOID +ENCODER_MAP_ENABLE = yes # Encoder mapping functionality \ No newline at end of file diff --git a/keyboards/adpenrose/mine/keymaps/via/keymap.c b/keyboards/adpenrose/mine/keymaps/via/keymap.c new file mode 100644 index 00000000000..776ed893d54 --- /dev/null +++ b/keyboards/adpenrose/mine/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +// 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/hfdkb/keyboard_sw/k83/keymaps/via/rules.mk b/keyboards/adpenrose/mine/keymaps/via/rules.mk similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/keymaps/via/rules.mk rename to keyboards/adpenrose/mine/keymaps/via/rules.mk diff --git a/keyboards/adpenrose/mine/matrix_diagram.md b/keyboards/adpenrose/mine/matrix_diagram.md new file mode 100644 index 00000000000..05d34fb066e --- /dev/null +++ b/keyboards/adpenrose/mine/matrix_diagram.md @@ -0,0 +1,78 @@ +# Matrix Diagram for the Mine Keyboard +## Matrix for "LAYOUT_all": +``` +┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐ +│0A│ │0B││1B│ │0C││1C│ │0D││1D│ │9D││AD│ │0E││0F│ │0G││1G│ │AG││0H│ │0J│ +└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘ +┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──────┐ ┌──┐┌──┐┌──┐┌──┐ +│1A││AA││2B││AB││2C││AC││2D│ │8D││1E││AE││1F││AF││2G││9G │ │1H││0I││AI││1J│ +└──┘└──┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──────┘ └──┘└──┘└──┘└──┘ +┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌────┐ ┌──┐┌──┐┌──┐┌──┐ +│2A ││9A││3B││9B││3C││9C│ │7D││2E││9E││2F││9F││3G││8G││7H │ │2H││1I││9I││8I│ +└────┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘ └──┘└──┘└──┘│ │ +┌─────┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌───────┐ ┌──┐┌──┐┌──┐│ │ +│3A ││8A││4B││8B││4C││8C│ │6D││3E││8E││3F││8F││4G││7G │ │3H││2I││7I││ │ +└─────┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└───────┘ └──┘└──┘└──┘└──┘ +┌───┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌─────────┐ ┌──┐┌──┐┌──┐┌──┐ +│4A ││7A││5B││7B││5C││7C││3D│ │5D││4E││5E││7E││4F││7F││5G │ │4H││3I││6I││5I│ +└───┘└──┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└─────────┘ └──┘└──┘└──┘│ │ +┌───┐┌───┐ ┌───┐┌─────────┐ ┌───────┐┌───┐ ┌───┐┌───┐ ┌──┐┌──┐│ │ +│5A ││6A │ │6B ││6C │ │4D ││6E │ │5F ││6F │ ┌──┐ │AH││4I││ │ +└───┘└───┘ └───┘└─────────┘ └───────┘└───┘ └───┘└───┘ │5H│ └──┘└──┘└──┘ + └──┘ + ┌──┐┌──┐┌──┐ + │6H││8H││9H│ + └──┘└──┘└──┘ +``` + +## Matrix for "LAYOUT_1800_alice_ansi": +``` +┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐ +│0A│ │0B││1B│ │0C││1C│ │0D││1D│ │9D││AD│ │0E││0F│ │0G││1G│ │AG││0H│ │0J│ +└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘ +┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──────┐ ┌──┐┌──┐┌──┐┌──┐ +│1A││AA││2B││AB││2C││AC││2D│ │8D││1E││AE││1F││AF││2G││9G │ │1H││0I││AI││1J│ +└──┘└──┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──────┘ └──┘└──┘└──┘└──┘ +┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌────┐ ┌──┐┌──┐┌──┐┌──┐ +│2A ││9A││3B││9B││3C││9C│ │7D││2E││9E││2F││9F││3G││8G││7H │ │2H││1I││9I││8I│ +└────┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘ └──┘└──┘└──┘│ │ +┌─────┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌───────┐ ┌──┐┌──┐┌──┐│ │ +│3A ││8A││4B││8B││4C││8C│ │6D││3E││8E││3F││8F││4G││7G │ │3H││2I││7I││ │ +└─────┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└───────┘ └──┘└──┘└──┘└──┘ +┌───────┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌─────────┐ ┌──┐┌──┐┌──┐┌──┐ +│4A ││5B││7B││5C││7C││3D│ │5D││4E││5E││7E││4F││7F││5G │ │4H││3I││6I││5I│ +└───────┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└─────────┘ └──┘└──┘└──┘│ │ +┌───┐┌───┐ ┌───┐┌─────────┐ ┌───────┐┌───┐ ┌───┐┌───┐ ┌──┐┌──┐│ │ +│5A ││6A │ │6B ││6C │ │4D ││6E │ │5F ││6F │ ┌──┐ │AH││4I││ │ +└───┘└───┘ └───┘└─────────┘ └───────┘└───┘ └───┘└───┘ │5H│ └──┘└──┘└──┘ + └──┘ + ┌──┐┌──┐┌──┐ + │6H││8H││9H│ + └──┘└──┘└──┘ +``` + +## Matrix for "LAYOUT_1800_alice_iso": +``` +┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐ +│0A│ │0B││1B│ │0C││1C│ │0D││1D│ │9D││AD│ │0E││0F│ │0G││1G│ │AG││0H│ │0J│ +└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘ +┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──────┐ ┌──┐┌──┐┌──┐┌──┐ +│1A││AA││2B││AB││2C││AC││2D│ │8D││1E││AE││1F││AF││2G││9G │ │1H││0I││AI││1J│ +└──┘└──┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──────┘ └──┘└──┘└──┘└──┘ +┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌────┐ ┌──┐┌──┐┌──┐┌──┐ +│2A ││9A││3B││9B││3C││9C│ │7D││2E││9E││2F││9F││3G││8G││7G │ │2H││1I││9I││8I│ +└────┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└┐ │ └──┘└──┘└──┘│ │ +┌─────┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐│ │ ┌──┐┌──┐┌──┐│ │ +│3A ││8A││4B││8B││4C││8C│ │6D││3E││8E││3F││8F││4G││6G││ │ │3H││2I││7I││ │ +└─────┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└───┘ └──┘└──┘└──┘└──┘ +┌───┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌─────────┐ ┌──┐┌──┐┌──┐┌──┐ +│4A ││7A││5B││7B││5C││7C││3D│ │5D││4E││5E││7E││4F││7F││5G │ │4H││3I││6I││5I│ +└───┘└──┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└─────────┘ └──┘└──┘└──┘│ │ +┌───┐┌───┐ ┌───┐┌─────────┐ ┌───────┐┌───┐ ┌───┐┌───┐ ┌──┐┌──┐│ │ +│5A ││6A │ │6B ││6C │ │4D ││6E │ │5F ││6F │ ┌──┐ │AH││4I││ │ +└───┘└───┘ └───┘└─────────┘ └───────┘└───┘ └───┘└───┘ │5H│ └──┘└──┘└──┘ + └──┘ + ┌──┐┌──┐┌──┐ + │6H││8H││9H│ + └──┘└──┘└──┘ +``` \ No newline at end of file diff --git a/keyboards/adpenrose/mine/readme.md b/keyboards/adpenrose/mine/readme.md new file mode 100644 index 00000000000..266fe1ddd5b --- /dev/null +++ b/keyboards/adpenrose/mine/readme.md @@ -0,0 +1,27 @@ +# Mine + +![mine](https://i.imgur.com/P9s2cI8h.jpg) + +A hotswap ISO/ANSI-compatible 1800 alice, assembled only with THT components, including a solenoid and a chunky encoder. + +* Keyboard Maintainer: [Arturo Avila](https://github.com/ADPenrose) +* Hardware Supported: Mine v1 PCB +* Hardware Availability: [Arturo Avila](https://github.com/ADPenrose) + +Make example for this keyboard (after setting up your build environment): + + make adpenrose/mine:default + +Flashing example for this keyboard: + + make adpenrose/mine: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**: Hold down the button labeled "BOOT" and briefly press the button labeled "RESET" on the front of the PCB. To exit the bootloader mode, briefly press the button labeled "RESET" once more. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/adpenrose/mine/rules.mk b/keyboards/adpenrose/mine/rules.mk new file mode 100644 index 00000000000..93ae8d898f2 --- /dev/null +++ b/keyboards/adpenrose/mine/rules.mk @@ -0,0 +1,2 @@ +# Processor frequency +F_CPU = 16000000 \ No newline at end of file diff --git a/keyboards/adpenrose/obi/config.h b/keyboards/adpenrose/obi/config.h index 862c0fe1ee5..109ffbe418d 100644 --- a/keyboards/adpenrose/obi/config.h +++ b/keyboards/adpenrose/obi/config.h @@ -3,14 +3,7 @@ #pragma once -#define TAP_CODE_DELAY 10 - /* Underglow options: */ -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/adpenrose/obi/info.json b/keyboards/adpenrose/obi/info.json index 00a2572e7a4..b67080af2cc 100644 --- a/keyboards/adpenrose/obi/info.json +++ b/keyboards/adpenrose/obi/info.json @@ -7,6 +7,12 @@ "pid": "0x0002", "vid": "0x4450" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "F7" }, @@ -20,6 +26,9 @@ {"pin_a": "F1", "pin_b": "F0"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/aeboards/ext65/rev2/config.h b/keyboards/aeboards/ext65/rev2/config.h index 0bc48fb5626..ae855d38ac5 100644 --- a/keyboards/aeboards/ext65/rev2/config.h +++ b/keyboards/aeboards/ext65/rev2/config.h @@ -27,7 +27,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 24 //SPI #define WS2812_SPI SPID2 diff --git a/keyboards/aeboards/ext65/rev2/info.json b/keyboards/aeboards/ext65/rev2/info.json index bfdcae090e5..1018336ed56 100644 --- a/keyboards/aeboards/ext65/rev2/info.json +++ b/keyboards/aeboards/ext65/rev2/info.json @@ -12,6 +12,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 24 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/aeboards/ext65/rev2/rules.mk b/keyboards/aeboards/ext65/rev2/rules.mk index d52eea26d19..b9637955ff7 100644 --- a/keyboards/aeboards/ext65/rev2/rules.mk +++ b/keyboards/aeboards/ext65/rev2/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SLEEP_LED_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ai03/andromeda/rules.mk b/keyboards/ai03/andromeda/rules.mk index 0aeca0dd9f3..7f4f202a1b7 100644 --- a/keyboards/ai03/andromeda/rules.mk +++ b/keyboards/ai03/andromeda/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ai03/polaris/config.h b/keyboards/ai03/polaris/config.h index 2542b9f62f4..c920b83bc92 100644 --- a/keyboards/ai03/polaris/config.h +++ b/keyboards/ai03/polaris/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 14 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ai03/polaris/info.json b/keyboards/ai03/polaris/info.json index af67191ba11..e875c727db2 100644 --- a/keyboards/ai03/polaris/info.json +++ b/keyboards/ai03/polaris/info.json @@ -19,7 +19,11 @@ "breathing": true }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "max_brightness": 200, + "sleep": true }, "ws2812": { "pin": "D2" diff --git a/keyboards/ai03/quasar/keymaps/ai03/keymap.c b/keyboards/ai03/quasar/keymaps/ai03/keymap.c index 4df12732bdb..c564b8aa388 100644 --- a/keyboards/ai03/quasar/keymaps/ai03/keymap.c +++ b/keyboards/ai03/quasar/keymaps/ai03/keymap.c @@ -33,19 +33,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, KC_BSPC, KC_HOME, KC_PGDN, KC_END ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ai03/soyuz/keymaps/1U/keymap.c b/keyboards/ai03/soyuz/keymaps/1U/keymap.c index 1d6f3dfa8c1..792457cf107 100644 --- a/keyboards/ai03/soyuz/keymaps/1U/keymap.c +++ b/keyboards/ai03/soyuz/keymaps/1U/keymap.c @@ -43,15 +43,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ai03/vega/rules.mk b/keyboards/ai03/vega/rules.mk index 0aeca0dd9f3..7f4f202a1b7 100644 --- a/keyboards/ai03/vega/rules.mk +++ b/keyboards/ai03/vega/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ai03/voyager60_alps/config.h b/keyboards/ai03/voyager60_alps/config.h deleted file mode 100644 index a358ce601e2..00000000000 --- a/keyboards/ai03/voyager60_alps/config.h +++ /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 . -*/ - -#pragma once - - #define RGBLED_NUM 14 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - -/* - * 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/voyager60_alps/info.json b/keyboards/ai03/voyager60_alps/info.json index 00a2a9f4d89..440f061432f 100644 --- a/keyboards/ai03/voyager60_alps/info.json +++ b/keyboards/ai03/voyager60_alps/info.json @@ -8,6 +8,12 @@ "pid": "0x060A", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/akegata_denki/device_one/rules.mk b/keyboards/akegata_denki/device_one/rules.mk index 6ac6abcf567..26de1138e5f 100644 --- a/keyboards/akegata_denki/device_one/rules.mk +++ b/keyboards/akegata_denki/device_one/rules.mk @@ -10,5 +10,3 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/akko/5108/5108.c b/keyboards/akko/5108/5108.c new file mode 100644 index 00000000000..a14f02bc76e --- /dev/null +++ b/keyboards/akko/5108/5108.c @@ -0,0 +1,162 @@ +/* Copyright (C) 2022 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 "quantum.h" +// clang-format off +#ifdef RGB_MATRIX_ENABLE +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 + * | | | | */ + /*row0*/ + {1, A_1, B_1, C_1}, + {1, A_2, B_2, C_2}, + {1, A_3, B_3, C_3}, + {1, A_4, B_4, C_4}, + {1, A_5, B_5, C_5}, + {1, A_6, B_6, C_6}, + {1, A_7, B_7, C_7}, + {1, A_8, B_8, C_8}, + {1, A_9, B_9, C_9}, + {1, A_10, B_10, C_10}, + {1, A_11, B_11, C_11}, + {1, A_12, B_12, C_12}, + {1, A_13, B_13, C_13}, + {1, A_14, B_14, C_14}, + {1, A_15, B_15, C_15}, + {1, A_16, B_16, C_16}, + {1, D_11, E_11, F_11}, + {1, D_12, E_12, F_12}, + {1, D_13, E_13, F_13}, + {1, D_14, E_14, F_14}, + + /*row1*/ + {0, A_1, B_1, C_1}, + {0, A_2, B_2, C_2}, + {0, A_3, B_3, C_3}, + {0, A_4, B_4, C_4}, + {0, A_5, B_5, C_5}, + {0, A_6, B_6, C_6}, + {0, A_7, B_7, C_7}, + {0, A_8, B_8, C_8}, + {0, A_9, B_9, C_9}, + {0, A_10, B_10, C_10}, + {0, A_11, B_11, C_11}, + {0, A_12, B_12, C_12}, + {0, A_13, B_13, C_13}, + {0, A_14, B_14, C_14}, + {1, D_1, E_1, F_1 }, + {1, D_2, E_2, F_2}, + {1, D_3, E_3, F_3}, + {1, D_4, E_4, F_4}, + {1, D_5, E_5, F_5}, + {1, D_6, E_6, F_6}, + {1, D_7, E_7, F_7}, + + /*row2*/ + {0, D_1, E_1, F_1}, + {0, D_2, E_2, F_2}, + {0, D_3, E_3, F_3}, + {0, D_4, E_4, F_4}, + {0, D_5, E_5, F_5}, + {0, D_6, E_6, F_6}, + {0, D_7, E_7, F_7}, + {0, D_8, E_8, F_8}, + {0, D_9, E_9, F_9}, + {0, D_10, E_10, F_10}, + {0, D_11, E_11, F_11}, + {0, D_12, E_12, F_12}, + {0, D_13, E_13, F_13}, + {0, D_14, E_14, F_14}, + {1, G_1, H_1, I_1}, + {1, G_2, H_2, I_2}, + {1, G_3, H_3, I_3}, + {1, D_8, E_8, F_8}, + {1, D_9, E_9, F_9}, + {1, D_10, E_10, F_10}, + {1, G_7, H_7, I_7}, + + /*row3*/ + {0, G_1, H_1, I_1}, + {0, G_2, H_2, I_2}, + {0, G_3, H_3, I_3}, + {0, G_4, H_4, I_4}, + {0, G_5, H_5, I_5}, + {0, G_6, H_6, I_6}, + {0, G_7, H_7, I_7}, + {0, G_8, H_8, I_8}, + {0, G_9, H_9, I_9}, + {0, G_10, H_10, I_10}, + {0, G_11, H_11, I_11}, + {0, G_12, H_12, I_12}, + {0, G_13, H_13, I_13}, + {1, G_4, H_4, I_4}, + {1, G_5, H_5, I_5}, + {1, G_6, H_6, I_6}, + + /*row4*/ + {0, J_1, K_1, L_1}, + {0, J_2, K_2, L_2}, + {0, J_3, K_3, L_3}, + {0, J_4, K_4, L_4}, + {0, J_5, K_5, L_5}, + {0, J_6, K_6, L_6}, + {0, J_7, K_7, L_7}, + {0, J_8, K_8, L_8}, + {0, J_9, K_9, L_9}, + {0, J_10, K_10, L_10}, + {0, J_11, K_11, L_11}, + {0, J_12, K_12, L_12}, + {1, J_4, K_4, L_4}, + {1, J_7, K_7, L_7}, + {1, J_8, K_8, L_8}, + {1, J_9, K_9, L_9}, + {1, J_10, K_10, L_10}, + + /*row5*/ + {0, J_13, K_13, L_13}, + {0, J_14, K_14, L_14}, + {0, J_15, K_15, L_15}, + {0, J_16, K_16, L_16}, + {0, G_14, H_14, I_14}, + {0, G_15, H_15, I_15}, + {0, G_16, H_16, I_16}, + {0, D_15, E_15, F_15}, + {1, J_1, K_1, L_1}, + {1, J_2, K_2, L_2}, + {1, J_3, K_3, L_3}, + {1, J_5, K_5, L_5}, + {1, J_6, K_6, L_6}, + +}; +#endif + +void keyboard_pre_init_kb(void) { + setPinOutput(LED_WIN_LOCK_PIN); // LED3 Win Lock + writePinLow(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) { + writePin(LED_WIN_LOCK_PIN, keymap_config.no_gui); + } + return res; +} diff --git a/keyboards/akko/5108/config.h b/keyboards/akko/5108/config.h new file mode 100644 index 00000000000..f56e825e050 --- /dev/null +++ b/keyboards/akko/5108/config.h @@ -0,0 +1,54 @@ +/* Copyright (C) 2022 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 . + */ + +#pragma once + +/* Use 5 dynamic keymap layers */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 + +/* LED Indicators */ +#define LED_WIN_LOCK_PIN C11 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* SPI Config for spi flash*/ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 +#define SPI_MOSI_PAL_MODE 5 + +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 +#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) + +/* I2C Config for LED Driver */ +#define DRIVER_COUNT 2 +#define DRIVER_ADDR_1 0b1110100 +#define DRIVER_ADDR_2 0b1110111 +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_OPMODE OPMODE_I2C +#define I2C1_CLOCK_SPEED 400000 /* 400000 */ + +#define RGB_MATRIX_LED_COUNT 108 + +#define RGB_TRIGGER_ON_KEYDOWN +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/hfdkb/keyboard_sw/k83/halconf.h b/keyboards/akko/5108/halconf.h similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/halconf.h rename to keyboards/akko/5108/halconf.h diff --git a/keyboards/akko/5108/info.json b/keyboards/akko/5108/info.json new file mode 100644 index 00000000000..e9e99be69e3 --- /dev/null +++ b/keyboards/akko/5108/info.json @@ -0,0 +1,290 @@ +{ + "keyboard_name": "5108", + "manufacturer": "Akko", + "url":"https://www.akkogear.com", + "maintainer": "jonylee@hfd", + "usb": { + "vid": "0xFFFE", + "pid": "0x000D", + "device_version": "1.0.3", + "suspend_wakeup_delay": 400, + "force_nkro": true + }, + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": [ "C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14"], + "rows": ["B15", "C6", "C7", "C8", "C9", "A8"] + }, + "diode_direction": "ROW2COL", + "indicators": { + "num_lock": "A15", + "caps_lock": "C10" + }, + "rgb_matrix": { + "driver": "IS31FL3733", + "max_brightness": 180, + "animations": { + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "raindrops": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "multisplash": true + }, + "layout":[ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 30, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 40, "y": 0 }, + { "flags": 4, "matrix": [0, 4], "x": 50, "y": 0 }, + { "flags": 4, "matrix": [0, 5], "x": 70, "y": 0 }, + { "flags": 4, "matrix": [0, 6], "x": 80, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 90, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x": 100, "y": 0 }, + { "flags": 4, "matrix": [0, 9], "x": 110, "y": 0 }, + { "flags": 4, "matrix": [0, 10], "x": 120, "y": 0 }, + { "flags": 4, "matrix": [0, 11], "x": 130, "y": 0 }, + { "flags": 4, "matrix": [0, 12], "x": 140, "y": 0 }, + { "flags": 4, "matrix": [0, 14], "x": 156, "y": 0 }, + { "flags": 4, "matrix": [0, 15], "x": 166, "y": 0 }, + { "flags": 4, "matrix": [0, 16], "x": 176, "y": 0 }, + { "flags": 4, "matrix": [0, 17], "x": 194, "y": 0 }, + { "flags": 4, "matrix": [0, 18], "x": 204, "y": 0 }, + { "flags": 4, "matrix": [0, 19], "x": 214, "y": 0 }, + { "flags": 4, "matrix": [0, 20], "x": 224, "y": 0 }, + + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 13 }, + { "flags": 4, "matrix": [1, 1], "x": 10, "y": 13 }, + { "flags": 4, "matrix": [1, 2], "x": 20, "y": 13 }, + { "flags": 4, "matrix": [1, 3], "x": 30, "y": 13 }, + { "flags": 4, "matrix": [1, 4], "x": 40, "y": 13 }, + { "flags": 4, "matrix": [1, 5], "x": 50, "y": 13 }, + { "flags": 4, "matrix": [1, 6], "x": 60, "y": 13 }, + { "flags": 4, "matrix": [1, 7], "x": 70, "y": 13 }, + { "flags": 4, "matrix": [1, 8], "x": 80, "y": 13 }, + { "flags": 4, "matrix": [1, 9], "x": 90, "y": 13 }, + { "flags": 4, "matrix": [1, 10], "x": 100, "y": 13 }, + { "flags": 4, "matrix": [1, 11], "x": 110, "y": 13 }, + { "flags": 4, "matrix": [1, 12], "x": 120, "y": 13 }, + { "flags": 4, "matrix": [1, 13], "x": 140, "y": 13 }, + { "flags": 4, "matrix": [1, 14], "x": 156, "y": 13 }, + { "flags": 4, "matrix": [1, 15], "x": 166, "y": 13 }, + { "flags": 4, "matrix": [1, 16], "x": 176, "y": 13 }, + { "flags": 4, "matrix": [1, 17], "x": 194, "y": 13 }, + { "flags": 4, "matrix": [1, 18], "x": 204, "y": 13 }, + { "flags": 4, "matrix": [1, 19], "x": 214, "y": 13 }, + { "flags": 4, "matrix": [1, 20], "x": 224, "y": 13 }, + + { "flags": 4, "matrix": [2, 0], "x": 0, "y": 26 }, + { "flags": 4, "matrix": [2, 1], "x": 10, "y": 26 }, + { "flags": 4, "matrix": [2, 2], "x": 20, "y": 26 }, + { "flags": 4, "matrix": [2, 3], "x": 30, "y": 26 }, + { "flags": 4, "matrix": [2, 4], "x": 40, "y": 26 }, + { "flags": 4, "matrix": [2, 5], "x": 50, "y": 26 }, + { "flags": 4, "matrix": [2, 6], "x": 60, "y": 26 }, + { "flags": 4, "matrix": [2, 7], "x": 70, "y": 26 }, + { "flags": 4, "matrix": [2, 8], "x": 80, "y": 26 }, + { "flags": 4, "matrix": [2, 9], "x": 90, "y": 26 }, + { "flags": 4, "matrix": [2, 10], "x": 100, "y": 26 }, + { "flags": 4, "matrix": [2, 11], "x": 110, "y": 26 }, + { "flags": 4, "matrix": [2, 12], "x": 128, "y": 26 }, + { "flags": 4, "matrix": [2, 13], "x": 140, "y": 26 }, + { "flags": 4, "matrix": [2, 14], "x": 156, "y": 26 }, + { "flags": 4, "matrix": [2, 15], "x": 166, "y": 26 }, + { "flags": 4, "matrix": [2, 16], "x": 176, "y": 26 }, + { "flags": 4, "matrix": [2, 17], "x": 194, "y": 26 }, + { "flags": 4, "matrix": [2, 18], "x": 204, "y": 26 }, + { "flags": 4, "matrix": [2, 19], "x": 214, "y": 26 }, + { "flags": 4, "matrix": [2, 20], "x": 224, "y": 26 }, + + { "flags": 4, "matrix": [3, 0], "x": 0, "y": 38 }, + { "flags": 4, "matrix": [3, 1], "x": 10, "y": 38 }, + { "flags": 4, "matrix": [3, 2], "x": 20, "y": 38 }, + { "flags": 4, "matrix": [3, 3], "x": 30, "y": 38 }, + { "flags": 4, "matrix": [3, 4], "x": 40, "y": 38 }, + { "flags": 4, "matrix": [3, 5], "x": 50, "y": 38 }, + { "flags": 4, "matrix": [3, 6], "x": 60, "y": 38 }, + { "flags": 4, "matrix": [3, 7], "x": 70, "y": 38 }, + { "flags": 4, "matrix": [3, 8], "x": 80, "y": 38 }, + { "flags": 4, "matrix": [3, 9], "x": 90, "y": 38 }, + { "flags": 4, "matrix": [3, 10], "x": 100, "y": 38 }, + { "flags": 4, "matrix": [3, 11], "x": 110, "y": 38 }, + { "flags": 4, "matrix": [3, 13], "x": 135, "y": 38 }, + { "flags": 4, "matrix": [3, 17], "x": 194, "y": 38 }, + { "flags": 4, "matrix": [3, 18], "x": 204, "y": 38 }, + { "flags": 4, "matrix": [3, 19], "x": 214, "y": 38 }, + + { "flags": 4, "matrix": [4, 0], "x": 5, "y": 51 }, + { "flags": 4, "matrix": [4, 1], "x": 20, "y": 51 }, + { "flags": 4, "matrix": [4, 2], "x": 30, "y": 51 }, + { "flags": 4, "matrix": [4, 3], "x": 40, "y": 51 }, + { "flags": 4, "matrix": [4, 4], "x": 50, "y": 51 }, + { "flags": 4, "matrix": [4, 5], "x": 60, "y": 51 }, + { "flags": 4, "matrix": [4, 6], "x": 70, "y": 51 }, + { "flags": 4, "matrix": [4, 7], "x": 80, "y": 51 }, + { "flags": 4, "matrix": [4, 8], "x": 90, "y": 51 }, + { "flags": 4, "matrix": [4, 9], "x": 100, "y": 51 }, + { "flags": 4, "matrix": [4, 10], "x": 110, "y": 51 }, + { "flags": 4, "matrix": [4, 13], "x": 135, "y": 51 }, + { "flags": 4, "matrix": [4, 15], "x": 166, "y": 51 }, + { "flags": 4, "matrix": [4, 17], "x": 194, "y": 51 }, + { "flags": 4, "matrix": [4, 18], "x": 204, "y": 51 }, + { "flags": 4, "matrix": [4, 19], "x": 214, "y": 51 }, + { "flags": 4, "matrix": [4, 20], "x": 224, "y": 51 }, + + { "flags": 4, "matrix": [5, 0], "x": 0, "y": 64 }, + { "flags": 4, "matrix": [5, 1], "x": 10, "y": 64 }, + { "flags": 4, "matrix": [5, 2], "x": 20, "y": 64 }, + { "flags": 4, "matrix": [5, 5], "x": 60, "y": 64 }, + { "flags": 4, "matrix": [5, 9], "x": 100, "y": 64 }, + { "flags": 4, "matrix": [5, 10], "x": 110, "y": 64 }, + { "flags": 4, "matrix": [5, 11], "x": 130, "y": 64 }, + { "flags": 4, "matrix": [5, 13], "x": 140, "y": 64 }, + { "flags": 4, "matrix": [5, 14], "x": 156, "y": 64 }, + { "flags": 4, "matrix": [5, 15], "x": 166, "y": 64 }, + { "flags": 4, "matrix": [5, 16], "x": 176, "y": 64 }, + { "flags": 4, "matrix": [5, 18], "x": 199, "y": 64 }, + { "flags": 4, "matrix": [5, 19], "x": 214, "y": 64 } + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 1], "x": 2, "y": 0 }, + { "label": "F2", "matrix": [0, 2], "x": 3, "y": 0 }, + { "label": "F3", "matrix": [0, 3], "x": 4, "y": 0 }, + { "label": "F4", "matrix": [0, 4], "x": 5, "y": 0 }, + { "label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0 }, + { "label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0 }, + { "label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0 }, + { "label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0 }, + { "label": "F9", "matrix": [0, 9], "x": 11, "y": 0 }, + { "label": "F10", "matrix": [0, 10], "x": 12, "y": 0 }, + { "label": "F11", "matrix": [0, 11], "x": 13, "y": 0 }, + { "label": "F12", "matrix": [0, 12], "x": 14, "y": 0 }, + { "label": "PrtSc", "matrix": [0, 14], "x": 15.25, "y": 0 }, + { "label": "ScrLk", "matrix": [0, 15], "x": 16.25, "y": 0 }, + { "label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0 }, + { "label": "Cal", "matrix": [0, 17], "x": 18.5, "y": 0 }, + { "label": "Mute", "matrix": [0, 18], "x": 19.5, "y": 0 }, + { "label": "Vold", "matrix": [0, 19], "x": 20.5, "y": 0 }, + { "label": "Volu", "matrix": [0, 20], "x": 21.5, "y": 0 }, + + { "label": "~", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "!", "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "label": "@", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "#", "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "label": "$", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "%", "matrix": [1, 5], "x": 5, "y": 1.25 }, + { "label": "^", "matrix": [1, 6], "x": 6, "y": 1.25 }, + { "label": "&", "matrix": [1, 7], "x": 7, "y": 1.25 }, + { "label": "*", "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "label": "(", "matrix": [1, 9], "x": 9, "y": 1.25 }, + { "label": ")", "matrix": [1, 10], "x": 10, "y": 1.25 }, + { "label": "_", "matrix": [1, 11], "x": 11, "y": 1.25 }, + { "label": "+", "matrix": [1, 12], "x": 12, "y": 1.25 }, + { "label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2 }, + { "label": "Ins", "matrix": [1, 14], "x": 15.25, "y": 1.25 }, + { "label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25 }, + { "label": "PgUp", "matrix": [1, 16], "x": 17.25, "y": 1.25 }, + { "label": "Num", "matrix": [1, 17], "x": 18.5, "y": 1.25 }, + { "label": "/", "matrix": [1, 18], "x": 19.5, "y": 1.25 }, + { "label": "*", "matrix": [1, 19], "x": 20.5, "y": 1.25 }, + { "label": "-", "matrix": [1, 20], "x": 21.5, "y": 1.25 }, + + { "label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5 }, + { "label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25 }, + { "label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25 }, + { "label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25 }, + { "label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25 }, + { "label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25 }, + { "label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25 }, + { "label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25 }, + { "label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25 }, + { "label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25 }, + { "label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25 }, + { "label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25 }, + { "label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25 }, + { "label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5 }, + { "label": "Del", "matrix": [2, 14], "x": 15.25, "y": 2.25 }, + { "label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25 }, + { "label": "PgDn", "matrix": [2, 16], "x": 17.25, "y": 2.25 }, + { "label": "7", "matrix": [2, 17], "x": 18.5, "y": 2.25 }, + { "label": "8", "matrix": [2, 18], "x": 19.5, "y": 2.25 }, + { "label": "9", "matrix": [2, 19], "x": 20.5, "y": 2.25 }, + { "label": "+", "matrix": [2, 20], "x": 21.5, "y": 2.25, "h": 2 }, + + { "label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75 }, + { "label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25 }, + { "label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25 }, + { "label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25 }, + { "label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25 }, + { "label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25 }, + { "label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25 }, + { "label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25 }, + { "label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25 }, + { "label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25 }, + { "label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25 }, + { "label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25 }, + { "label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25 }, + { "label": "4", "matrix": [3, 17], "x": 18.5, "y": 3.25 }, + { "label": "5", "matrix": [3, 18], "x": 19.5, "y": 3.25 }, + { "label": "6", "matrix": [3, 19], "x": 20.5, "y": 3.25 }, + + { "label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25 }, + { "label": "Z", "matrix": [4, 1], "x": 2.25, "y": 4.25 }, + { "label": "X", "matrix": [4, 2], "x": 3.25, "y": 4.25 }, + { "label": "C", "matrix": [4, 3], "x": 4.25, "y": 4.25 }, + { "label": "V", "matrix": [4, 4], "x": 5.25, "y": 4.25 }, + { "label": "B", "matrix": [4, 5], "x": 6.25, "y": 4.25 }, + { "label": "N", "matrix": [4, 6], "x": 7.25, "y": 4.25 }, + { "label": "M", "matrix": [4, 7], "x": 8.25, "y": 4.25 }, + { "label": "<", "matrix": [4, 8], "x": 9.25, "y": 4.25 }, + { "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, + { "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, + { "label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75 }, + { "label": "Up", "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "label": "1", "matrix": [4, 17], "x": 18.5, "y": 4.25 }, + { "label": "2", "matrix": [4, 18], "x": 19.5, "y": 4.25 }, + { "label": "3", "matrix": [4, 19], "x": 20.5, "y": 4.25 }, + { "label": "Enter", "matrix": [4, 20], "x": 21.5, "y": 4.25, "h": 2 }, + + { "label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25 }, + { "label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25 }, + { "label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25 }, + { "label": "Space", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25 }, + { "label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25 }, + { "label": "Win", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25 }, + { "label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25 }, + { "label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25 }, + { "label": "Left", "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "label": "Down", "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "label": "Right", "matrix": [5, 16], "x": 17.25, "y": 5.25 }, + { "label": "0", "matrix": [5, 18], "x": 18.5, "y": 5.25, "w": 2 }, + { "label": ".", "matrix": [5, 19], "x": 20.5, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/akko/5108/keymaps/default/keymap.c b/keyboards/akko/5108/keymaps/default/keymap.c new file mode 100644 index 00000000000..ef92432ff57 --- /dev/null +++ b/keyboards/akko/5108/keymaps/default/keymap.c @@ -0,0 +1,79 @@ +/* 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/keymap.c b/keyboards/akko/5108/keymaps/via/keymap.c new file mode 100644 index 00000000000..ef92432ff57 --- /dev/null +++ b/keyboards/akko/5108/keymaps/via/keymap.c @@ -0,0 +1,79 @@ +/* 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/mino_plus/keymaps/via/rules.mk b/keyboards/akko/5108/keymaps/via/rules.mk similarity index 100% rename from keyboards/mino_plus/keymaps/via/rules.mk rename to keyboards/akko/5108/keymaps/via/rules.mk diff --git a/keyboards/hfdkb/keyboard_sw/k83/mcuconf.h b/keyboards/akko/5108/mcuconf.h similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/mcuconf.h rename to keyboards/akko/5108/mcuconf.h diff --git a/keyboards/akko/5108/readme.md b/keyboards/akko/5108/readme.md new file mode 100644 index 00000000000..c7140deb5c7 --- /dev/null +++ b/keyboards/akko/5108/readme.md @@ -0,0 +1,20 @@ +# 5108 + +A customizable 100% keyboard. + +* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) +* Hardware Supported: Akko 5108 +* Hardware Availability: [akko](https://www.akkogear.com/) + +Make example for this keyboard (after setting up your build environment): + + make akko/5108:default + +Flashing example for this keyboard: + + make akko/5108:default:flash + +## Bootloader +**Reset Key**: Hold down the key located at *K000*, which programmed as *Esc* while plugging in the keyboard. + +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/akko/5108/rules.mk b/keyboards/akko/5108/rules.mk new file mode 100644 index 00000000000..24d5f6f52ec --- /dev/null +++ b/keyboards/akko/5108/rules.mk @@ -0,0 +1,2 @@ +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/akko/acr87/acr87.c b/keyboards/akko/acr87/acr87.c new file mode 100644 index 00000000000..e175e21368e --- /dev/null +++ b/keyboards/akko/acr87/acr87.c @@ -0,0 +1,217 @@ +/* Copyright (C) 2022 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 "quantum.h" +// clang-format off +#ifdef RGB_MATRIX_ENABLE +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 + * | | | | */ + /*row0*/ + {1, A_1, B_1, C_1}, + {1, A_2, B_2, C_2}, + {1, A_3, B_3, C_3}, + {1, A_4, B_4, C_4}, + {1, A_5, B_5, C_5}, + {1, A_6, B_6, C_6}, + {1, A_7, B_7, C_7}, + {1, A_8, B_8, C_8}, + {1, A_9, B_9, C_9}, + {1, A_10, B_10, C_10}, + {1, A_11, B_11, C_11}, + {1, A_12, B_12, C_12}, + {1, A_13, B_13, C_13}, + {1, A_14, B_14, C_14}, + {1, A_15, B_15, C_15}, + {1, A_16, B_16, C_16}, + + /*row1*/ + {0, A_1, B_1, C_1}, + {0, A_2, B_2, C_2}, + {0, A_3, B_3, C_3}, + {0, A_4, B_4, C_4}, + {0, A_5, B_5, C_5}, + {0, A_6, B_6, C_6}, + {0, A_7, B_7, C_7}, + {0, A_8, B_8, C_8}, + {0, A_9, B_9, C_9}, + {0, A_10, B_10, C_10}, + {0, A_11, B_11, C_11}, + {0, A_12, B_12, C_12}, + {0, A_13, B_13, C_13}, + {0, A_14, B_14, C_14}, + {1, D_1, E_1, F_1}, + {1, D_2, E_2, F_2}, + {1, D_3, E_3, F_3}, + + /*row2*/ + {0, D_1, E_1, F_1}, + {0, D_2, E_2, F_2}, + {0, D_3, E_3, F_3}, + {0, D_4, E_4, F_4}, + {0, D_5, E_5, F_5}, + {0, D_6, E_6, F_6}, + {0, D_7, E_7, F_7}, + {0, D_8, E_8, F_8}, + {0, D_9, E_9, F_9}, + {0, D_10, E_10, F_10}, + {0, D_11, E_11, F_11}, + {0, D_12, E_12, F_12}, + {0, D_13, E_13, F_13}, + {0, D_14, E_14, F_14}, + {1, G_1, H_1, I_1}, + {1, G_2, H_2, I_2}, + {1, G_3, H_3, I_3}, + + /*row3*/ + {0, G_1, H_1, I_1}, + {0, G_2, H_2, I_2}, + {0, G_3, H_3, I_3}, + {0, G_4, H_4, I_4}, + {0, G_5, H_5, I_5}, + {0, G_6, H_6, I_6}, + {0, G_7, H_7, I_7}, + {0, G_8, H_8, I_8}, + {0, G_9, H_9, I_9}, + {0, G_10, H_10, I_10}, + {0, G_11, H_11, I_11}, + {0, G_12, H_12, I_12}, + {0, G_13, H_13, I_13}, + + /*row4*/ + {0, J_1, K_1, L_1}, + {0, J_2, K_2, L_2}, + {0, J_3, K_3, L_3}, + {0, J_4, K_4, L_4}, + {0, J_5, K_5, L_5}, + {0, J_6, K_6, L_6}, + {0, J_7, K_7, L_7}, + {0, J_8, K_8, L_8}, + {0, J_9, K_9, L_9}, + {0, J_10, K_10, L_10}, + {0, J_11, K_11, L_11}, + {0, J_12, K_12, L_12}, + {1, J_4, K_4, L_4}, + + /*row5*/ + {0, J_13, K_13, L_13}, + {0, J_14, K_14, L_14}, + {0, J_15, K_15, L_15}, + {0, J_16, K_16, L_16}, + {0, G_14, H_14, I_14}, + {0, G_15, H_15, I_15}, + {0, G_16, H_16, I_16}, + {0, D_15, E_15, F_15}, + {1, J_1, K_1, L_1}, + {1, J_2, K_2, L_2}, + {1, J_3, K_3, L_3}, + + {2, J_12, K_12, L_12}, + {2, J_11, K_11, L_11}, + {2, J_10, K_10, L_10}, + {2, J_9, K_9, L_9}, + {2, J_8, K_8, L_8}, + {2, J_7, K_7, L_7}, + {2, J_6, K_6, L_6}, + {2, J_5, K_5, L_5}, + {2, J_4, K_4, L_4}, + {2, J_3, K_3, L_3}, + {2, J_2, K_2, L_2}, + {2, J_1, K_1, L_1}, + {2, G_12, H_12, I_12}, + {2, G_11, H_11, I_11}, + {2, G_10, H_10, I_10}, + {2, G_9, H_9, I_9}, + + {2, A_1, B_1, C_1}, + {2, G_8, H_8, I_8}, + + {2, A_2, B_2, C_2}, + {2, G_7, H_7, I_7}, + + {2, A_3, B_3, C_3}, + {2, G_6, H_6, I_6}, + + {2, A_4, B_4, C_4}, + {2, G_5, H_5, I_5}, + + {2, A_5, B_5, C_5}, + {2, G_4, H_4, I_4}, + + {2, A_6, B_6, C_6}, + {2, G_3, H_3, I_3}, + + {2, A_7, B_7, C_7}, + {2, G_2, H_2, I_2}, + + {2, A_8, B_8, C_8}, + {2, A_9, B_9, C_9}, + {2, A_10, B_10, C_10}, + {2, A_11, B_11, C_11}, + {2, A_12, B_12, C_12}, + {2, D_1, E_1, F_1}, + {2, D_2, E_2, F_2}, + {2, D_3, E_3, F_3}, + {2, D_4, E_4, F_4}, + {2, D_5, E_5, F_5}, + {2, D_6, E_6, F_6}, + {2, D_7, E_7, F_7}, + {2, D_8, E_8, F_8}, + {2, D_9, E_9, F_9}, + {2, D_10, E_10, F_10}, + {2, D_11, E_11, F_11}, + {2, D_12, E_12, F_12}, + {2, G_1, H_1, I_1}, +}; + +// clang-format on +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) +{ + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) + { + return false; + } + if (host_keyboard_led_state().caps_lock) + { + RGB_MATRIX_INDICATOR_SET_COLOR(50, 255, 255, 255); + } + else + { + if (!rgb_matrix_get_flags()) + { + RGB_MATRIX_INDICATOR_SET_COLOR(50, 0, 0, 0); + } + } + if (keymap_config.no_gui) + { + RGB_MATRIX_INDICATOR_SET_COLOR(77, 255, 255, 255); + } + else + { + if (!rgb_matrix_get_flags()) + { + RGB_MATRIX_INDICATOR_SET_COLOR(77, 0, 0, 0); + } + } + + return true; +} + +#endif diff --git a/keyboards/akko/acr87/config.h b/keyboards/akko/acr87/config.h new file mode 100644 index 00000000000..221cad86ad1 --- /dev/null +++ b/keyboards/akko/acr87/config.h @@ -0,0 +1,53 @@ +/* Copyright (C) 2022 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 . + */ + +#pragma once + +/* Use 5 dynamic keymap layers */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* SPI Config for spi flash*/ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 +#define SPI_MOSI_PAL_MODE 5 + +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 +#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) + +/* I2C Config for LED Driver */ +#define DRIVER_COUNT 3 +#define DRIVER_ADDR_1 0b1110100 +#define DRIVER_ADDR_2 0b1110111 +#define DRIVER_ADDR_3 0b1110110 + +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_OPMODE OPMODE_I2C +#define I2C1_CLOCK_SPEED 400000 /* 400000 */ + +#define RGB_MATRIX_LED_COUNT 135 + +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_TRIGGER_ON_KEYDOWN +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/akko/acr87/halconf.h b/keyboards/akko/acr87/halconf.h new file mode 100644 index 00000000000..2f64e65393a --- /dev/null +++ b/keyboards/akko/acr87/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2022 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 . + */ +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/akko/acr87/info.json b/keyboards/akko/acr87/info.json new file mode 100644 index 00000000000..bcc6b23cb00 --- /dev/null +++ b/keyboards/akko/acr87/info.json @@ -0,0 +1,294 @@ +{ + "keyboard_name": "ACR87", + "manufacturer": "Akko", + "url":"https://www.akkogear.com", + "maintainer": "jonylee@hfd", + "usb": { + "vid": "0xFFFE", + "pid": "0x0010", + "device_version": "1.0.1", + "suspend_wakeup_delay": 400, + "force_nkro": true + }, + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": [ "C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B2", "B10"], + "rows": [ "B15", "C6", "C7", "C8", "C9", "A8"] + }, + "diode_direction": "ROW2COL", + "rgb_matrix": { + "driver": "IS31FL3733", + "max_brightness": 180, + "animations": { + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "raindrops": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "multisplash": true + }, + "layout":[ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, + { "flags": 4, "matrix": [0, 1], "x": 24, "y": 0}, + { "flags": 4, "matrix": [0, 2], "x": 38, "y": 0}, + { "flags": 4, "matrix": [0, 3], "x": 52, "y": 0}, + { "flags": 4, "matrix": [0, 4], "x": 66, "y": 0}, + { "flags": 4, "matrix": [0, 5], "x": 82, "y": 0}, + { "flags": 4, "matrix": [0, 6], "x": 96, "y": 0}, + { "flags": 4, "matrix": [0, 7], "x":110, "y": 0}, + { "flags": 4, "matrix": [0, 8], "x":124, "y": 0}, + { "flags": 4, "matrix": [0, 9], "x":140, "y": 0}, + { "flags": 4, "matrix": [0, 10], "x":154, "y": 0}, + { "flags": 4, "matrix": [0, 11], "x":168, "y": 0}, + { "flags": 4, "matrix": [0, 12], "x":182, "y": 0}, + { "flags": 4, "matrix": [0, 14], "x":196, "y": 0}, + { "flags": 4, "matrix": [0, 15], "x":210, "y": 0}, + { "flags": 4, "matrix": [0, 16], "x":224, "y": 0}, + + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 12}, + { "flags": 4, "matrix": [1, 1], "x": 13, "y": 12}, + { "flags": 4, "matrix": [1, 2], "x": 26, "y": 12}, + { "flags": 4, "matrix": [1, 3], "x": 39, "y": 12}, + { "flags": 4, "matrix": [1, 4], "x": 52, "y": 12}, + { "flags": 4, "matrix": [1, 5], "x": 65, "y": 12}, + { "flags": 4, "matrix": [1, 6], "x": 79, "y": 12}, + { "flags": 4, "matrix": [1, 7], "x": 92, "y": 12}, + { "flags": 4, "matrix": [1, 8], "x":105, "y": 12}, + { "flags": 4, "matrix": [1, 9], "x":118, "y": 12}, + { "flags": 4, "matrix": [1, 10], "x":131, "y": 12}, + { "flags": 4, "matrix": [1, 11], "x":144, "y": 12}, + { "flags": 4, "matrix": [1, 12], "x":158, "y": 12}, + { "flags": 4, "matrix": [1, 13], "x":171, "y": 12}, + { "flags": 4, "matrix": [1, 14], "x":184, "y": 12}, + { "flags": 4, "matrix": [1, 15], "x":197, "y": 12}, + { "flags": 4, "matrix": [1, 16], "x":210, "y": 12}, + + { "flags": 4, "matrix": [2, 0], "x": 0, "y": 26}, + { "flags": 4, "matrix": [2, 1], "x": 14, "y": 26}, + { "flags": 4, "matrix": [2, 2], "x": 28, "y": 26}, + { "flags": 4, "matrix": [2, 3], "x": 42, "y": 26}, + { "flags": 4, "matrix": [2, 4], "x": 56, "y": 26}, + { "flags": 4, "matrix": [2, 5], "x": 70, "y": 26}, + { "flags": 4, "matrix": [2, 6], "x": 84, "y": 26}, + { "flags": 4, "matrix": [2, 7], "x": 98, "y": 26}, + { "flags": 4, "matrix": [2, 8], "x":112, "y": 26}, + { "flags": 4, "matrix": [2, 9], "x":126, "y": 26}, + { "flags": 4, "matrix": [2, 10], "x":140, "y": 26}, + { "flags": 4, "matrix": [2, 11], "x":154, "y": 26}, + { "flags": 4, "matrix": [2, 12], "x":168, "y": 26}, + { "flags": 4, "matrix": [2, 13], "x":182, "y": 26}, + { "flags": 4, "matrix": [2, 14], "x":196, "y": 26}, + { "flags": 4, "matrix": [2, 15], "x":210, "y": 26}, + { "flags": 4, "matrix": [2, 16], "x":224, "y": 26}, + + { "flags": 4, "matrix": [3, 0], "x": 0, "y": 38}, + { "flags": 4, "matrix": [3, 1], "x": 14, "y": 38}, + { "flags": 4, "matrix": [3, 2], "x": 28, "y": 38}, + { "flags": 4, "matrix": [3, 3], "x": 42, "y": 38}, + { "flags": 4, "matrix": [3, 4], "x": 56, "y": 38}, + { "flags": 4, "matrix": [3, 5], "x": 70, "y": 38}, + { "flags": 4, "matrix": [3, 6], "x": 84, "y": 38}, + { "flags": 4, "matrix": [3, 7], "x": 98, "y": 38}, + { "flags": 4, "matrix": [3, 8], "x":112, "y": 38}, + { "flags": 4, "matrix": [3, 9], "x":126, "y": 38}, + { "flags": 4, "matrix": [3, 10], "x":140, "y": 38}, + { "flags": 4, "matrix": [3, 11], "x":154, "y": 38}, + { "flags": 4, "matrix": [3, 13], "x":182, "y": 38}, + + { "flags": 4, "matrix": [4, 0], "x": 0, "y": 51}, + { "flags": 4, "matrix": [4, 1], "x": 14, "y": 51}, + { "flags": 4, "matrix": [4, 2], "x": 28, "y": 51}, + { "flags": 4, "matrix": [4, 3], "x": 42, "y": 51}, + { "flags": 4, "matrix": [4, 4], "x": 56, "y": 51}, + { "flags": 4, "matrix": [4, 5], "x": 70, "y": 51}, + { "flags": 4, "matrix": [4, 6], "x": 84, "y": 51}, + { "flags": 4, "matrix": [4, 7], "x": 98, "y": 51}, + { "flags": 4, "matrix": [4, 8], "x":112, "y": 51}, + { "flags": 4, "matrix": [4, 9], "x":126, "y": 51}, + { "flags": 4, "matrix": [4, 10], "x":140, "y": 51}, + { "flags": 4, "matrix": [4, 13], "x":154, "y": 51}, + { "flags": 4, "matrix": [4, 15], "x":182, "y": 51}, + + { "flags": 4, "matrix": [5, 0], "x": 0, "y": 64}, + { "flags": 4, "matrix": [5, 1], "x": 14, "y": 64}, + { "flags": 4, "matrix": [5, 2], "x": 28, "y": 64}, + { "flags": 4, "matrix": [5, 5], "x": 70, "y": 64}, + { "flags": 4, "matrix": [5, 9], "x":126, "y": 64}, + { "flags": 4, "matrix": [5, 10], "x":140, "y": 64}, + { "flags": 4, "matrix": [5, 11], "x":154, "y": 64}, + { "flags": 4, "matrix": [5, 13], "x":182, "y": 64}, + { "flags": 4, "matrix": [5, 14], "x":196, "y": 64}, + { "flags": 4, "matrix": [5, 15], "x":210, "y": 64}, + { "flags": 4, "matrix": [5, 16], "x":224, "y": 64}, + + {"flags": 2, "x":13, "y":0}, + {"flags": 2, "x":24, "y":0}, + {"flags": 2, "x":38, "y":0}, + {"flags": 2, "x":52, "y":0}, + {"flags": 2, "x":66, "y":0}, + {"flags": 2, "x":82, "y":0}, + {"flags": 2, "x":96, "y":0}, + {"flags": 2, "x":110, "y":0}, + {"flags": 2, "x":124, "y":0}, + {"flags": 2, "x":140, "y":0}, + {"flags": 2, "x":154, "y":0}, + {"flags": 2, "x":168, "y":0}, + {"flags": 2, "x":182, "y":0}, + {"flags": 2, "x":196, "y":0}, + {"flags": 2, "x":210, "y":0}, + {"flags": 2, "x":224, "y":0}, + {"flags": 2, "x":0, "y":8}, + {"flags": 2, "x":224, "y":8}, + {"flags": 2, "x":0, "y":16}, + {"flags": 2, "x":224, "y":16}, + {"flags": 2, "x":0, "y":24}, + {"flags": 2, "x":224, "y":24}, + {"flags": 2, "x":0, "y":32}, + {"flags": 2, "x":224, "y":32}, + {"flags": 2, "x":0, "y":40}, + {"flags": 2, "x":224, "y":40}, + {"flags": 2, "x":0, "y":48}, + {"flags": 2, "x":224, "y":48}, + {"flags": 2, "x":0, "y":56}, + {"flags": 2, "x":224, "y":56}, + {"flags": 2, "x":0, "y":64}, + {"flags": 2, "x":13, "y":64}, + {"flags": 2, "x":25, "y":64}, + {"flags": 2, "x":37, "y":64}, + {"flags": 2, "x":49, "y":64}, + {"flags": 2, "x":61, "y":64}, + {"flags": 2, "x":73, "y":64}, + {"flags": 2, "x":85, "y":64}, + {"flags": 2, "x":97, "y":64}, + {"flags": 2, "x":109, "y":64}, + {"flags": 2, "x":121, "y":64}, + {"flags": 2, "x":133, "y":64}, + {"flags": 2, "x":145, "y":64}, + {"flags": 2, "x":157, "y":64}, + {"flags": 2, "x":170, "y":64}, + {"flags": 2, "x":196, "y":64}, + {"flags": 2, "x":210, "y":64}, + {"flags": 2, "x":224, "y":64} + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 1], "x": 2, "y": 0 }, + { "label": "F2", "matrix": [0, 2], "x": 3, "y": 0 }, + { "label": "F3", "matrix": [0, 3], "x": 4, "y": 0 }, + { "label": "F4", "matrix": [0, 4], "x": 5, "y": 0 }, + { "label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0 }, + { "label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0 }, + { "label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0 }, + { "label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0 }, + { "label": "F9", "matrix": [0, 9], "x": 11, "y": 0 }, + { "label": "F10", "matrix": [0, 10], "x": 12, "y": 0 }, + { "label": "F11", "matrix": [0, 11], "x": 13, "y": 0 }, + { "label": "F12", "matrix": [0, 12], "x": 14, "y": 0 }, + { "label": "PrtSc", "matrix": [0, 14], "x": 15.25, "y": 0 }, + { "label": "ScrLk", "matrix": [0, 15], "x": 16.25, "y": 0 }, + { "label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0 }, + + { "label": "~", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "!", "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "label": "@", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "#", "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "label": "$", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "%", "matrix": [1, 5], "x": 5, "y": 1.25 }, + { "label": "^", "matrix": [1, 6], "x": 6, "y": 1.25 }, + { "label": "&", "matrix": [1, 7], "x": 7, "y": 1.25 }, + { "label": "*", "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "label": "(", "matrix": [1, 9], "x": 9, "y": 1.25 }, + { "label": ")", "matrix": [1, 10], "x": 10, "y": 1.25 }, + { "label": "_", "matrix": [1, 11], "x": 11, "y": 1.25 }, + { "label": "+", "matrix": [1, 12], "x": 12, "y": 1.25 }, + { "label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2 }, + { "label": "Ins", "matrix": [1, 14], "x": 15.25, "y": 1.25 }, + { "label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25 }, + { "label": "PgUp", "matrix": [1, 16], "x": 17.25, "y": 1.25 }, + + { "label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5 }, + { "label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25 }, + { "label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25 }, + { "label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25 }, + { "label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25 }, + { "label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25 }, + { "label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25 }, + { "label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25 }, + { "label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25 }, + { "label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25 }, + { "label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25 }, + { "label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25 }, + { "label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25 }, + { "label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5 }, + { "label": "Del", "matrix": [2, 14], "x": 15.25, "y": 2.25 }, + { "label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25 }, + { "label": "PgDn", "matrix": [2, 16], "x": 17.25, "y": 2.25 }, + + { "label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75 }, + { "label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25 }, + { "label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25 }, + { "label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25 }, + { "label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25 }, + { "label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25 }, + { "label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25 }, + { "label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25 }, + { "label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25 }, + { "label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25 }, + { "label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25 }, + { "label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25 }, + { "label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25 }, + + { "label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25 }, + { "label": "Z", "matrix": [4, 1], "x": 2.25, "y": 4.25 }, + { "label": "X", "matrix": [4, 2], "x": 3.25, "y": 4.25 }, + { "label": "C", "matrix": [4, 3], "x": 4.25, "y": 4.25 }, + { "label": "V", "matrix": [4, 4], "x": 5.25, "y": 4.25 }, + { "label": "B", "matrix": [4, 5], "x": 6.25, "y": 4.25 }, + { "label": "N", "matrix": [4, 6], "x": 7.25, "y": 4.25 }, + { "label": "M", "matrix": [4, 7], "x": 8.25, "y": 4.25 }, + { "label": "<", "matrix": [4, 8], "x": 9.25, "y": 4.25 }, + { "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, + { "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, + { "label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75 }, + { "label": "Up", "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + + { "label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25 }, + { "label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25 }, + { "label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25 }, + { "label": "Space", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25 }, + { "label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25 }, + { "label": "Win", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25 }, + { "label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25 }, + { "label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25 }, + { "label": "Left", "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "label": "Down", "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "label": "Right", "matrix": [5, 16], "x": 17.25, "y": 5.25 } + + ] + } + } +} diff --git a/keyboards/akko/acr87/keymaps/default/keymap.c b/keyboards/akko/acr87/keymaps/default/keymap.c new file mode 100644 index 00000000000..88bfbc8e1fd --- /dev/null +++ b/keyboards/akko/acr87/keymaps/default/keymap.c @@ -0,0 +1,79 @@ +/* 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/keymap.c b/keyboards/akko/acr87/keymaps/via/keymap.c new file mode 100644 index 00000000000..88bfbc8e1fd --- /dev/null +++ b/keyboards/akko/acr87/keymaps/via/keymap.c @@ -0,0 +1,79 @@ +/* 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/capsunlocked/cu80/v2_ansi/keymaps/via/rules.mk b/keyboards/akko/acr87/keymaps/via/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/rules.mk rename to keyboards/akko/acr87/keymaps/via/rules.mk diff --git a/keyboards/doodboard/duckboard_r2/config.h b/keyboards/akko/acr87/mcuconf.h similarity index 79% rename from keyboards/doodboard/duckboard_r2/config.h rename to keyboards/akko/acr87/mcuconf.h index a73678faf25..0d16f4f04e4 100644 --- a/keyboards/doodboard/duckboard_r2/config.h +++ b/keyboards/akko/acr87/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020-2021 doodboard +/* Copyright (C) 2022 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 @@ -13,12 +13,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - #pragma once -/* media key slowdown for windows */ -#define TAP_CODE_DELAY 20 +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 8 // Number of LEDs -#endif +#undef WB32_I2C_USE_I2C1 +#define WB32_I2C_USE_I2C1 TRUE diff --git a/keyboards/akko/acr87/readme.md b/keyboards/akko/acr87/readme.md new file mode 100644 index 00000000000..a4f400ce761 --- /dev/null +++ b/keyboards/akko/acr87/readme.md @@ -0,0 +1,19 @@ +# acr87 + +A customizable 80% encoder keyboard. + +* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) +* Hardware Supported: acr87 +* Hardware Availability: [akko](https://www.akkogear.com/) + +Make example for this keyboard (after setting up your build environment): + + make akko/acr87:default + +Flashing example for this keyboard: + + make akko/acr87:default:flash + +**Reset Key**: Hold down the key located at *K000*, which programmed as *Esc* while plugging in the keyboard. + +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/akko/acr87/rules.mk b/keyboards/akko/acr87/rules.mk new file mode 100644 index 00000000000..0dc7a331420 --- /dev/null +++ b/keyboards/akko/acr87/rules.mk @@ -0,0 +1,3 @@ +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = spi_flash + diff --git a/keyboards/akko/top40/config.h b/keyboards/akko/top40/config.h new file mode 100644 index 00000000000..bd849292e6a --- /dev/null +++ b/keyboards/akko/top40/config.h @@ -0,0 +1,52 @@ +/* Copyright (C) 2022 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 . + */ + +#pragma once + +/* Use 5 dynamic keymap layers */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* SPI Config for spi flash*/ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 +#define SPI_MOSI_PAL_MODE 5 + +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 +#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) + +/* I2C Config for LED Driver */ +#define DRIVER_COUNT 2 +#define DRIVER_ADDR_1 0b1110100 +#define DRIVER_ADDR_2 0b1110111 +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_OPMODE OPMODE_I2C +#define I2C1_CLOCK_SPEED 400000 /* 400000 */ + +#define RGB_MATRIX_LED_COUNT 76 + +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYRELEASES +#define RGB_TRIGGER_ON_KEYDOWN + diff --git a/keyboards/akko/top40/halconf.h b/keyboards/akko/top40/halconf.h new file mode 100644 index 00000000000..2f64e65393a --- /dev/null +++ b/keyboards/akko/top40/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2022 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 . + */ +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/akko/top40/info.json b/keyboards/akko/top40/info.json new file mode 100644 index 00000000000..8649ecb3759 --- /dev/null +++ b/keyboards/akko/top40/info.json @@ -0,0 +1,188 @@ +{ + "keyboard_name": "TOP40", + "manufacturer": "Akko", + "url":"https://www.akkogear.com", + "maintainer": "jonylee@hfd", + "usb": { + "vid": "0xFFFE", + "pid": "0x000E", + "device_version": "1.0.2", + "suspend_wakeup_delay": 400, + "force_nkro": true + }, + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4"], + "rows": ["C7", "C8", "C9", "A8"] + }, + "diode_direction": "ROW2COL", + "rgb_matrix": { + "driver": "IS31FL3733", + "max_brightness": 180, + "animations": { + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "raindrops": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "multisplash": true + }, + "layout":[ + { "flags": 4, "matrix": [0, 0], "x": 10, "y":10 }, + { "flags": 4, "matrix": [0, 1], "x": 20, "y":10 }, + { "flags": 4, "matrix": [0, 2], "x": 40, "y":10 }, + { "flags": 4, "matrix": [0, 3], "x": 60, "y":10 }, + { "flags": 4, "matrix": [0, 4], "x": 80, "y":10 }, + { "flags": 4, "matrix": [0, 5], "x":100 , "y":10 }, + { "flags": 4, "matrix": [0, 6], "x":120 , "y":10 }, + { "flags": 4, "matrix": [0, 7], "x":140 , "y":10 }, + { "flags": 4, "matrix": [0, 8], "x":160 , "y":10 }, + { "flags": 4, "matrix": [0, 9], "x":180 , "y":10 }, + { "flags": 4, "matrix": [0, 10], "x":200 , "y":10 }, + { "flags": 4, "matrix": [0, 11], "x":218 , "y":10 }, + + { "flags": 4, "matrix": [1, 0], "x": 10, "y":24 }, + { "flags": 4, "matrix": [1, 1], "x": 20, "y":24 }, + { "flags": 4, "matrix": [1, 2], "x": 40, "y":24 }, + { "flags": 4, "matrix": [1, 3], "x": 60, "y":24 }, + { "flags": 4, "matrix": [1, 4], "x": 80, "y":24 }, + { "flags": 4, "matrix": [1, 5], "x":100 , "y":24 }, + { "flags": 4, "matrix": [1, 6], "x":120 , "y":24 }, + { "flags": 4, "matrix": [1, 7], "x":140 , "y":24 }, + { "flags": 4, "matrix": [1, 8], "x":160 , "y":24 }, + { "flags": 4, "matrix": [1, 9], "x":180 , "y":24 }, + { "flags": 4, "matrix": [1, 10], "x":200 , "y":24 }, + { "flags": 4, "matrix": [1, 11], "x":218 , "y":24 }, + + { "flags": 4, "matrix": [2, 0], "x": 10, "y":39 }, + { "flags": 4, "matrix": [2, 1], "x": 20, "y":39 }, + { "flags": 4, "matrix": [2, 2], "x": 40, "y":39 }, + { "flags": 4, "matrix": [2, 3], "x": 60, "y":39 }, + { "flags": 4, "matrix": [2, 4], "x": 80, "y":39 }, + { "flags": 4, "matrix": [2, 5], "x":100 , "y":39 }, + { "flags": 4, "matrix": [2, 6], "x":120 , "y":39 }, + { "flags": 4, "matrix": [2, 7], "x":140 , "y":39 }, + { "flags": 4, "matrix": [2, 8], "x":160 , "y":39 }, + { "flags": 4, "matrix": [2, 9], "x":180 , "y":39 }, + { "flags": 4, "matrix": [2, 10], "x":200 , "y":39 }, + { "flags": 4, "matrix": [2, 11], "x":218 , "y":39 }, + + { "flags": 4, "matrix": [3, 0], "x": 10, "y":54 }, + { "flags": 4, "matrix": [3, 1], "x": 20, "y":54 }, + { "flags": 4, "matrix": [3, 2], "x": 40, "y":54 }, + { "flags": 4, "matrix": [3, 4], "x": 80, "y":54 }, + { "flags": 4, "matrix": [3, 6], "x":120 , "y":54 }, + { "flags": 4, "matrix": [3, 8], "x":160 , "y":54 }, + { "flags": 4, "matrix": [3, 9], "x":180 , "y":54 }, + { "flags": 4, "matrix": [3, 10], "x":200 , "y":54 }, + { "flags": 4, "matrix": [3, 11], "x":218 , "y":54 }, + + {"flags": 2, "x":0, "y":0}, + {"flags": 2, "x":15, "y":0}, + {"flags": 2, "x":25, "y":0}, + {"flags": 2, "x":45, "y":0}, + {"flags": 2, "x":65, "y":0}, + {"flags": 2, "x":85, "y":0}, + {"flags": 2, "x":105, "y":0}, + {"flags": 2, "x":125, "y":0}, + {"flags": 2, "x":145, "y":0}, + {"flags": 2, "x":165, "y":0}, + {"flags": 2, "x":185, "y":0}, + {"flags": 2, "x":205, "y":0}, + {"flags": 2, "x":224, "y":0}, + {"flags": 2, "x":0, "y":16}, + {"flags": 2, "x":224, "y":16}, + {"flags": 2, "x":0, "y":32}, + {"flags": 2, "x":224, "y":32}, + {"flags": 2, "x":0, "y":48}, + {"flags": 2, "x":224, "y":48}, + {"flags": 2, "x":0, "y":64}, + {"flags": 2, "x":15, "y":64}, + {"flags": 2, "x":40, "y":64}, + {"flags": 2, "x":62, "y":64}, + {"flags": 2, "x":80, "y":64}, + {"flags": 2, "x":100, "y":64}, + {"flags": 2, "x":125, "y":64}, + {"flags": 2, "x":145, "y":64}, + {"flags": 2, "x":165, "y":64}, + {"flags": 2, "x":185, "y":64}, + {"flags": 2, "x":205, "y":64}, + {"flags": 2, "x":224, "y":64} + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Ese", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "Q", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "W", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "E", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "R", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "T", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "Y", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "U", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "I", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "O", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "P", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "BackSpace", "matrix": [0, 11], "x": 11, "y": 0 , "w": 1.75}, + + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25 }, + { "label": "A", "matrix": [1, 1], "x": 1.25, "y": 1 }, + { "label": "S", "matrix": [1, 2], "x": 2.25, "y": 1 }, + { "label": "D", "matrix": [1, 3], "x": 3.25, "y": 1 }, + { "label": "F", "matrix": [1, 4], "x": 4.25, "y": 1 }, + { "label": "G", "matrix": [1, 5], "x": 5.25, "y": 1 }, + { "label": "H", "matrix": [1, 6], "x": 6.25, "y": 1 }, + { "label": "J", "matrix": [1, 7], "x": 7.25, "y": 1 }, + { "label": "K", "matrix": [1, 8], "x": 8.25, "y": 1 }, + { "label": "L", "matrix": [1, 9], "x": 9.25, "y": 1 }, + { "label": ":", "matrix": [1, 10], "x": 10.25, "y": 1 }, + { "label": "Enter", "matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.5 }, + + { "label": "Shift", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 }, + { "label": "Z", "matrix": [2, 1], "x": 1.75, "y": 2 }, + { "label": "X", "matrix": [2, 2], "x": 2.75, "y": 2 }, + { "label": "C", "matrix": [2, 3], "x": 3.75, "y": 2 }, + { "label": "V", "matrix": [2, 4], "x": 4.75, "y": 2 }, + { "label": "B", "matrix": [2, 5], "x": 5.75, "y": 2 }, + { "label": "N", "matrix": [2, 6], "x": 6.75, "y": 2 }, + { "label": "M", "matrix": [2, 7], "x": 7.75, "y": 2 }, + { "label": "<", "matrix": [2, 8], "x": 8.75, "y": 2 }, + { "label": ">", "matrix": [2, 9], "x": 9.75, "y": 2 }, + { "label": "Up", "matrix": [2, 10], "x": 10.75, "y": 2}, + { "label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2 }, + + { "label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25 }, + { "label": "Win", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25 }, + { "label": "Alt", "matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25 }, + { "label": "Space", "matrix": [3, 4], "x": 3.75, "y": 3, "w": 2.25 }, + { "label": "Space", "matrix": [3, 6], "x": 6, "y": 3, "w": 2.75 }, + { "label": "Fn", "matrix": [3, 8], "x": 8.75, "y": 3 }, + { "label": "Left", "matrix": [3, 9], "x": 9.75, "y": 3 }, + { "label": "Down", "matrix": [3, 10], "x": 10.75, "y": 3 }, + { "label": "Right", "matrix": [3, 11], "x": 11.75, "y": 3 } + ] + } + } +} diff --git a/keyboards/akko/top40/keymaps/default/keymap.c b/keyboards/akko/top40/keymaps/default/keymap.c new file mode 100644 index 00000000000..fb9df162355 --- /dev/null +++ b/keyboards/akko/top40/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* 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/keymap.c b/keyboards/akko/top40/keymaps/via/keymap.c new file mode 100644 index 00000000000..fb9df162355 --- /dev/null +++ b/keyboards/akko/top40/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* 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/capsunlocked/cu80/v2_iso/keymaps/via/rules.mk b/keyboards/akko/top40/keymaps/via/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_iso/keymaps/via/rules.mk rename to keyboards/akko/top40/keymaps/via/rules.mk diff --git a/keyboards/akko/top40/mcuconf.h b/keyboards/akko/top40/mcuconf.h new file mode 100644 index 00000000000..0d16f4f04e4 --- /dev/null +++ b/keyboards/akko/top40/mcuconf.h @@ -0,0 +1,24 @@ +/* Copyright (C) 2022 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 . + */ +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE + +#undef WB32_I2C_USE_I2C1 +#define WB32_I2C_USE_I2C1 TRUE diff --git a/keyboards/akko/top40/readme.md b/keyboards/akko/top40/readme.md new file mode 100644 index 00000000000..87a2287b934 --- /dev/null +++ b/keyboards/akko/top40/readme.md @@ -0,0 +1,19 @@ +# top40 + +A customizable 40% keyboard. + +* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) +* Hardware Supported: top40 +* Hardware Availability: [akko](https://www.akkogear.com/) + +Make example for this keyboard (after setting up your build environment): + + make akko/top40:default + +Flashing example for this keyboard: + + make akko/top40:default:flash + +**Reset Key**: Hold down the key located at *K01*, which programmed as *Esc* while plugging in the keyboard. + +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/akko/top40/rules.mk b/keyboards/akko/top40/rules.mk new file mode 100644 index 00000000000..b753f0682e5 --- /dev/null +++ b/keyboards/akko/top40/rules.mk @@ -0,0 +1,6 @@ +# Build Options +# change yes to no to disable +# +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = spi_flash + diff --git a/keyboards/akko/top40/top40.c b/keyboards/akko/top40/top40.c new file mode 100644 index 00000000000..7fe193447dc --- /dev/null +++ b/keyboards/akko/top40/top40.c @@ -0,0 +1,125 @@ +/* Copyright (C) 2022 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 "quantum.h" +// clang-format off +#ifdef RGB_MATRIX_ENABLE +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, A_1, B_1, C_1}, + {0, A_2, B_2, C_2}, + {0, A_3, B_3, C_3}, + {0, A_4, B_4, C_4}, + {0, A_5, B_5, C_5}, + {0, A_6, B_6, C_6}, + {0, A_7, B_7, C_7}, + {0, A_8, B_8, C_8}, + {0, A_9, B_9, C_9}, + {0, A_10, B_10, C_10}, + {0, A_11, B_11, C_11}, + {0, A_12, B_12, C_12}, + + {0, D_1, E_1, F_1}, + {0, D_2, E_2, F_2}, + {0, D_3, E_3, F_3}, + {0, D_4, E_4, F_4}, + {0, D_5, E_5, F_5}, + {0, D_6, E_6, F_6}, + {0, D_7, E_7, F_7}, + {0, D_8, E_8, F_8}, + {0, D_9, E_9, F_9}, + {0, D_10, E_10, F_10}, + {0, D_11, E_11, F_11}, + {0, D_12, E_12, F_12}, + + {0, G_1, H_1, I_1}, + {0, G_2, H_2, I_2}, + {0, G_3, H_3, I_3}, + {0, G_4, H_4, I_4}, + {0, G_5, H_5, I_5}, + {0, G_6, H_6, I_6}, + {0, G_7, H_7, I_7}, + {0, G_8, H_8, I_8}, + {0, G_9, H_9, I_9}, + {0, G_10, H_10, I_10}, + {0, G_11, H_11, I_11}, + {0, G_12, H_12, I_12}, + + {0, J_1, K_1, L_1}, + {0, J_2, K_2, L_2}, + {0, J_3, K_3, L_3}, + {0, J_5, K_5, L_5}, + {0, J_7, K_7, L_7}, + {0, J_9, K_9, L_9}, + {0, J_10, K_10, L_10}, + {0, J_11, K_11, L_11}, + {0, J_12, K_12, L_12}, + + {1, A_1, B_1, C_1}, + {1, A_2, B_2, C_2}, + {1, A_3, B_3, C_3}, + {1, J_7, K_7, L_7}, + {1, J_6, K_6, L_6}, + {1, J_5, K_5, L_5}, + {1, J_4, K_4, L_4}, + {1, J_3, K_3, L_3}, + {1, J_2, K_2, L_2}, + {1, J_1, K_1, L_1}, + {1, G_8, H_8, I_8}, + {1, G_7, H_7, I_7}, + {1, G_6, H_6, I_6}, + + {1, A_4, B_4, C_4}, + {1, G_5, H_5, I_5}, + + {1, A_5, B_5, C_5}, + {1, G_4, H_4, I_4}, + + {1, A_6, B_6, C_6}, + {1, G_3, H_3, I_3}, + + {1, A_7, B_7, C_7}, + {1, A_8, B_8, C_8}, + {1, D_1, E_1, F_1}, + {1, D_2, E_2, F_2}, + {1, D_3, E_3, F_3}, + {1, D_4, E_4, F_4}, + {1, D_5, E_5, F_5}, + {1, D_6, E_6, F_6}, + {1, D_7, E_7, F_7}, + {1, D_8, E_8, F_8}, + {1, G_2, H_2, I_2}, + {1, G_1, H_1, I_1}, + +}; + +// clang-format on +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } + if (keymap_config.no_gui) { + rgb_matrix_set_color(37, 200, 200, 200); + } + return true; +} + +#endif \ No newline at end of file diff --git a/keyboards/alas/config.h b/keyboards/alas/config.h index a4424815608..6f81ce367b9 100644 --- a/keyboards/alas/config.h +++ b/keyboards/alas/config.h @@ -19,7 +19,3 @@ along with this program. If not, see . /* Ensure we jump to bootloader if the RESET keycode was pressed */ #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE - -/* Indicator LEDs */ -#define LED_CAPS_LOCK_PIN B6 -#define LED_PIN_ON_STATE 0 diff --git a/keyboards/alas/info.json b/keyboards/alas/info.json index b3db25d2d81..5c5e29f5956 100755 --- a/keyboards/alas/info.json +++ b/keyboards/alas/info.json @@ -8,6 +8,10 @@ "pid": "0x414C", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "B6", + "on_state": 0 + }, "matrix_pins": { "cols": ["A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14"], "rows": ["A2", "B9", "B8", "B5", "B4"] @@ -326,21 +330,21 @@ {"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": [2, 0], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 1.75, "y": 2}, - {"matrix": [2, 3], "x": 2.75, "y": 2}, - {"matrix": [2, 4], "x": 3.75, "y": 2}, - {"matrix": [2, 5], "x": 4.75, "y": 2}, - {"matrix": [2, 6], "x": 5.75, "y": 2}, - {"matrix": [2, 7], "x": 6.75, "y": 2}, - {"matrix": [2, 8], "x": 7.75, "y": 2}, - {"matrix": [2, 9], "x": 8.75, "y": 2}, - {"matrix": [2, 10], "x": 9.75, "y": 2}, - {"matrix": [2, 11], "x": 10.75, "y": 2}, - {"matrix": [1, 13], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2}, + + {"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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [3, 1], "x": 1.25, "y": 3}, @@ -397,21 +401,21 @@ {"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": [2, 0], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 1.75, "y": 2}, - {"matrix": [2, 3], "x": 2.75, "y": 2}, - {"matrix": [2, 4], "x": 3.75, "y": 2}, - {"matrix": [2, 5], "x": 4.75, "y": 2}, - {"matrix": [2, 6], "x": 5.75, "y": 2}, - {"matrix": [2, 7], "x": 6.75, "y": 2}, - {"matrix": [2, 8], "x": 7.75, "y": 2}, - {"matrix": [2, 9], "x": 8.75, "y": 2}, - {"matrix": [2, 10], "x": 9.75, "y": 2}, - {"matrix": [2, 11], "x": 10.75, "y": 2}, - {"matrix": [1, 13], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2}, + + {"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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [3, 1], "x": 1.25, "y": 3}, @@ -468,21 +472,21 @@ {"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": [2, 0], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - - {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 1.75, "y": 2}, - {"matrix": [2, 3], "x": 2.75, "y": 2}, - {"matrix": [2, 4], "x": 3.75, "y": 2}, - {"matrix": [2, 5], "x": 4.75, "y": 2}, - {"matrix": [2, 6], "x": 5.75, "y": 2}, - {"matrix": [2, 7], "x": 6.75, "y": 2}, - {"matrix": [2, 8], "x": 7.75, "y": 2}, - {"matrix": [2, 9], "x": 8.75, "y": 2}, - {"matrix": [2, 10], "x": 9.75, "y": 2}, - {"matrix": [2, 11], "x": 10.75, "y": 2}, - {"matrix": [1, 13], "x": 11.75, "y": 2}, - {"matrix": [2, 13], "x": 12.75, "y": 2}, + + {"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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [3, 1], "x": 1.25, "y": 3}, diff --git a/keyboards/alas/matrix_diagram.md b/keyboards/alas/matrix_diagram.md new file mode 100644 index 00000000000..87e5844f55a --- /dev/null +++ b/keyboards/alas/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for Yiancar-Designs Alas + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │1D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ +│40 │41 │42 │46 │4A │4B │4C │4D │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` diff --git a/keyboards/alas/rules.mk b/keyboards/alas/rules.mk old mode 100755 new mode 100644 index 4b25596ba2b..916e1bf9bb7 --- a/keyboards/alas/rules.mk +++ b/keyboards/alas/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/aleblazer/zodiark/config.h b/keyboards/aleblazer/zodiark/config.h index 05e593fa260..88080d501c5 100644 --- a/keyboards/aleblazer/zodiark/config.h +++ b/keyboards/aleblazer/zodiark/config.h @@ -19,8 +19,6 @@ along with this program. If not, see . #define SELECT_SOFT_SERIAL_SPEED 1 #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 68 -#define RGBLIGHT_SPLIT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -31,9 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #endif #ifdef RGB_MATRIX_ENABLE @@ -42,8 +37,4 @@ along with this program. If not, see . #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_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_MATRIX_HUE_STEP 8 -#define RGB_MATRIX_SAT_STEP 8 -#define RGB_MATRIX_VAL_STEP 8 -#define RGB_MATRIX_SPD_STEP 10 #endif diff --git a/keyboards/aleblazer/zodiark/info.json b/keyboards/aleblazer/zodiark/info.json index 46d69775065..79f71d6ae82 100644 --- a/keyboards/aleblazer/zodiark/info.json +++ b/keyboards/aleblazer/zodiark/info.json @@ -12,11 +12,17 @@ "pin": "B5" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 68, "max_brightness": 170, "split_count": [34, 34] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "matrix_pins": { "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"], diff --git a/keyboards/alf/dc60/config.h b/keyboards/alf/dc60/config.h index b94b584df0e..62c2837ebec 100644 --- a/keyboards/alf/dc60/config.h +++ b/keyboards/alf/dc60/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/alf/dc60/info.json b/keyboards/alf/dc60/info.json index 9d304c8de9a..9c3f8e8b8f7 100644 --- a/keyboards/alf/dc60/info.json +++ b/keyboards/alf/dc60/info.json @@ -17,6 +17,11 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/alf/x11/config.h b/keyboards/alf/x11/config.h index 639c56298b1..bf4b9cff608 100644 --- a/keyboards/alf/x11/config.h +++ b/keyboards/alf/x11/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 28 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/alf/x11/info.json b/keyboards/alf/x11/info.json index bca26ecb0a1..cc2c29a6f6b 100644 --- a/keyboards/alf/x11/info.json +++ b/keyboards/alf/x11/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 28, + "sleep": true + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/alf/x2/config.h b/keyboards/alf/x2/config.h index c982289a0be..d3d6a8b100c 100644 --- a/keyboards/alf/x2/config.h +++ b/keyboards/alf/x2/config.h @@ -32,7 +32,3 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 4 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/alf/x2/info.json b/keyboards/alf/x2/info.json index ea54b093ce5..7a7dad29b68 100644 --- a/keyboards/alf/x2/info.json +++ b/keyboards/alf/x2/info.json @@ -17,6 +17,11 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/alfredslab/swift65/hotswap/config.h b/keyboards/alfredslab/swift65/hotswap/config.h index 793bb4dd1e1..819bbf1a5e9 100644 --- a/keyboards/alfredslab/swift65/hotswap/config.h +++ b/keyboards/alfredslab/swift65/hotswap/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 22 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/alfredslab/swift65/hotswap/info.json b/keyboards/alfredslab/swift65/hotswap/info.json index d60bd0c85d5..f7580fb475c 100644 --- a/keyboards/alfredslab/swift65/hotswap/info.json +++ b/keyboards/alfredslab/swift65/hotswap/info.json @@ -8,6 +8,12 @@ "pid": "0xD4C4", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "sleep": true + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/alfredslab/swift65/solder/config.h b/keyboards/alfredslab/swift65/solder/config.h index 9ee0233356a..7d264c96f0d 100644 --- a/keyboards/alfredslab/swift65/solder/config.h +++ b/keyboards/alfredslab/swift65/solder/config.h @@ -17,11 +17,6 @@ #pragma once - #define RGBLED_NUM 14 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/alfredslab/swift65/solder/info.json b/keyboards/alfredslab/swift65/solder/info.json index 129b0436d93..660a800827f 100644 --- a/keyboards/alfredslab/swift65/solder/info.json +++ b/keyboards/alfredslab/swift65/solder/info.json @@ -9,7 +9,11 @@ "device_version": "0.0.1" }, "rgblight": { - "max_brightness": 100 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "max_brightness": 100, + "sleep": true }, "ws2812": { "pin": "D2" diff --git a/keyboards/alpha/config.h b/keyboards/alpha/config.h index b4ab41d42cc..d702489ee7a 100755 --- a/keyboards/alpha/config.h +++ b/keyboards/alpha/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/alpha/info.json b/keyboards/alpha/info.json index 86e4dbefb30..0ea5b89761a 100644 --- a/keyboards/alpha/info.json +++ b/keyboards/alpha/info.json @@ -7,6 +7,11 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/alpine65/config.h b/keyboards/alpine65/config.h index ac74e24450e..3717a6d07c6 100644 --- a/keyboards/alpine65/config.h +++ b/keyboards/alpine65/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 68 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/alpine65/info.json b/keyboards/alpine65/info.json index e290606d8c0..51357fb0c90 100644 --- a/keyboards/alpine65/info.json +++ b/keyboards/alpine65/info.json @@ -9,7 +9,9 @@ "device_version": "0.0.1" }, "rgblight": { - "max_brightness": 200 + "led_count": 68, + "max_brightness": 200, + "sleep": true }, "ws2812": { "pin": "B15" diff --git a/keyboards/alpine65/rules.mk b/keyboards/alpine65/rules.mk index 8e1200c9f50..747e719be4a 100644 --- a/keyboards/alpine65/rules.mk +++ b/keyboards/alpine65/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow ENCODER_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/amag23/config.h b/keyboards/amag23/config.h index 34e622bfb33..d04d1b238e7 100644 --- a/keyboards/amag23/config.h +++ b/keyboards/amag23/config.h @@ -15,7 +15,6 @@ */ #pragma once -#define RGBLED_NUM 7 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -27,10 +26,6 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/amag23/info.json b/keyboards/amag23/info.json index 9ee25d06d8b..8b6bcb67c7c 100644 --- a/keyboards/amag23/info.json +++ b/keyboards/amag23/info.json @@ -8,6 +8,11 @@ "pid": "0x2323", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/amjkeyboard/amj40/config.h b/keyboards/amjkeyboard/amj40/config.h index 9ec9dcbbebe..f857aafc505 100755 --- a/keyboards/amjkeyboard/amj40/config.h +++ b/keyboards/amjkeyboard/amj40/config.h @@ -35,10 +35,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 4 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* * Feature disable options diff --git a/keyboards/amjkeyboard/amj40/info.json b/keyboards/amjkeyboard/amj40/info.json index a3bbb13785e..3ba95145aa8 100644 --- a/keyboards/amjkeyboard/amj40/info.json +++ b/keyboards/amjkeyboard/amj40/info.json @@ -17,6 +17,10 @@ "pin": "B6", "levels": 4 }, + "rgblight": { + "hue_steps": 10, + "led_count": 4 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/amjkeyboard/amj60/config.h b/keyboards/amjkeyboard/amj60/config.h index c94d803db5f..06338d2a2db 100644 --- a/keyboards/amjkeyboard/amj60/config.h +++ b/keyboards/amjkeyboard/amj60/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 8 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/amjkeyboard/amj60/info.json b/keyboards/amjkeyboard/amj60/info.json index 236db9bd083..a031cc307dd 100644 --- a/keyboards/amjkeyboard/amj60/info.json +++ b/keyboards/amjkeyboard/amj60/info.json @@ -18,6 +18,10 @@ "levels": 4, "breathing": true }, + "rgblight": { + "hue_steps": 10, + "led_count": 8 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/amjkeyboard/amj84/info.json b/keyboards/amjkeyboard/amj84/info.json index 98c4a7e4479..0b4d614c6eb 100644 --- a/keyboards/amjkeyboard/amj84/info.json +++ b/keyboards/amjkeyboard/amj84/info.json @@ -20,100 +20,288 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "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": 15, "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": [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": 3, "w": 1.25}, + {"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, 8], "x": 14, "y": 0}, + {"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_75_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}, + {"matrix": [5, 8], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [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, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso_rwkl": { "layout": [ - {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "K01", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "K02", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "K03", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "K04", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "K05", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "K06", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "K07", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "K08", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "K09", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": "K0A", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "K0B", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "K0C", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "K0D", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "K0E", "matrix": [0, 14], "x": 14, "y": 0}, - {"label": "K10", "matrix": [1, 0], "x": 15, "y": 0}, + {"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": [5, 8], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, - {"label": "K11", "matrix": [1, 1], "x": 0, "y": 1}, - {"label": "K12", "matrix": [1, 2], "x": 1, "y": 1}, - {"label": "K13", "matrix": [1, 3], "x": 2, "y": 1}, - {"label": "K14", "matrix": [1, 4], "x": 3, "y": 1}, - {"label": "K15", "matrix": [1, 5], "x": 4, "y": 1}, - {"label": "K16", "matrix": [1, 6], "x": 5, "y": 1}, - {"label": "K17", "matrix": [1, 7], "x": 6, "y": 1}, - {"label": "K18", "matrix": [1, 8], "x": 7, "y": 1}, - {"label": "K19", "matrix": [1, 9], "x": 8, "y": 1}, - {"label": "K1A", "matrix": [1, 10], "x": 9, "y": 1}, - {"label": "K1B", "matrix": [1, 11], "x": 10, "y": 1}, - {"label": "K1C", "matrix": [1, 12], "x": 11, "y": 1}, - {"label": "K1D", "matrix": [1, 13], "x": 12, "y": 1}, - {"label": "K1E", "matrix": [1, 14], "x": 13, "y": 1, "w": 2}, - {"label": "K20", "matrix": [2, 0], "x": 15, "y": 1}, + {"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}, - {"label": "K21", "matrix": [2, 1], "x": 0, "y": 2, "w": 1.5}, - {"label": "K22", "matrix": [2, 2], "x": 1.5, "y": 2}, - {"label": "K23", "matrix": [2, 3], "x": 2.5, "y": 2}, - {"label": "K24", "matrix": [2, 4], "x": 3.5, "y": 2}, - {"label": "K25", "matrix": [2, 5], "x": 4.5, "y": 2}, - {"label": "K26", "matrix": [2, 6], "x": 5.5, "y": 2}, - {"label": "K27", "matrix": [2, 7], "x": 6.5, "y": 2}, - {"label": "K28", "matrix": [2, 8], "x": 7.5, "y": 2}, - {"label": "K29", "matrix": [2, 9], "x": 8.5, "y": 2}, - {"label": "K2A", "matrix": [2, 10], "x": 9.5, "y": 2}, - {"label": "K2B", "matrix": [2, 11], "x": 10.5, "y": 2}, - {"label": "K2C", "matrix": [2, 12], "x": 11.5, "y": 2}, - {"label": "K2D", "matrix": [2, 13], "x": 12.5, "y": 2}, - {"label": "K2E", "matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, - {"label": "K30", "matrix": [3, 0], "x": 15, "y": 2}, + {"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}, - {"label": "K31", "matrix": [3, 1], "x": 0, "y": 3, "w": 1.75}, - {"label": "K32", "matrix": [3, 2], "x": 1.75, "y": 3}, - {"label": "K33", "matrix": [3, 3], "x": 2.75, "y": 3}, - {"label": "K34", "matrix": [3, 4], "x": 3.75, "y": 3}, - {"label": "K35", "matrix": [3, 5], "x": 4.75, "y": 3}, - {"label": "K36", "matrix": [3, 6], "x": 5.75, "y": 3}, - {"label": "K37", "matrix": [3, 7], "x": 6.75, "y": 3}, - {"label": "K38", "matrix": [3, 8], "x": 7.75, "y": 3}, - {"label": "K39", "matrix": [3, 9], "x": 8.75, "y": 3}, - {"label": "K3A", "matrix": [3, 10], "x": 9.75, "y": 3}, - {"label": "K3B", "matrix": [3, 11], "x": 10.75, "y": 3}, - {"label": "K3C", "matrix": [3, 12], "x": 11.75, "y": 3}, - {"label": "K3D", "matrix": [3, 13], "x": 12.75, "y": 3}, - {"label": "K3E", "matrix": [3, 14], "x": 13.75, "y": 3, "w": 1.25}, - {"label": "K40", "matrix": [4, 0], "x": 15, "y": 3}, + {"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}, - {"label": "K41", "matrix": [4, 1], "x": 0, "y": 4, "w": 2.25}, - {"label": "K42", "matrix": [4, 2], "x": 2.25, "y": 4}, - {"label": "K43", "matrix": [4, 3], "x": 3.25, "y": 4}, - {"label": "K44", "matrix": [4, 4], "x": 4.25, "y": 4}, - {"label": "K45", "matrix": [4, 5], "x": 5.25, "y": 4}, - {"label": "K46", "matrix": [4, 6], "x": 6.25, "y": 4}, - {"label": "K47", "matrix": [4, 7], "x": 7.25, "y": 4}, - {"label": "K48", "matrix": [4, 8], "x": 8.25, "y": 4}, - {"label": "K49", "matrix": [4, 9], "x": 9.25, "y": 4}, - {"label": "K4A", "matrix": [4, 10], "x": 10.25, "y": 4}, - {"label": "K4B", "matrix": [4, 11], "x": 11.25, "y": 4}, - {"label": "K4C", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"label": "K4D", "matrix": [4, 13], "x": 14, "y": 4}, - {"label": "K4E", "matrix": [4, 14], "x": 15, "y": 4}, + {"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}, - {"label": "K50", "matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, - {"label": "K51", "matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, - {"label": "K52", "matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, - {"label": "K55", "matrix": [5, 5], "x": 3.75, "y": 5, "w": 5.25}, - {"label": "K58", "matrix": [5, 8], "x": 9, "y": 5}, - {"label": "K59", "matrix": [5, 9], "x": 10, "y": 5}, - {"label": "K5A", "matrix": [5, 10], "x": 11, "y": 5}, - {"label": "K5B", "matrix": [5, 11], "x": 12, "y": 5}, - {"label": "K5C", "matrix": [5, 12], "x": 13, "y": 5}, - {"label": "K5D", "matrix": [5, 13], "x": 14, "y": 5}, - {"label": "K5E", "matrix": [5, 14], "x": 15, "y": 5} + {"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, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5, "w": 1.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/amjkeyboard/amj84/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c index bf5a8deb056..c6a4747a831 100644 --- a/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c +++ b/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Ctrl|Win |Alt | Space |END|Alt |Ctrl|Left |Down|Rig| * `----------------------------------------------------------------' */ - [0] = LAYOUT( + [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_HOME,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_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, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | * `-----------------------------------------------------------' */ - [1] = LAYOUT( + [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_UP, KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_TRNS,KC_INS, KC_TRNS,KC_PSCR,KC_SCRL,KC_PAUS,KC_TRNS,KC_TRNS, diff --git a/keyboards/amjkeyboard/amj84/keymaps/default_ansi_rwkl/keymap.c b/keyboards/amjkeyboard/amj84/keymaps/default_ansi_rwkl/keymap.c new file mode 100644 index 00000000000..973679d6f56 --- /dev/null +++ b/keyboards/amjkeyboard/amj84/keymaps/default_ansi_rwkl/keymap.c @@ -0,0 +1,57 @@ +// Copyright 2022 peepeetee (@peepeetee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Base */ + /* Keymap 0: Default Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Hm │End│Del│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bkspc │PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Enter │Ins│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Up │Fn │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │Ctrl│GUI │Alt │Space │Alt │Ctrl │Lft│Dwn│Rig│ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + [0] = LAYOUT_75_ansi_rwkl( + 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_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_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_INS, + 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_RGHT + ), + + /* Keymap 1: Fn Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │ │ │Up │ │ │ │Cal│ │Ins│ │PSc│SLk│Pau│ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │BL Brt│Lft│Dwn│Rgt│ │ │ │ │ │ │Hm │PUp│ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │BL Step │ │App│ │ │ │Vl-│Vl+│Mut│End│PDn│ │ │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │Slp │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + [1] = LAYOUT_75_ansi_rwkl( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, + BL_STEP, _______, KC_APP, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______, + KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/amjkeyboard/amj84/keymaps/default_iso_rwkl/keymap.c b/keyboards/amjkeyboard/amj84/keymaps/default_iso_rwkl/keymap.c new file mode 100644 index 00000000000..d64dfffea09 --- /dev/null +++ b/keyboards/amjkeyboard/amj84/keymaps/default_iso_rwkl/keymap.c @@ -0,0 +1,57 @@ +// Copyright 2022 peepeetee (@peepeetee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Base */ + /* Keymap 0: Default Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Hm │End│Del│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bkspc │PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐Ent ├───┤ + * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │Ins│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Up │Fn │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │Ctrl│GUI │Alt │Space │Alt │Ctrl │Lft│Dwn│Rig│ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + [0] = LAYOUT_75_iso_rwkl( + 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_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_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_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_INS, + 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_RGHT + ), + + /* Keymap 1: Fn Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │ │ │Up │ │ │ │Cal│ │Ins│ │PSc│SLk│Pau│ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ + * │BL Brt│Lft│Dwn│Rgt│ │ │ │ │ │ │Hm │PUp│ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │BL Step │ │App│ │ │ │Vl-│Vl+│Mut│End│PDn│ │ │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │Slp │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ + */ + [1] = LAYOUT_75_iso_rwkl( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______, + BL_STEP, _______, _______, KC_APP, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______, + KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/amjkeyboard/amj84/matrix_diagram.md b/keyboards/amjkeyboard/amj84/matrix_diagram.md new file mode 100644 index 00000000000..c09506c3a52 --- /dev/null +++ b/keyboards/amjkeyboard/amj84/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for AMJKeyboard AMJ84 + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │58 │0E │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ ┌─────┐ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐3D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ │3C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ +│50 │51 │52 │55 │59 │5A │5B │5C │5D │5E │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ +┌────────┐ └─────┬─────┘ +│40 │ 2.25u LShift │ +└────────┘ ┌─────┴─────┐ +┌─────┬───┬─────┬───────────────────────┬─────┬─────┐ +│50 │51 │52 │55 │5A │5B │ RWKL +└─────┴───┴─────┴───────────────────────┴─────┴─────┘ + 1.5u 1u 1.5u 6u +``` diff --git a/keyboards/amjkeyboard/amj96/config.h b/keyboards/amjkeyboard/amj96/config.h index 5060c17f3f3..7c5bd8f6683 100644 --- a/keyboards/amjkeyboard/amj96/config.h +++ b/keyboards/amjkeyboard/amj96/config.h @@ -36,11 +36,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -# define RGBLED_NUM 16 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/amjkeyboard/amj96/info.json b/keyboards/amjkeyboard/amj96/info.json index 23bfedd721f..45dade12f82 100644 --- a/keyboards/amjkeyboard/amj96/info.json +++ b/keyboards/amjkeyboard/amj96/info.json @@ -8,6 +8,9 @@ "pid": "0x6074", "device_version": "0.0.2" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/amjkeyboard/amjpad/config.h b/keyboards/amjkeyboard/amjpad/config.h index ecd9f99ed95..f857aafc505 100644 --- a/keyboards/amjkeyboard/amjpad/config.h +++ b/keyboards/amjkeyboard/amjpad/config.h @@ -36,11 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/amjkeyboard/amjpad/info.json b/keyboards/amjkeyboard/amjpad/info.json index d5e1b042f40..e29a2a90d99 100644 --- a/keyboards/amjkeyboard/amjpad/info.json +++ b/keyboards/amjkeyboard/amjpad/info.json @@ -17,6 +17,10 @@ "pin": "B6", "levels": 4 }, + "rgblight": { + "hue_steps": 10, + "led_count": 8 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/anavi/macropad8/config.h b/keyboards/anavi/macropad8/config.h index cce2b5bc14f..b2bad3e01cf 100644 --- a/keyboards/anavi/macropad8/config.h +++ b/keyboards/anavi/macropad8/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLIGHT_SLEEP - - /* ws2812B RGB LED */ #ifdef RGBLIGHT_ENABLE # define RGBLIGHT_EFFECT_BREATHING @@ -32,10 +29,6 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 4 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 #endif #ifdef OLED_ENABLE diff --git a/keyboards/anavi/macropad8/info.json b/keyboards/anavi/macropad8/info.json index 1fa276d94e6..b21f12b7d7d 100644 --- a/keyboards/anavi/macropad8/info.json +++ b/keyboards/anavi/macropad8/info.json @@ -12,6 +12,11 @@ "pin": "D7", "breathing": true }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/ano/config.h b/keyboards/ano/config.h index 296abfa02e6..fff04f05b3c 100644 --- a/keyboards/ano/config.h +++ b/keyboards/ano/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/ano/info.json b/keyboards/ano/info.json index 146e0cad7fc..ce88965500b 100644 --- a/keyboards/ano/info.json +++ b/keyboards/ano/info.json @@ -18,6 +18,9 @@ {"pin_a": "B12", "pin_b": "A14", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "STM32F303", "bootloader": "stm32-dfu", "layouts": { diff --git a/keyboards/aos/tkl/config.h b/keyboards/aos/tkl/config.h index a30a446491a..63bf09d6034 100644 --- a/keyboards/aos/tkl/config.h +++ b/keyboards/aos/tkl/config.h @@ -31,7 +31,3 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 88 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/aos/tkl/info.json b/keyboards/aos/tkl/info.json index 9b4f70a7ef4..cd889141f4a 100644 --- a/keyboards/aos/tkl/info.json +++ b/keyboards/aos/tkl/info.json @@ -11,6 +11,9 @@ "pin": "E6" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 88, "max_brightness": 50 }, "matrix_pins": { diff --git a/keyboards/aplyard/aplx6/rev2/info.json b/keyboards/aplyard/aplx6/rev2/info.json index 2dc54180eb5..06e0296b684 100644 --- a/keyboards/aplyard/aplx6/rev2/info.json +++ b/keyboards/aplyard/aplx6/rev2/info.json @@ -13,6 +13,9 @@ {"pin_a": "F5", "pin_b": "F4"} ] }, + "qmk": { + "tap_keycode_delay": 50 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/arabica37/rev1/info.json b/keyboards/arabica37/rev1/info.json index ed04e5eb141..14d0c01cb9e 100644 --- a/keyboards/arabica37/rev1/info.json +++ b/keyboards/arabica37/rev1/info.json @@ -17,6 +17,7 @@ "soft_serial_pin": "D2" }, "rgblight": { + "led_count": 50, "split_count": [25, 25] }, "ws2812": { diff --git a/keyboards/ares/config.h b/keyboards/ares/config.h index ddc21dae308..d849732a072 100644 --- a/keyboards/ares/config.h +++ b/keyboards/ares/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 16 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ares/info.json b/keyboards/ares/info.json index 81646cb00c3..333e883a5e7 100644 --- a/keyboards/ares/info.json +++ b/keyboards/ares/info.json @@ -22,6 +22,9 @@ "bootmagic": { "matrix": [4, 0] }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/artemis/paragon/hotswap/info.json b/keyboards/artemis/paragon/hotswap/info.json new file mode 100644 index 00000000000..d70625c1d6c --- /dev/null +++ b/keyboards/artemis/paragon/hotswap/info.json @@ -0,0 +1,364 @@ +{ + "matrix_pins": { + "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "C7", "E6", "B0", "B3", "B6", "B5", "B4", "D7", "D4", "D6"], + "rows": ["D2", "D1", "D0", "B2", "B1", "C6"] + }, + "layouts": { + "LAYOUT_ansi_rwkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_rwkl_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 14], "x": 14, "y": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 3, "y": 5.5, "w": 7}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_wkl_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 14], "x": 14, "y": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 3, "y": 5.5, "w": 7}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + } + } +} diff --git a/keyboards/artemis/paragon/hotswap/matrix_diagram.md b/keyboards/artemis/paragon/hotswap/matrix_diagram.md new file mode 100644 index 00000000000..215d44642a2 --- /dev/null +++ b/keyboards/artemis/paragon/hotswap/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for Artemis Paragon Hotswap + +``` +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐ +│00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │Rot│ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │1E │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └───────┘ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3F │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ +│40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4F │ +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ +│50 │52 │53 │56 │5A │5B │5C │5D │5F │ +└────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│50 │52 │56 │5A │5B │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` diff --git a/keyboards/artemis/paragon/hotswap/rules.mk b/keyboards/artemis/paragon/hotswap/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/artemis/paragon/hotswap/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/artemis/paragon/info.json b/keyboards/artemis/paragon/info.json new file mode 100644 index 00000000000..28ba5713daf --- /dev/null +++ b/keyboards/artemis/paragon/info.json @@ -0,0 +1,125 @@ +{ + "manufacturer": "Artemis", + "keyboard_name": "Paragon", + "maintainer": "Sleepdealr", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "encoder": true + }, + "build": { + "lto": true + }, + "processor": "atmega32u4", + "url": "", + "encoder": { + "rotary": [ + { "pin_a": "D3", "pin_b": "D5" } + ] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x3449", + "vid": "0x8C27" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 2], "x": 1.5, "y": 0 }, + { "matrix": [0, 3], "x": 2.5, "y": 0 }, + { "matrix": [0, 4], "x": 3.5, "y": 0 }, + { "matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "matrix": [1, 2], "x": 2, "y": 1.5 }, + { "matrix": [1, 3], "x": 3, "y": 1.5 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "matrix": [1, 6], "x": 6, "y": 1.5 }, + { "matrix": [1, 7], "x": 7, "y": 1.5 }, + { "matrix": [1, 8], "x": 8, "y": 1.5 }, + { "matrix": [1, 9], "x": 9, "y": 1.5 }, + { "matrix": [1, 10], "x": 10, "y": 1.5 }, + { "matrix": [1, 11], "x": 11, "y": 1.5 }, + { "matrix": [1, 12], "x": 12, "y": 1.5 }, + { "matrix": [1, 13], "x": 13, "y": 1.5 }, + { "matrix": [1, 14], "x": 14, "y": 1.5 }, + { "matrix": [1, 15], "x": 15, "y": 1.5 }, + { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, + { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, + { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, + { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, + { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, + { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, + { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, + { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, + { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, + { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, + { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, + { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.5 }, + { "matrix": [2, 15], "x": 15, "y": 2.5 }, + { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, + { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, + { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, + { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, + { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, + { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, + { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, + { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, + { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, + { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, + { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, + { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, + { "matrix": [3, 12], "x": 12.75, "y": 3.5 }, + { "matrix": [3, 13], "w": 1.25, "x": 13.75, "y": 3.5 }, + { "matrix": [3, 15], "x": 15, "y": 3.5 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 }, + { "matrix": [4, 1], "x": 1.25, "y": 4.5 }, + { "matrix": [4, 2], "x": 2.25, "y": 4.5 }, + { "matrix": [4, 3], "x": 3.25, "y": 4.5 }, + { "matrix": [4, 4], "x": 4.25, "y": 4.5 }, + { "matrix": [4, 5], "x": 5.25, "y": 4.5 }, + { "matrix": [4, 6], "x": 6.25, "y": 4.5 }, + { "matrix": [4, 7], "x": 7.25, "y": 4.5 }, + { "matrix": [4, 8], "x": 8.25, "y": 4.5 }, + { "matrix": [4, 9], "x": 9.25, "y": 4.5 }, + { "matrix": [4, 10], "x": 10.25, "y": 4.5 }, + { "matrix": [4, 11], "x": 11.25, "y": 4.5 }, + { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.5 }, + { "matrix": [4, 13], "x": 14, "y": 4.5 }, + { "matrix": [4, 15], "x": 15, "y": 4.5 }, + { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.25, "x": 1.25, "y": 5.5 }, + { "matrix": [5, 3], "w": 1.25, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 4], "w": 2.25, "x": 3.75, "y": 5.5 }, + { "matrix": [5, 6], "w": 1.25, "x": 6, "y": 5.5 }, + { "matrix": [5, 8], "w": 2.75, "x": 7.25, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.5, "x": 10, "y": 5.5 }, + { "matrix": [5, 11], "w": 1.5, "x": 11.5, "y": 5.5 }, + { "matrix": [5, 12], "x": 13, "y": 5.5 }, + { "matrix": [5, 13], "x": 14, "y": 5.5 }, + { "matrix": [5, 15], "x": 15, "y": 5.5 } + ] + } + } +} diff --git a/keyboards/artemis/paragon/keymaps/default/keymap.c b/keyboards/artemis/paragon/keymaps/default/keymap.c new file mode 100644 index 00000000000..fc55fb1c85b --- /dev/null +++ b/keyboards/artemis/paragon/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* +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, MO(1), 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/default/rules.mk b/keyboards/artemis/paragon/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/artemis/paragon/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/artemis/paragon/keymaps/via/keymap.c b/keyboards/artemis/paragon/keymaps/via/keymap.c new file mode 100644 index 00000000000..47e269c78ab --- /dev/null +++ b/keyboards/artemis/paragon/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +/* +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 new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/artemis/paragon/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/artemis/paragon/readme.md b/keyboards/artemis/paragon/readme.md new file mode 100644 index 00000000000..287d141ccc6 --- /dev/null +++ b/keyboards/artemis/paragon/readme.md @@ -0,0 +1,23 @@ +# Artemis/Paragon + +* Keyboard Maintainer: [Sleepdealer](https://github.com/Sleepdealr) +* Hardware Supported: Paragon PCB +* Hardware Availability: GB + +Make example for this keyboard (after setting up your build environment): + + make artemis/paragon/hotswap:default + +Flashing example for this keyboard: + + make artemis/paragon/hotswap: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/artemis/paragon/soldered/info.json b/keyboards/artemis/paragon/soldered/info.json new file mode 100644 index 00000000000..b531b22f807 --- /dev/null +++ b/keyboards/artemis/paragon/soldered/info.json @@ -0,0 +1,736 @@ +{ + "matrix_pins": { + "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "B3", "D0", "D1", "D2", "D3", "D7", "D5"], + "rows": ["B2", "C7", "C6", "B6", "B5", "B4"] + }, + "layouts": { + "LAYOUT_ansi_rwkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_rwkl_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 14], "x": 14, "y": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_rwkl_split_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 3.75, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 6, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 7.25, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_rwkl_split_space_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 14], "x": 14, "y": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 3.75, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 6, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 7.25, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_iso_rwkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_iso_rwkl_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 14], "x": 14, "y": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_iso_rwkl_split_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 14], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 3.75, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 6, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 7.25, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_iso_rwkl_split_space_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.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.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": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 14], "x": 14, "y": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 15], "x": 15, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [3, 15], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + {"matrix": [4, 15], "x": 15, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 3.75, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 6, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 7.25, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 15], "x": 15, "y": 5.5} + ] + } + } +} diff --git a/keyboards/artemis/paragon/soldered/matrix_diagram.md b/keyboards/artemis/paragon/soldered/matrix_diagram.md new file mode 100644 index 00000000000..6fa5ad6cf88 --- /dev/null +++ b/keyboards/artemis/paragon/soldered/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for Artemis Paragon Soldered + +``` +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐ +│00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │Rot│ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │1E │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐3D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3F │ │3C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4F │ +├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ +│50 │52 │53 │54 │56 │58 │5A │5B │5C │5D │5F │ +└────┴────┴────┴────────┴────┴──────────┴─────┴─────┴───┴───┴───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌────┬────┬────┬────────────────────────┬─────┬─────┐ +│50 │52 │53 │56 │5A │5B │ RWKL +└────┴────┴────┴────────────────────────┴─────┴─────┘ +``` diff --git a/keyboards/artemis/paragon/soldered/rules.mk b/keyboards/artemis/paragon/soldered/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/artemis/paragon/soldered/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/ash1800/ash1800.c b/keyboards/ash1800/ash1800.c deleted file mode 100644 index 520b1503aca..00000000000 --- a/keyboards/ash1800/ash1800.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2019 angelbirth - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public 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" - -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - writePin(NUM_LOCK_LED_PIN, !led_state.num_lock); - writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); - writePin(SCROLL_LOCK_LED_PIN, !led_state.scroll_lock); - } - return true; -} \ No newline at end of file diff --git a/keyboards/ash1800/config.h b/keyboards/ash1800/config.h index 2f259d40f67..75e72d0e22a 100644 --- a/keyboards/ash1800/config.h +++ b/keyboards/ash1800/config.h @@ -17,10 +17,6 @@ along with this program. If not, see . #pragma once -#define NUM_LOCK_LED_PIN E6 -#define CAPS_LOCK_LED_PIN F0 -#define SCROLL_LOCK_LED_PIN F7 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/ash1800/info.json b/keyboards/ash1800/info.json index e028e09135e..658e76962d8 100644 --- a/keyboards/ash1800/info.json +++ b/keyboards/ash1800/info.json @@ -7,6 +7,12 @@ "pid": "0x1800", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "F0", + "num_lock": "E6", + "scroll_lock": "F7", + "on_state": 0 + }, "matrix_pins": { "cols": ["F1", "F4", "F5", "F6", "B0", "B2", "B1", "B3", "B7", "C7"], "rows": ["C6", "B6", "B5", "B4", "D7", "D0", "D1", "D2", "D3", "D5", "D4", "D6"] diff --git a/keyboards/ash_xiix/config.h b/keyboards/ash_xiix/config.h index 8f81c450eb5..08dd2458c88 100644 --- a/keyboards/ash_xiix/config.h +++ b/keyboards/ash_xiix/config.h @@ -14,10 +14,6 @@ along with this program. If not, see . #pragma once -#define NUM_LOCK_LED_PIN E6 -#define CAPS_LOCK_LED_PIN F0 -#define SCROLL_LOCK_LED_PIN F7 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE diff --git a/keyboards/ash_xiix/info.json b/keyboards/ash_xiix/info.json index 69155f55c10..d9f99640354 100644 --- a/keyboards/ash_xiix/info.json +++ b/keyboards/ash_xiix/info.json @@ -8,6 +8,12 @@ "pid": "0x14BC", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "F0", + "num_lock": "E6", + "scroll_lock": "F7", + "on_state": 0 + }, "matrix_pins": { "cols": ["F1", "F4", "F5", "F6", "B0", "B2", "B1", "B3", "B7", "C7"], "rows": ["C6", "B6", "B5", "B4", "D7", "D0", "D1", "D2", "D3", "D5", "D4", "D6"] diff --git a/keyboards/at_at/660m/rules.mk b/keyboards/at_at/660m/rules.mk index 0495864be4c..e984f8dc96e 100644 --- a/keyboards/at_at/660m/rules.mk +++ b/keyboards/at_at/660m/rules.mk @@ -12,5 +12,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover NO_USB_STARTUP_CHECK = yes # Workaround for issue 6369 -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/atlantis/ak81_ve/config.h b/keyboards/atlantis/ak81_ve/config.h index f3003629172..28a4e88893b 100644 --- a/keyboards/atlantis/ak81_ve/config.h +++ b/keyboards/atlantis/ak81_ve/config.h @@ -16,9 +16,6 @@ #pragma once -#define ENCODERS_CCW_KEY { { 4, 5 } } // Note: array is { col, row ) -#define ENCODERS_CW_KEY { { 3, 5 } } // Note: array is { col, row ) - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c b/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c index 48ffe1be639..08001a6f998 100644 --- a/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c +++ b/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c @@ -16,54 +16,47 @@ #include QMK_KEYBOARD_H -#define LAYOUT_via( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K010, K011, K012, K013, 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, K212, K213, K214, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, \ - K500, K501, K502, K503, K504, K506, K510, K511, K512, K513, K514 \ -) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, KC_NO, K010, K011, K012, K013, 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, K212, K213, K214 }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, K314 }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414 }, \ - { K500, K501, K502, K503, K504, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514 } \ -} - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_via( - 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_VOLU, KC_VOLD, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - - [1] = LAYOUT_via( - 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_MOD, RGB_RMOD, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI), - - [2] = LAYOUT_via( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - - [3] = LAYOUT_via( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) - -}; \ No newline at end of file + [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 index f74ca2c2447..f1adcab005e 100644 --- a/keyboards/atlantis/ak81_ve/keymaps/via/rules.mk +++ b/keyboards/atlantis/ak81_ve/keymaps/via/rules.mk @@ -1,3 +1,2 @@ VIA_ENABLE = yes - -SRC += encoder_actions.c \ No newline at end of file +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/atlantis/encoder_actions.c b/keyboards/atlantis/encoder_actions.c deleted file mode 100644 index 126b665a8e6..00000000000 --- a/keyboards/atlantis/encoder_actions.c +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright 2020 Neil Brian Ramirez - * Copyright 2021 drashna jael're (@drashna) - * - * This program is free software: you can 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 "encoder_actions.h" - -#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE) -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - // don't return user actions, because they are in the keymap - // encoder_update_user(index, clockwise); - return true; -}; - -#endif diff --git a/keyboards/atlantis/encoder_actions.h b/keyboards/atlantis/encoder_actions.h deleted file mode 100644 index 1a7fb72014d..00000000000 --- a/keyboards/atlantis/encoder_actions.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "quantum.h" - -void encoder_action_unregister(void); - -void encoder_action_register(uint8_t index, bool clockwise); diff --git a/keyboards/atreus/f103/rules.mk b/keyboards/atreus/f103/rules.mk index 9755a4a3c26..22634018d2f 100644 --- a/keyboards/atreus/f103/rules.mk +++ b/keyboards/atreus/f103/rules.mk @@ -1,4 +1,2 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE BOOTMAGIC_ENABLE = yes \ No newline at end of file diff --git a/keyboards/atxkb/1894/config.h b/keyboards/atxkb/1894/config.h index 2542b9f62f4..c920b83bc92 100644 --- a/keyboards/atxkb/1894/config.h +++ b/keyboards/atxkb/1894/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 14 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/atxkb/1894/info.json b/keyboards/atxkb/1894/info.json index 1f101bd9ded..39394834abe 100644 --- a/keyboards/atxkb/1894/info.json +++ b/keyboards/atxkb/1894/info.json @@ -18,6 +18,12 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/aurora65/config.h b/keyboards/aurora65/config.h index fad29eeec2c..956053707f8 100644 --- a/keyboards/aurora65/config.h +++ b/keyboards/aurora65/config.h @@ -26,10 +26,6 @@ along with this program. If not, see . #define WS2812_DMA_CHANNEL 5 #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB -#define RGBLED_NUM 36 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/aurora65/info.json b/keyboards/aurora65/info.json index fd03acb5bdc..986732d51ac 100644 --- a/keyboards/aurora65/info.json +++ b/keyboards/aurora65/info.json @@ -8,6 +8,11 @@ "pid": "0x4136", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 36 + }, "ws2812": { "pin": "B15", "driver": "pwm" diff --git a/keyboards/aurora65/rules.mk b/keyboards/aurora65/rules.mk index 000ee78e21a..cc9d7bb3f53 100644 --- a/keyboards/aurora65/rules.mk +++ b/keyboards/aurora65/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/automata02/alisaie/info.json b/keyboards/automata02/alisaie/info.json new file mode 100644 index 00000000000..5c23e4ef1f6 --- /dev/null +++ b/keyboards/automata02/alisaie/info.json @@ -0,0 +1,92 @@ +{ + "manufacturer": "Automata02", + "keyboard_name": "Alisaie", + "maintainer": "qmk", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B6", "F0", "F1", "F4", "F5", "B5", "B7", "D3", "D2", "D1", "D0", "B3", "B2", "B0"], + "rows": ["E6", "F6", "D5", "D4", "B1"] + }, + "processor": "atmega32u4", + "usb": { + "device_version": "0.0.1", + "pid": "0x2012", + "vid": "0xBABE" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "~", "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": 8.5, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 9.5, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 10.5, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 11.5, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 12.5, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 13.5, "y": 0}, + {"label": "Del", "matrix": [0, 13], "x": 14.5, "y": 0}, + {"label": "Backspace", "matrix": [1, 0], "x": 15.5, "y": 0}, + {"label": "Tab", "matrix": [1, 1], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 8, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 9, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 10, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 11, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 12, "y": 1}, + {"label": "{", "matrix": [1, 12], "x": 13, "y": 1}, + {"label": "}", "matrix": [1, 13], "x": 14, "y": 1}, + {"label": "|", "matrix": [2, 0], "x": 15, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 1], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 8.25, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 9.25, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 10.25, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 11.25, "y": 2}, + {"label": ":", "matrix": [2, 11], "x": 12.25, "y": 2}, + {"label": "\"", "matrix": [2, 12], "x": 13.25, "y": 2}, + {"label": "Enter", "matrix": [3, 0], "x": 14.25, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 1], "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": "B", "matrix": [3, 7], "x": 7.75, "y": 3}, + {"label": "N", "matrix": [3, 8], "x": 8.75, "y": 3}, + {"label": "M", "matrix": [3, 9], "x": 9.75, "y": 3}, + {"label": "<", "matrix": [3, 10], "x": 10.75, "y": 3}, + {"label": ">", "matrix": [3, 11], "x": 11.75, "y": 3}, + {"label": "?", "matrix": [3, 12], "x": 12.75, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 13.75, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [4, 0], "x": 15.5, "y": 3}, + {"label": "Ctrl", "matrix": [4, 1], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25}, + {"label": "K408", "matrix": [4, 8], "x": 5, "y": 4, "w": 2.25}, + {"label": "K409", "matrix": [4, 9], "x": 7.75, "y": 4, "w": 2.75}, + {"label": "Alt", "matrix": [4, 11], "x": 10.5, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 12], "x": 12.75, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 15.25, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/automata02/alisaie/keymaps/default/keymap.c b/keyboards/automata02/alisaie/keymaps/default/keymap.c new file mode 100644 index 00000000000..4b88bd30b5b --- /dev/null +++ b/keyboards/automata02/alisaie/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +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_TAB, KC_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_GRV, KC_RALT, 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_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/keymap.c b/keyboards/automata02/alisaie/keymaps/via/keymap.c new file mode 100644 index 00000000000..eee1a8dd387 --- /dev/null +++ b/keyboards/automata02/alisaie/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* +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_TAB, KC_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_GRV, 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 new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/automata02/alisaie/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/automata02/alisaie/readme.md b/keyboards/automata02/alisaie/readme.md new file mode 100644 index 00000000000..8bfcae86f12 --- /dev/null +++ b/keyboards/automata02/alisaie/readme.md @@ -0,0 +1,24 @@ +# Alisaie + +![Alisaie layout](https://i.imgur.com/0YsrKvw.png) + +A 60% alice like keyboard sharing the same footprint and 8 degree alpha rotation as Meridian but with a tsangan bottom row. + +* Keyboard Maintainer: [Automata02](https://github.com/Automata02/) +* Hardware Supported: Alisaie PCB version 0.0.4b + +Make example for this keyboard (after setting up your build environment): + + make automata02/alisaie:default + +Flashing example for this keyboard: + + make automata02/alisaie: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: + +* **Physical reset button**: Briefly press the button on the backside of the PCB located bellow the Y keyswitch. \ No newline at end of file diff --git a/keyboards/automata02/alisaie/rules.mk b/keyboards/automata02/alisaie/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/automata02/alisaie/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/avalanche/v2/config.h b/keyboards/avalanche/v2/config.h deleted file mode 100644 index e460f21459b..00000000000 --- a/keyboards/avalanche/v2/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2022 Vitaly Volkov (@vlkv) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLED_NUM 12 -#define RGBLIGHT_SPLIT diff --git a/keyboards/avalanche/v2/info.json b/keyboards/avalanche/v2/info.json index c96839ee394..62c284a8454 100644 --- a/keyboards/avalanche/v2/info.json +++ b/keyboards/avalanche/v2/info.json @@ -19,6 +19,7 @@ ] }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/avalanche/v3/config.h b/keyboards/avalanche/v3/config.h deleted file mode 100644 index e460f21459b..00000000000 --- a/keyboards/avalanche/v3/config.h +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2022 Vitaly Volkov (@vlkv) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLED_NUM 12 -#define RGBLIGHT_SPLIT diff --git a/keyboards/avalanche/v3/info.json b/keyboards/avalanche/v3/info.json index 4c8a8e4f891..8cf8187df7f 100644 --- a/keyboards/avalanche/v3/info.json +++ b/keyboards/avalanche/v3/info.json @@ -22,6 +22,7 @@ "soft_serial_pin": "D2" }, "rgblight": { + "led_count": 12, "split_count": [7, 7] }, "ws2812": { diff --git a/keyboards/avalanche/v4/config.h b/keyboards/avalanche/v4/config.h index d60748d9bcd..b1f1833c2e2 100644 --- a/keyboards/avalanche/v4/config.h +++ b/keyboards/avalanche/v4/config.h @@ -4,12 +4,6 @@ #pragma once #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 64 -# define RGBLIGHT_SPLIT -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 - # define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+2 # define RGBLIGHT_EFFECT_ALTERNATING @@ -21,29 +15,6 @@ # define RGBLIGHT_EFFECT_KNIGHT # define RGBLIGHT_EFFECT_SNAKE # define RGBLIGHT_EFFECT_CHRISTMAS - - -// RGB LED Conversion macro from physical array to electric array. This results in better looking animated effects. -# define LED_LAYOUT( \ - /* LED matrix */ \ - L01, L02, L03, L04, L05, L06, L011, L012, L013, L014, L015, L016, \ - L11, L12, L13, L14, L15, L16, L111, L112, L113, L114, L115, L116, \ - L20, L21, L22, L23, L24, L25, L26, L211, L212, L213, L214, L215, L216, L217, \ - L31, L32, L33, L34, L35, L36, L37, L38, L39, L310, L311, L312, L313, L314, L315, L316, \ - L44, L45, L46, L47, L48, L49, L410, L411, L412, L413 )\ - { \ - /* left half - electrical wiring order */ \ - L47,L48,L38,L37,L36,L26,L16,L06,L05,L15,L25,L35,L46,L45,L34,L24,L14,L04,L03,L13,L23,L33,L44,L32,L22,L12,L02,L01,L11,L21,L31,L20, \ - /* right half - electrical wiring order */ \ - L410,L49,L39,L310,L311,L211,L111,L011,L012,L112,L212,L312,L411,L412,L313,L213,L113,L013,L014,L114,L214,L314,L413,L315,L215,L115,L015,L016,L116,L216,L316,L217 \ - } -# define RGBLIGHT_LED_MAP LED_LAYOUT( \ - /* animation order. */ \ - 4, 8, 12, 17, 22, 27, 40, 45, 50, 54, 58, 62, \ - 3, 7, 11, 16, 21, 26, 39, 44, 49, 53, 57, 61, \ - 0, 2, 6, 10, 15, 20, 25, 38, 43, 48, 52, 56, 60, 63, \ - 1, 5, 9, 14, 19, 24, 29, 31, 33, 35, 37, 42, 47, 51, 55, 59, \ - 13, 18, 23, 28, 30, 32, 34, 36, 41, 46 ) #endif #ifdef OLED_ENABLE diff --git a/keyboards/avalanche/v4/info.json b/keyboards/avalanche/v4/info.json index 399ebb82a34..3efed01d455 100644 --- a/keyboards/avalanche/v4/info.json +++ b/keyboards/avalanche/v4/info.json @@ -25,7 +25,10 @@ "pin": "D3" }, "rgblight": { + "hue_steps": 10, + "led_count": 64, "max_brightness": 100, + "led_map": [28, 30, 31, 29, 24, 25, 26, 27, 22, 21, 20, 19, 23, 18, 14, 15, 16, 17, 12, 11, 10, 9, 13, 5, 6, 7, 8, 4, 3, 2, 1, 0, 34, 32, 33, 35, 37, 38, 39, 40, 45, 44, 43, 42, 36, 41, 47, 48, 49, 50, 54, 53, 52, 51, 46, 55, 56, 57, 58, 62, 61, 60, 59, 63], "split_count": [32, 32] }, "processor": "atmega32u4", diff --git a/keyboards/aves60/config.h b/keyboards/aves60/config.h index 7b3a5286294..bb7c5f2c346 100644 --- a/keyboards/aves60/config.h +++ b/keyboards/aves60/config.h @@ -3,11 +3,6 @@ #pragma once -#define RGBLED_NUM 9 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== or choose animations ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/aves60/info.json b/keyboards/aves60/info.json index eaa74b4fbb6..b8c9468f312 100644 --- a/keyboards/aves60/info.json +++ b/keyboards/aves60/info.json @@ -16,6 +16,9 @@ "bootmagic": { "matrix": [4, 6] }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/aves65/config.h b/keyboards/aves65/config.h index 05d7e7fb166..41190f44ed5 100644 --- a/keyboards/aves65/config.h +++ b/keyboards/aves65/config.h @@ -34,4 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 9 diff --git a/keyboards/aves65/info.json b/keyboards/aves65/info.json index 38e619a0aa6..2cda8da3b1b 100644 --- a/keyboards/aves65/info.json +++ b/keyboards/aves65/info.json @@ -17,6 +17,9 @@ "esc_input": "D4", "esc_output": "D0" }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/b_sides/rev41lp/info.json b/keyboards/b_sides/rev41lp/info.json index 8a1c538a719..9d121083bd4 100644 --- a/keyboards/b_sides/rev41lp/info.json +++ b/keyboards/b_sides/rev41lp/info.json @@ -4,7 +4,7 @@ "url": "https://github.com/cyril279/keyboards/tree/main/revlp/41_1350", "maintainer": "cyril279", "usb": { - "vid": "0xFEED", + "vid": "0xFA9D", "pid": "0x5F10", "device_version": "0.0.1" }, diff --git a/keyboards/b_sides/rev41lp/keymaps/via/keymap.c b/keyboards/b_sides/rev41lp/keymaps/via/keymap.c new file mode 100644 index 00000000000..a873433953c --- /dev/null +++ b/keyboards/b_sides/rev41lp/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* +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 new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/b_sides/rev41lp/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/baion_808/rules.mk b/keyboards/baion_808/rules.mk old mode 100755 new mode 100644 index 5d2ff628779..11c4a00e5a5 --- a/keyboards/baion_808/rules.mk +++ b/keyboards/baion_808/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/bajjak/config.h b/keyboards/bajjak/config.h index 614d7a78136..72d296bca4b 100644 --- a/keyboards/bajjak/config.h +++ b/keyboards/bajjak/config.h @@ -43,10 +43,6 @@ along with this program. If not, see . #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 1 - -#define TAPPING_TERM 200 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/bajjak/info.json b/keyboards/bajjak/info.json index a280cb9ed8d..bf090bb7d63 100644 --- a/keyboards/bajjak/info.json +++ b/keyboards/bajjak/info.json @@ -10,6 +10,12 @@ }, "processor": "atmega32u4", "bootloader": "halfkay", + "tapping": { + "toggle": 1 + }, + "build": { + "debounce_type": "sym_eager_pr" + }, "layouts": { "LAYOUT_6x7": { "layout": [ diff --git a/keyboards/bajjak/rules.mk b/keyboards/bajjak/rules.mk index 9a93aea27fe..13148ecb048 100644 --- a/keyboards/bajjak/rules.mk +++ b/keyboards/bajjak/rules.mk @@ -24,8 +24,6 @@ SWAP_HANDS_ENABLE = yes # Allow swapping hands of keyboard BACKLIGHT_SUPPORTED = no AUDIO_SUPPORTED = no -DEBOUNCE_TYPE = sym_eager_pr - # project specific files SRC += matrix.c QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h index 91a4eb0ae80..df0ebb0fdc4 100644 --- a/keyboards/bandominedoni/config.h +++ b/keyboards/bandominedoni/config.h @@ -137,5 +137,3 @@ // Initial velocity value (avoid using 127 since it is used as a special number in some sound sources.) # define MIDI_INITIAL_VELOCITY 117 #endif // MIDI_ENABLE - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/bandominedoni/info.json b/keyboards/bandominedoni/info.json index c4dfe46d74b..9f069f771c6 100644 --- a/keyboards/bandominedoni/info.json +++ b/keyboards/bandominedoni/info.json @@ -26,6 +26,9 @@ } } }, + "qmk": { + "tap_keycode_delay": 10 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/barleycorn_smd/config.h b/keyboards/barleycorn_smd/config.h index 167c3b5c87c..2ed9bc00ba5 100644 --- a/keyboards/barleycorn_smd/config.h +++ b/keyboards/barleycorn_smd/config.h @@ -38,7 +38,6 @@ along with this program. If not, see . #define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, C7, D5, D5, D5, D5, D5, D5, D5, D5, D5, D5 } #define PORT_EXPANDER_ADDRESS 0x20 -#define RGBLED_NUM 15 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -49,7 +48,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 5 } /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/barleycorn_smd/info.json b/keyboards/barleycorn_smd/info.json index 0f759e5f4d5..39516649b17 100644 --- a/keyboards/barleycorn_smd/info.json +++ b/keyboards/barleycorn_smd/info.json @@ -12,6 +12,10 @@ "caps_lock": "B2", "num_lock": "B3" }, + "rgblight": { + "led_count": 15, + "led_map": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 5] + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/basekeys/slice/rev1_rgb/config.h b/keyboards/basekeys/slice/rev1_rgb/config.h index c2b97562018..975b0f0f905 100644 --- a/keyboards/basekeys/slice/rev1_rgb/config.h +++ b/keyboards/basekeys/slice/rev1_rgb/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . /* RGB LED */ #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 69 // Number of LEDs. backlight x69 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/basekeys/slice/rev1_rgb/info.json b/keyboards/basekeys/slice/rev1_rgb/info.json index 94fff43071d..947146004c0 100644 --- a/keyboards/basekeys/slice/rev1_rgb/info.json +++ b/keyboards/basekeys/slice/rev1_rgb/info.json @@ -20,6 +20,8 @@ "pin": "D3" }, "rgblight": { + "hue_steps": 10, + "led_count": 69, "max_brightness": 120, "split_count": [34, 35] }, diff --git a/keyboards/basekeys/trifecta/config.h b/keyboards/basekeys/trifecta/config.h index 85ae15513e5..5a6b3260437 100644 --- a/keyboards/basekeys/trifecta/config.h +++ b/keyboards/basekeys/trifecta/config.h @@ -20,10 +20,6 @@ /* RGB LED */ #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 80 // Number of LEDs. backlight x69 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -53,10 +49,6 @@ # 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 /* Disable the animations you don't want/need. You will need to disable a good number of these * * because they take up a lot of space. Disable until you can successfully compile your firmware. */ diff --git a/keyboards/basekeys/trifecta/info.json b/keyboards/basekeys/trifecta/info.json index 3cc2c19f8b9..5d35e7210c4 100644 --- a/keyboards/basekeys/trifecta/info.json +++ b/keyboards/basekeys/trifecta/info.json @@ -27,8 +27,15 @@ "pin": "E6" }, "rgblight": { + "hue_steps": 10, + "led_count": 80, "max_brightness": 128 }, + "rgb_matrix": { + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/basketweave/config.h b/keyboards/basketweave/config.h index 36054e7bb6f..ebf85963191 100644 --- a/keyboards/basketweave/config.h +++ b/keyboards/basketweave/config.h @@ -20,5 +20,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/basketweave/info.json b/keyboards/basketweave/info.json index 8f9be9b4062..705ef675ba8 100644 --- a/keyboards/basketweave/info.json +++ b/keyboards/basketweave/info.json @@ -19,6 +19,9 @@ {"pin_a": "D7", "pin_b": "C0"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32a", "bootloader": "usbasploader", "layouts": { diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json index 3fc4587f36b..e5f0c233ba5 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json @@ -10,6 +10,9 @@ "pin": "A1", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["B1", "B10", "B3", "B4", "B5"], "rows": ["A2", "B8", "A8", "B9"] diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk b/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk index c48862af2c9..9cc216bb71f 100644 --- a/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk +++ b/keyboards/bastardkb/charybdis/3x5/blackpill/rules.mk @@ -25,5 +25,3 @@ KEYBOARD_SHARED_EP = yes EEPROM_DRIVER = spi SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json index 7fd33fdc4de..d1d2d8a4637 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json +++ b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json @@ -10,6 +10,9 @@ "pin": "D3", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["F5", "B6", "D7", "E6", "B4"], "rows": ["F7", "C6", "D4", "B5"] diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/rules.mk b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/rules.mk index f10636573e7..4436426f303 100644 --- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/rules.mk +++ b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/rules.mk @@ -26,5 +26,3 @@ MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint KEYBOARD_SHARED_EP = yes SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/info.json b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json index a02c176d5ec..8ad00c2e520 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/info.json +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json @@ -10,6 +10,9 @@ "pin": "A1", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["B0", "B1", "B10", "B3", "B4", "B5"], "rows": ["A2", "B8", "A8", "B9"] diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk b/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk index c48862af2c9..9cc216bb71f 100644 --- a/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk +++ b/keyboards/bastardkb/charybdis/3x6/blackpill/rules.mk @@ -25,5 +25,3 @@ KEYBOARD_SHARED_EP = yes EEPROM_DRIVER = spi SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json index e67aa0d6408..42eb9e895fe 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json +++ b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json @@ -10,6 +10,9 @@ "pin": "D3", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], "rows": ["F7", "C6", "D4", "B5"] diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/rules.mk b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/rules.mk index f10636573e7..4436426f303 100644 --- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/rules.mk +++ b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/rules.mk @@ -26,5 +26,3 @@ MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint KEYBOARD_SHARED_EP = yes SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json index c6bff84bf5c..41844167d4c 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json @@ -10,6 +10,9 @@ "pin": "A1", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["B0", "B1", "B10", "B3", "B4", "B5"], "rows": ["B15", "A2", "B8", "A8", "B9"] diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk b/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk index 8ac0939d013..1cfe4724b42 100644 --- a/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk +++ b/keyboards/bastardkb/charybdis/4x6/blackpill/rules.mk @@ -25,5 +25,3 @@ KEYBOARD_SHARED_EP = yes EEPROM_DRIVER = spi SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json index 723f8ae5b13..cdf13d9fd2c 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json @@ -10,6 +10,9 @@ "pin": "D3", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], "rows": ["F4", "F7", "C6", "D4", "B5"] diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk index f10636573e7..4436426f303 100644 --- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk +++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/rules.mk @@ -26,5 +26,3 @@ MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint KEYBOARD_SHARED_EP = yes SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/dilemma/3x5_3/config.h b/keyboards/bastardkb/dilemma/3x5_3/config.h index 16f48788c1e..8604597ff8a 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/config.h +++ b/keyboards/bastardkb/dilemma/3x5_3/config.h @@ -41,13 +41,10 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U -/* RGB settings. */ -#define RGBLED_NUM 36 - /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 36 # define RGB_MATRIX_SPLIT { 18, 18 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/bastardkb/scylla/blackpill/info.json b/keyboards/bastardkb/scylla/blackpill/info.json index 8b653171041..e9b8601495f 100644 --- a/keyboards/bastardkb/scylla/blackpill/info.json +++ b/keyboards/bastardkb/scylla/blackpill/info.json @@ -10,6 +10,9 @@ "pin": "A1", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["B0", "B1", "B10", "B3", "B4", "B5"], "rows": ["B15", "A2", "B8", "A8", "B9"] diff --git a/keyboards/bastardkb/scylla/blackpill/rules.mk b/keyboards/bastardkb/scylla/blackpill/rules.mk index 88d65fbb906..8c0e9b58918 100644 --- a/keyboards/bastardkb/scylla/blackpill/rules.mk +++ b/keyboards/bastardkb/scylla/blackpill/rules.mk @@ -23,5 +23,3 @@ KEYBOARD_SHARED_EP = yes EEPROM_DRIVER = spi SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/scylla/config.h b/keyboards/bastardkb/scylla/config.h index 7270ee253a8..33c62549a10 100644 --- a/keyboards/bastardkb/scylla/config.h +++ b/keyboards/bastardkb/scylla/config.h @@ -18,13 +18,10 @@ #pragma once -/* RGB settings. */ -#define RGBLED_NUM 58 - /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 58 # define RGB_MATRIX_SPLIT { 29, 29 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/bastardkb/scylla/info.json b/keyboards/bastardkb/scylla/info.json index 95f1de9ff18..24a0262beeb 100644 --- a/keyboards/bastardkb/scylla/info.json +++ b/keyboards/bastardkb/scylla/info.json @@ -4,6 +4,7 @@ "pid": "0x1829" }, "rgblight": { + "led_count": 58, "split_count": [29, 29] }, "layouts": { diff --git a/keyboards/bastardkb/scylla/v2/stemcell/info.json b/keyboards/bastardkb/scylla/v2/stemcell/info.json index 2c66f255541..80a8b6d1dca 100644 --- a/keyboards/bastardkb/scylla/v2/stemcell/info.json +++ b/keyboards/bastardkb/scylla/v2/stemcell/info.json @@ -10,6 +10,9 @@ "pin": "D3", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], "rows": ["F4", "F7", "C6", "D4", "B5"] diff --git a/keyboards/bastardkb/scylla/v2/stemcell/rules.mk b/keyboards/bastardkb/scylla/v2/stemcell/rules.mk index c42b71866e9..8dda103d07a 100644 --- a/keyboards/bastardkb/scylla/v2/stemcell/rules.mk +++ b/keyboards/bastardkb/scylla/v2/stemcell/rules.mk @@ -21,5 +21,3 @@ RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality SPLIT_KEYBOARD = yes SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/skeletyl/blackpill/info.json b/keyboards/bastardkb/skeletyl/blackpill/info.json index 2bec7f19811..8e735d7bf9b 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/info.json +++ b/keyboards/bastardkb/skeletyl/blackpill/info.json @@ -10,6 +10,9 @@ "pin": "A1", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["B1", "B10", "B3", "B4", "B5"], "rows": ["A2", "B8", "A8", "B9"] diff --git a/keyboards/bastardkb/skeletyl/blackpill/rules.mk b/keyboards/bastardkb/skeletyl/blackpill/rules.mk index 88d65fbb906..8c0e9b58918 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/rules.mk +++ b/keyboards/bastardkb/skeletyl/blackpill/rules.mk @@ -23,5 +23,3 @@ KEYBOARD_SHARED_EP = yes EEPROM_DRIVER = spi SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/skeletyl/config.h b/keyboards/bastardkb/skeletyl/config.h index 76e75a04e6a..a7f9c943876 100644 --- a/keyboards/bastardkb/skeletyl/config.h +++ b/keyboards/bastardkb/skeletyl/config.h @@ -18,13 +18,10 @@ #pragma once -/* RGB settings. */ -#define RGBLED_NUM 36 - /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 36 # define RGB_MATRIX_SPLIT { 18, 18 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/bastardkb/skeletyl/info.json b/keyboards/bastardkb/skeletyl/info.json index 4373d641098..b4bb9ea78e5 100644 --- a/keyboards/bastardkb/skeletyl/info.json +++ b/keyboards/bastardkb/skeletyl/info.json @@ -4,6 +4,7 @@ "pid": "0x1830" }, "rgblight": { + "led_count": 36, "split_count": [18, 18] }, "community_layouts": ["split_3x5_3"], diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json index cc4bcf887f9..b81ba9e943e 100644 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json +++ b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json @@ -10,6 +10,9 @@ "pin": "D3", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["F5", "B6", "D7", "E6", "B4"], "rows": ["F7", "C6", "D4", "B5"] diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/rules.mk b/keyboards/bastardkb/skeletyl/v2/stemcell/rules.mk index c42b71866e9..8dda103d07a 100644 --- a/keyboards/bastardkb/skeletyl/v2/stemcell/rules.mk +++ b/keyboards/bastardkb/skeletyl/v2/stemcell/rules.mk @@ -21,5 +21,3 @@ RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality SPLIT_KEYBOARD = yes SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/tbk/config.h b/keyboards/bastardkb/tbk/config.h index c5dd67e1053..19ec26d1482 100644 --- a/keyboards/bastardkb/tbk/config.h +++ b/keyboards/bastardkb/tbk/config.h @@ -17,8 +17,6 @@ #pragma once -#define RGBLED_NUM 38 -#define RGBLIGHT_SPLIT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/bastardkb/tbk/info.json b/keyboards/bastardkb/tbk/info.json index 2256365a765..62db6d741f2 100644 --- a/keyboards/bastardkb/tbk/info.json +++ b/keyboards/bastardkb/tbk/info.json @@ -6,6 +6,7 @@ "pid": "0x1828" }, "rgblight": { + "led_count": 38, "split_count": [19, 19] }, "ws2812": { diff --git a/keyboards/bastardkb/tbkmini/blackpill/info.json b/keyboards/bastardkb/tbkmini/blackpill/info.json index 30a1b0ac943..e96bbeeb77c 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/info.json +++ b/keyboards/bastardkb/tbkmini/blackpill/info.json @@ -10,6 +10,9 @@ "pin": "A1", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["B0", "B1", "B10", "B3", "B4", "B5"], "rows": ["A2", "B8", "A8", "B9"] diff --git a/keyboards/bastardkb/tbkmini/blackpill/rules.mk b/keyboards/bastardkb/tbkmini/blackpill/rules.mk index 88d65fbb906..8c0e9b58918 100644 --- a/keyboards/bastardkb/tbkmini/blackpill/rules.mk +++ b/keyboards/bastardkb/tbkmini/blackpill/rules.mk @@ -23,5 +23,3 @@ KEYBOARD_SHARED_EP = yes EEPROM_DRIVER = spi SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h index 8774c0bbdea..ea18f4349e7 100644 --- a/keyboards/bastardkb/tbkmini/config.h +++ b/keyboards/bastardkb/tbkmini/config.h @@ -18,13 +18,10 @@ #pragma once -/* RGB settings. */ -#define RGBLED_NUM 42 - /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 42 # define RGB_MATRIX_SPLIT { 21, 21 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/bastardkb/tbkmini/info.json b/keyboards/bastardkb/tbkmini/info.json index 518cfbf801f..ec0433d3873 100644 --- a/keyboards/bastardkb/tbkmini/info.json +++ b/keyboards/bastardkb/tbkmini/info.json @@ -4,6 +4,7 @@ "pid": "0x1828" }, "rgblight": { + "led_count": 42, "split_count": [21, 21] }, "community_layouts": ["split_3x6_3"], diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json index ae8a3c4d88a..3b5db93b051 100644 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json +++ b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json @@ -10,6 +10,9 @@ "pin": "D3", "driver": "pwm" }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "matrix_pins": { "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], "rows": ["F7", "C6", "D4", "B5"] diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk b/keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk index c42b71866e9..8dda103d07a 100644 --- a/keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk +++ b/keyboards/bastardkb/tbkmini/v2/stemcell/rules.mk @@ -21,5 +21,3 @@ RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality SPLIT_KEYBOARD = yes SERIAL_DRIVER = usart - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bbrfkr/dynamis/config.h b/keyboards/bbrfkr/dynamis/config.h index 4cad8086cd3..ee41aaec4e2 100644 --- a/keyboards/bbrfkr/dynamis/config.h +++ b/keyboards/bbrfkr/dynamis/config.h @@ -17,7 +17,6 @@ #pragma once /* rgb num */ -#define RGBLED_NUM 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/bbrfkr/dynamis/info.json b/keyboards/bbrfkr/dynamis/info.json index c9f403a0455..b3f9c6d2aab 100644 --- a/keyboards/bbrfkr/dynamis/info.json +++ b/keyboards/bbrfkr/dynamis/info.json @@ -18,6 +18,9 @@ {"pin_a": "B7", "pin_b": "E6"} ] }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/bemeier/bmek/config.h b/keyboards/bemeier/bmek/config.h index 6c147e6368c..be8ac6c0fd9 100755 --- a/keyboards/bemeier/bmek/config.h +++ b/keyboards/bemeier/bmek/config.h @@ -22,11 +22,3 @@ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_MODE_STATIC_GRADIENT - -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - -//#define RETRO_TAPPING -#define TAPPING_TERM 175 diff --git a/keyboards/bemeier/bmek/rev1/info.json b/keyboards/bemeier/bmek/rev1/info.json index c50cae166e2..b3aa3b23826 100644 --- a/keyboards/bemeier/bmek/rev1/info.json +++ b/keyboards/bemeier/bmek/rev1/info.json @@ -2,6 +2,14 @@ "usb": { "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, + "tapping": { + "term": 175 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/bemeier/bmek/rev2/info.json b/keyboards/bemeier/bmek/rev2/info.json index 1ac54f5c79d..34c3df6470a 100644 --- a/keyboards/bemeier/bmek/rev2/info.json +++ b/keyboards/bemeier/bmek/rev2/info.json @@ -2,6 +2,14 @@ "usb": { "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, + "tapping": { + "term": 175 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/bemeier/bmek/rev3/info.json b/keyboards/bemeier/bmek/rev3/info.json index c951ca8e43b..d2840af8937 100644 --- a/keyboards/bemeier/bmek/rev3/info.json +++ b/keyboards/bemeier/bmek/rev3/info.json @@ -2,6 +2,14 @@ "usb": { "device_version": "0.0.3" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, + "tapping": { + "term": 175 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/bfake/config.h b/keyboards/bfake/config.h index ddc21dae308..d849732a072 100644 --- a/keyboards/bfake/config.h +++ b/keyboards/bfake/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 16 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/bfake/info.json b/keyboards/bfake/info.json index 374e3377929..3f449b1ca25 100644 --- a/keyboards/bfake/info.json +++ b/keyboards/bfake/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/biacco42/ergo42/rev1/config.h b/keyboards/biacco42/ergo42/rev1/config.h index 8f990eb8ed0..179b1172430 100644 --- a/keyboards/biacco42/ergo42/rev1/config.h +++ b/keyboards/biacco42/ergo42/rev1/config.h @@ -24,9 +24,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/biacco42/ergo42/rev1/info.json b/keyboards/biacco42/ergo42/rev1/info.json index 96ecd7010e1..67f27ad6129 100644 --- a/keyboards/biacco42/ergo42/rev1/info.json +++ b/keyboards/biacco42/ergo42/rev1/info.json @@ -8,6 +8,9 @@ "pid": "0x0042", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/binepad/bnr1/v2/rules.mk b/keyboards/binepad/bnr1/v2/rules.mk old mode 100755 new mode 100644 index a9a826d49ff..77b90d035df --- a/keyboards/binepad/bnr1/v2/rules.mk +++ b/keyboards/binepad/bnr1/v2/rules.mk @@ -3,5 +3,3 @@ EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/bioi/f60/config.h b/keyboards/bioi/f60/config.h index b06dcb251a7..7635dba8d0f 100644 --- a/keyboards/bioi/f60/config.h +++ b/keyboards/bioi/f60/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 5 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/bioi/f60/info.json b/keyboards/bioi/f60/info.json index 59118130434..49227f787da 100644 --- a/keyboards/bioi/f60/info.json +++ b/keyboards/bioi/f60/info.json @@ -18,6 +18,12 @@ "levels": 8, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "sleep": true + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/bioi/g60/config.h b/keyboards/bioi/g60/config.h index d1039d08968..273b316b824 100644 --- a/keyboards/bioi/g60/config.h +++ b/keyboards/bioi/g60/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 // Number of LEDs -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/bioi/g60/info.json b/keyboards/bioi/g60/info.json index 10a92de946b..16341aff48c 100644 --- a/keyboards/bioi/g60/info.json +++ b/keyboards/bioi/g60/info.json @@ -17,6 +17,11 @@ "pin": "B7", "levels": 12 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/bioi/g60ble/config.h b/keyboards/bioi/g60ble/config.h index 24ced1fc0a2..667c0d8cc04 100644 --- a/keyboards/bioi/g60ble/config.h +++ b/keyboards/bioi/g60ble/config.h @@ -11,10 +11,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 36 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/bioi/g60ble/info.json b/keyboards/bioi/g60ble/info.json index 2b835f7c482..69643ae60f0 100644 --- a/keyboards/bioi/g60ble/info.json +++ b/keyboards/bioi/g60ble/info.json @@ -17,6 +17,11 @@ "pin": "B7", "levels": 8 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 36 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/bioi/morgan65/config.h b/keyboards/bioi/morgan65/config.h index 93ab008b66a..f3d313eea0a 100644 --- a/keyboards/bioi/morgan65/config.h +++ b/keyboards/bioi/morgan65/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 // Number of LEDs -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/bioi/morgan65/info.json b/keyboards/bioi/morgan65/info.json index c3fced4f783..db1c74474dd 100644 --- a/keyboards/bioi/morgan65/info.json +++ b/keyboards/bioi/morgan65/info.json @@ -17,6 +17,11 @@ "pin": "B6", "levels": 12 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/bioi/s65/config.h b/keyboards/bioi/s65/config.h index 13f5533c9f6..7e5ab6f8545 100644 --- a/keyboards/bioi/s65/config.h +++ b/keyboards/bioi/s65/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/bioi/s65/info.json b/keyboards/bioi/s65/info.json index a3a783b61ff..46b07b90d11 100644 --- a/keyboards/bioi/s65/info.json +++ b/keyboards/bioi/s65/info.json @@ -17,6 +17,11 @@ "pin": "B6", "levels": 12 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/blackplum/config.h b/keyboards/blackplum/config.h index ec4300c811d..ab095e7c1ee 100644 --- a/keyboards/blackplum/config.h +++ b/keyboards/blackplum/config.h @@ -18,8 +18,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 -#define RGBLIGHT_SLEEP diff --git a/keyboards/blackplum/info.json b/keyboards/blackplum/info.json index bc9786c09a6..ead8b9a2fa8 100644 --- a/keyboards/blackplum/info.json +++ b/keyboards/blackplum/info.json @@ -8,6 +8,13 @@ "pid": "0x4250", "device_version": "10.0.1" }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/blockboy/ac980mini/config.h b/keyboards/blockboy/ac980mini/config.h index 57ba70ec110..b98cb7964fd 100644 --- a/keyboards/blockboy/ac980mini/config.h +++ b/keyboards/blockboy/ac980mini/config.h @@ -6,7 +6,6 @@ // RGB configuration // The number of LEDs connected #define RGB_MATRIX_LED_COUNT 81 -# define RGBLED_NUM 81 #ifdef RGB_MATRIX_ENABLE //# define RGB_MATRIX_KEYPRESSES // reacts to keypresses @@ -16,10 +15,6 @@ // # 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 /* Enable the animations you want/need. You may need to enable only a small number of these because * * they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */ diff --git a/keyboards/blockboy/ac980mini/info.json b/keyboards/blockboy/ac980mini/info.json index c7541768246..1134d36aeb6 100644 --- a/keyboards/blockboy/ac980mini/info.json +++ b/keyboards/blockboy/ac980mini/info.json @@ -19,7 +19,10 @@ "pin": "B7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "layouts": { "LAYOUT": { diff --git a/keyboards/blockey/config.h b/keyboards/blockey/config.h index 9b796dcece8..a51c4956ae8 100644 --- a/keyboards/blockey/config.h +++ b/keyboards/blockey/config.h @@ -17,10 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/blockey/info.json b/keyboards/blockey/info.json index 044d1e9e1a4..2c3f25cfec3 100644 --- a/keyboards/blockey/info.json +++ b/keyboards/blockey/info.json @@ -8,6 +8,10 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 4 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/blockey/keymaps/eucalyn/keymap.c b/keyboards/blockey/keymaps/eucalyn/keymap.c index 3a6d1fecd12..20ab8ed1175 100644 --- a/keyboards/blockey/keymaps/eucalyn/keymap.c +++ b/keyboards/blockey/keymaps/eucalyn/keymap.c @@ -37,19 +37,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/bluebell/swoop/config.h b/keyboards/bluebell/swoop/config.h index a502e8b62bb..de12e03e36c 100644 --- a/keyboards/bluebell/swoop/config.h +++ b/keyboards/bluebell/swoop/config.h @@ -28,9 +28,3 @@ #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_BREATHING - #define RGBLED_NUM 36 - #define RGBLIGHT_SPLIT - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 - #define RGBLIGHT_SLEEP diff --git a/keyboards/bluebell/swoop/info.json b/keyboards/bluebell/swoop/info.json index 1f32562f679..11d0d2bf8d6 100644 --- a/keyboards/bluebell/swoop/info.json +++ b/keyboards/bluebell/swoop/info.json @@ -12,7 +12,10 @@ "pin": "D3" }, "rgblight": { + "hue_steps": 10, + "led_count": 36, "max_brightness": 150, + "sleep": true, "split_count": [18, 18] }, "matrix_pins": { diff --git a/keyboards/boardrun/bizarre/config.h b/keyboards/boardrun/bizarre/config.h index a367b59dd31..2dd7e6b9691 100644 --- a/keyboards/boardrun/bizarre/config.h +++ b/keyboards/boardrun/bizarre/config.h @@ -47,7 +47,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 15 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/boardrun/bizarre/info.json b/keyboards/boardrun/bizarre/info.json index 8c6253965be..6167941d353 100644 --- a/keyboards/boardrun/bizarre/info.json +++ b/keyboards/boardrun/bizarre/info.json @@ -9,6 +9,12 @@ "pid": "0x5339", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 15 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/boardrun/classic/config.h b/keyboards/boardrun/classic/config.h index a1d1a3a5441..2dd7e6b9691 100644 --- a/keyboards/boardrun/classic/config.h +++ b/keyboards/boardrun/classic/config.h @@ -47,7 +47,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/boardrun/classic/info.json b/keyboards/boardrun/classic/info.json index 8259afcdcc9..aeb670a30fc 100644 --- a/keyboards/boardrun/classic/info.json +++ b/keyboards/boardrun/classic/info.json @@ -9,6 +9,12 @@ "pid": "0x5338", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 14 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/boardwalk/config.h b/keyboards/boardwalk/config.h index a1d1a3a5441..2dd7e6b9691 100644 --- a/keyboards/boardwalk/config.h +++ b/keyboards/boardwalk/config.h @@ -47,7 +47,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/boardwalk/info.json b/keyboards/boardwalk/info.json index 8a04fc121ee..c6d76eb6a49 100644 --- a/keyboards/boardwalk/info.json +++ b/keyboards/boardwalk/info.json @@ -8,6 +8,12 @@ "pid": "0x5337", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 14 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/bolsa/bolsalice/config.h b/keyboards/bolsa/bolsalice/config.h index ad199d65786..d0d4d47e7d8 100644 --- a/keyboards/bolsa/bolsalice/config.h +++ b/keyboards/bolsa/bolsalice/config.h @@ -16,12 +16,6 @@ #pragma once - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/bolsa/bolsalice/info.json b/keyboards/bolsa/bolsalice/info.json index 25ef2f617bc..a4313c46334 100644 --- a/keyboards/bolsa/bolsalice/info.json +++ b/keyboards/bolsa/bolsalice/info.json @@ -6,6 +6,12 @@ "vid": "0x4253", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/boston/config.h b/keyboards/boston/config.h index 1dcbcdb5b87..e4d02ffcb8e 100644 --- a/keyboards/boston/config.h +++ b/keyboards/boston/config.h @@ -26,7 +26,6 @@ #define LOCKING_RESYNC_ENABLE /* Define RGBLED */ -#define RGBLED_NUM 1 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,8 +41,6 @@ //The 3D-printed version of Boston uses APA106 LEDs, which are reversed #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB -#define TAP_CODE_DELAY 15 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/boston/info.json b/keyboards/boston/info.json index 76d6cb41abf..f6539ef6586 100644 --- a/keyboards/boston/info.json +++ b/keyboards/boston/info.json @@ -18,11 +18,17 @@ {"pin_a": "C13", "pin_b": "F1", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 15 + }, "backlight": { "pin": "A6", "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "A5" }, diff --git a/keyboards/boston/rules.mk b/keyboards/boston/rules.mk index 176d6b7982e..80d17a2dfd1 100644 --- a/keyboards/boston/rules.mk +++ b/keyboards/boston/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h index d609409cb56..4ed063f738d 100644 --- a/keyboards/boston_meetup/2019/config.h +++ b/keyboards/boston_meetup/2019/config.h @@ -96,8 +96,7 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 10 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/boston_meetup/2019/info.json b/keyboards/boston_meetup/2019/info.json index d50e92e17c9..5260ffabe14 100644 --- a/keyboards/boston_meetup/2019/info.json +++ b/keyboards/boston_meetup/2019/info.json @@ -15,6 +15,9 @@ {"pin_a": "B13", "pin_b": "B14"} ] }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/box75/rules.mk b/keyboards/box75/rules.mk index 93f25a13d8d..5b6b0c92991 100644 --- a/keyboards/box75/rules.mk +++ b/keyboards/box75/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/bpiphany/four_banger/config.h b/keyboards/bpiphany/four_banger/config.h index 2dae864ddb2..d702489ee7a 100644 --- a/keyboards/bpiphany/four_banger/config.h +++ b/keyboards/bpiphany/four_banger/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 1 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/bpiphany/four_banger/info.json b/keyboards/bpiphany/four_banger/info.json index ce9b4a7ec5f..73527bc9703 100644 --- a/keyboards/bpiphany/four_banger/info.json +++ b/keyboards/bpiphany/four_banger/info.json @@ -8,6 +8,11 @@ "pid": "0x2004", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/bpiphany/hid_liber/config.h b/keyboards/bpiphany/hid_liber/config.h index f567c3e12a1..2e41e1f7005 100755 --- a/keyboards/bpiphany/hid_liber/config.h +++ b/keyboards/bpiphany/hid_liber/config.h @@ -23,7 +23,6 @@ #define MATRIX_COLS 8 // HID Liberation Device uses custom matrix code to accomodate a 74HC238 3 to 8 decoder on pins B1, B2 and B3. -//#define DIODE_DIRECTION /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c index c0439912ffa..f0c75284f74 100644 --- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c +++ b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c @@ -3,8 +3,6 @@ #define MEDAPP LT(MEDIA, KC_APP) -uint8_t current_layer_global = 255; - enum layers { DEFAULT, PROG1, @@ -87,25 +85,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______, LT(MISC, KC_SPC), _______,_______,_______,_______, _______,_______,_______, _______,_______), }; -void matrix_scan_user(void) { - uint8_t layer; - layer = get_highest_layer(layer_state); - - if (current_layer_global != layer) { - current_layer_global = layer; - - // unset CAPSLOCK and SCROLL LOCK LEDs - led_set(host_keyboard_leds() & ~(1<event.pressed) { if (record->tap.count > 0 && !record->tap.interrupted) { diff --git a/keyboards/bpiphany/pegasushoof/2013/info.json b/keyboards/bpiphany/pegasushoof/2013/info.json index 585d417688b..abbeeb0f364 100644 --- a/keyboards/bpiphany/pegasushoof/2013/info.json +++ b/keyboards/bpiphany/pegasushoof/2013/info.json @@ -6,7 +6,7 @@ "scroll_lock": "C5", "on_state": 0 }, - "community_layouts": ["tkl_ansi"], + "community_layouts": ["tkl_ansi", "tkl_jis"], "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/bpiphany/pegasushoof/2015/info.json b/keyboards/bpiphany/pegasushoof/2015/info.json index bed39668e8c..a3b5f667844 100644 --- a/keyboards/bpiphany/pegasushoof/2015/info.json +++ b/keyboards/bpiphany/pegasushoof/2015/info.json @@ -6,7 +6,7 @@ "scroll_lock": "C5", "on_state": 0 }, - "community_layouts": ["tkl_ansi"], + "community_layouts": ["tkl_ansi", "tkl_jis"], "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/bschwind/key_ripper/info.json b/keyboards/bschwind/key_ripper/info.json new file mode 100644 index 00000000000..ee30687d4f1 --- /dev/null +++ b/keyboards/bschwind/key_ripper/info.json @@ -0,0 +1,112 @@ +{ + "manufacturer": "bschwind", + "keyboard_name": "key-ripper", + "maintainer": "bschwind", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP29", "GP16", "GP17", "GP18", "GP9", "GP10", "GP19", "GP11", "GP12", "GP13", "GP14", "GP20", "GP22", "GP23"], + "rows": ["GP26", "GP25", "GP27", "GP28", "GP15", "GP24"] + }, + "processor": "RP2040", + "url": "https://github.com/bschwind/key-ripper", + "usb": { + "device_version": "0.2.0", + "pid": "0x0001", + "vid": "0xB501" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "ESC", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 1], "x": 1.875, "y": 0 }, + { "label": "F2", "matrix": [0, 2], "x": 2.875, "y": 0 }, + { "label": "F3", "matrix": [0, 3], "x": 3.875, "y": 0 }, + { "label": "F4", "matrix": [0, 4], "x": 4.875, "y": 0 }, + { "label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0 }, + { "label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0 }, + { "label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0 }, + { "label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0 }, + { "label": "F9", "matrix": [0, 10], "x": 11, "y": 0 }, + { "label": "F10", "matrix": [0, 11], "x": 12, "y": 0 }, + { "label": "F11", "matrix": [0, 12], "x": 13, "y": 0 }, + { "label": "F12", "matrix": [0, 13], "x": 14, "y": 0 }, + + { "label": "`", "matrix": [1, 0], "x": 0, "y": 1 }, + { "label": "1", "matrix": [1, 1], "x": 1, "y": 1 }, + { "label": "2", "matrix": [1, 2], "x": 2, "y": 1 }, + { "label": "3", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "4", "matrix": [1, 4], "x": 4, "y": 1 }, + { "label": "5", "matrix": [1, 5], "x": 5, "y": 1 }, + { "label": "6", "matrix": [1, 6], "x": 6, "y": 1 }, + { "label": "7", "matrix": [1, 7], "x": 7, "y": 1 }, + { "label": "8", "matrix": [1, 8], "x": 8, "y": 1 }, + { "label": "9", "matrix": [1, 9], "x": 9, "y": 1 }, + { "label": "0", "matrix": [1, 10], "x": 10, "y": 1 }, + { "label": "-", "matrix": [1, 11], "x": 11, "y": 1 }, + { "label": "=", "matrix": [1, 12], "x": 12, "y": 1 }, + { "label": "BACKSPACE", "matrix": [1, 13], "x": 13, "y": 1, "w": 2.00 }, + + { "label": "TAB", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5 }, + { "label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2 }, + { "label": "W", "matrix": [2, 2], "x": 2.5, "y": 2 }, + { "label": "E", "matrix": [2, 3], "x": 3.5, "y": 2 }, + { "label": "R", "matrix": [2, 4], "x": 4.5, "y": 2 }, + { "label": "T", "matrix": [2, 5], "x": 5.5, "y": 2 }, + { "label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2 }, + { "label": "U", "matrix": [2, 7], "x": 7.5, "y": 2 }, + { "label": "I", "matrix": [2, 8], "x": 8.5, "y": 2 }, + { "label": "O", "matrix": [2, 9], "x": 9.5, "y": 2 }, + { "label": "P", "matrix": [2, 10], "x": 10.5, "y": 2 }, + { "label": "[", "matrix": [2, 11], "x": 11.5, "y": 2 }, + { "label": "]", "matrix": [2, 12], "x": 12.5, "y": 2 }, + { "label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5 }, + + { "label": "CAPS", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.75 }, + { "label": "A", "matrix": [3, 1], "x": 1.75, "y": 3 }, + { "label": "S", "matrix": [3, 2], "x": 2.75, "y": 3 }, + { "label": "D", "matrix": [3, 3], "x": 3.75, "y": 3 }, + { "label": "F", "matrix": [3, 4], "x": 4.75, "y": 3 }, + { "label": "G", "matrix": [3, 5], "x": 5.75, "y": 3 }, + { "label": "H", "matrix": [3, 6], "x": 6.75, "y": 3 }, + { "label": "J", "matrix": [3, 7], "x": 7.75, "y": 3 }, + { "label": "K", "matrix": [3, 8], "x": 8.75, "y": 3 }, + { "label": "L", "matrix": [3, 9], "x": 9.75, "y": 3 }, + { "label": ";", "matrix": [3, 10], "x": 10.75, "y": 3 }, + { "label": "'", "matrix": [3, 11], "x": 11.75, "y": 3 }, + { "label": "RETURN", "matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25 }, + + { "label": "SHIFT", "matrix": [4, 0], "x": 0, "y": 4, "w": 2.25 }, + { "label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4 }, + { "label": "X", "matrix": [4, 3], "x": 3.25, "y": 4 }, + { "label": "C", "matrix": [4, 4], "x": 4.25, "y": 4 }, + { "label": "V", "matrix": [4, 5], "x": 5.25, "y": 4 }, + { "label": "B", "matrix": [4, 6], "x": 6.25, "y": 4 }, + { "label": "N", "matrix": [4, 7], "x": 7.25, "y": 4 }, + { "label": "M", "matrix": [4, 8], "x": 8.25, "y": 4 }, + { "label": ",", "matrix": [4, 9], "x": 9.25, "y": 4 }, + { "label": ".", "matrix": [4, 10], "x": 10.25, "y": 4 }, + { "label": "/", "matrix": [4, 11], "x": 11.25, "y": 4 }, + { "label": "UP", "matrix": [4, 12], "x": 13, "y": 4 }, + + { "label": "FN", "matrix": [5, 0], "x": 0, "y": 5 }, + { "label": "CTRL", "matrix": [5, 1], "x": 1, "y": 5 }, + { "label": "ALT", "matrix": [5, 2], "x": 2, "y": 5 }, + { "label": "GUI", "matrix": [5, 3], "x": 3, "y": 5, "w": 1.25 }, + { "label": "SPACE", "matrix": [5, 6], "x": 4.25, "y": 5, "w": 6.25 }, + { "label": "GUI", "matrix": [5, 10], "x": 10.5, "y": 5, "w": 1.25 }, + { "label": "LEFT", "matrix": [5, 11], "x": 12, "y": 5 }, + { "label": "DOWN", "matrix": [5, 12], "x": 13, "y": 5 }, + { "label": "RIGHT", "matrix": [5, 13], "x": 14, "y": 5 } + ] + } + } +} diff --git a/keyboards/bschwind/key_ripper/keymaps/default/keymap.c b/keyboards/bschwind/key_ripper/keymaps/default/keymap.c new file mode 100644 index 00000000000..3a8107ad67a --- /dev/null +++ b/keyboards/bschwind/key_ripper/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* +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/keymap.c b/keyboards/bschwind/key_ripper/keymaps/via/keymap.c new file mode 100644 index 00000000000..3a8107ad67a --- /dev/null +++ b/keyboards/bschwind/key_ripper/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* +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 new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/bschwind/key_ripper/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/bschwind/key_ripper/readme.md b/keyboards/bschwind/key_ripper/readme.md new file mode 100644 index 00000000000..84306af968a --- /dev/null +++ b/keyboards/bschwind/key_ripper/readme.md @@ -0,0 +1,29 @@ +# key_ripper + +A 75-key keyboard which has a similar layout to a MacBook keyboard, and sacrifices +the right shift key to keep a compact size. Based on the RP2040 microcontroller. + +![key_ripper](https://imgur.com/pL26kVSh.png) +![key_ripper](https://imgur.com/FnvZREyh.png) +![key_ripper](https://imgur.com/xe8wImMh.png) + +* Keyboard Maintainer: [Brian Schwind](https://github.com/bschwind) +* Hardware Supported: The key-ripper PCB +* Hardware Availability: You can find production files in the [releases](https://github.com/bschwind/key-ripper/releases) page used for ordering from JLCPCB. + +Make example for this keyboard (after setting up your build environment): + + make bschwind/key_ripper:default + +Flashing example for this keyboard: + + make bschwind/key_ripper: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 Escape key and plug in the keyboard +* **Physical reset button**: Hold down the USB BOOT button on the PCB, and briefly press the RESET button on the PCB. diff --git a/keyboards/bschwind/key_ripper/rules.mk b/keyboards/bschwind/key_ripper/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/bschwind/key_ripper/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/bt66tech/bt66tech60/config.h b/keyboards/bt66tech/bt66tech60/config.h index 687baec5094..4c46487b4f8 100644 --- a/keyboards/bt66tech/bt66tech60/config.h +++ b/keyboards/bt66tech/bt66tech60/config.h @@ -35,7 +35,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 9 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 5 /* diff --git a/keyboards/bt66tech/bt66tech60/info.json b/keyboards/bt66tech/bt66tech60/info.json index e4a2d5b1d6c..5c5ca57a1aa 100644 --- a/keyboards/bt66tech/bt66tech60/info.json +++ b/keyboards/bt66tech/bt66tech60/info.json @@ -19,6 +19,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/bt66tech/bt66tech60/rules.mk b/keyboards/bt66tech/bt66tech60/rules.mk index bfd3bcd1b49..0f238804a19 100644 --- a/keyboards/bt66tech/bt66tech60/rules.mk +++ b/keyboards/bt66tech/bt66tech60/rules.mk @@ -14,5 +14,3 @@ SLEEP_LED_ENABLE = yes DEFAULT_FOLDER = bt66tech/bt66tech60 -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/bubble75/hotswap/config.h b/keyboards/bubble75/hotswap/config.h index df83257ebd9..7ecadd00762 100644 --- a/keyboards/bubble75/hotswap/config.h +++ b/keyboards/bubble75/hotswap/config.h @@ -24,11 +24,7 @@ /* WS2812 RGB */ #ifdef RGB_MATRIX_ENABLE -#define RGBLED_NUM 81 #define RGB_MATRIX_LED_COUNT 81 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LAYERS //#define RGBLIGHT_LAYER_BLINK #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/buildakb/potato65/config.h b/keyboards/buildakb/potato65/config.h index 17e3e9a4817..6f793b279fd 100644 --- a/keyboards/buildakb/potato65/config.h +++ b/keyboards/buildakb/potato65/config.h @@ -48,8 +48,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/buildakb/potato65/info.json b/keyboards/buildakb/potato65/info.json index effaf6cbcae..94610fb6cec 100644 --- a/keyboards/buildakb/potato65/info.json +++ b/keyboards/buildakb/potato65/info.json @@ -12,7 +12,11 @@ "pin": "B1" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "max_brightness": 240, + "sleep": true }, "matrix_pins": { "cols": ["F6", "B0", "F1", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"], diff --git a/keyboards/buildakb/potato65hs/config.h b/keyboards/buildakb/potato65hs/config.h index d0bdbb2258b..dcd77424dc1 100644 --- a/keyboards/buildakb/potato65hs/config.h +++ b/keyboards/buildakb/potato65hs/config.h @@ -33,8 +33,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP diff --git a/keyboards/buildakb/potato65hs/info.json b/keyboards/buildakb/potato65hs/info.json index fa3b5d2bfeb..bbcfef953f0 100644 --- a/keyboards/buildakb/potato65hs/info.json +++ b/keyboards/buildakb/potato65hs/info.json @@ -12,7 +12,11 @@ "pin": "D5" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "max_brightness": 240, + "sleep": true }, "matrix_pins": { "cols": ["D3", "D4", "D6", "D7", "B4", "B5", "B6", "F1", "B0", "B1", "B2", "B3", "B7", "D0", "D1"], diff --git a/keyboards/buildakb/potato65s/config.h b/keyboards/buildakb/potato65s/config.h index 3b512642a26..6da15830a26 100644 --- a/keyboards/buildakb/potato65s/config.h +++ b/keyboards/buildakb/potato65s/config.h @@ -33,8 +33,3 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP diff --git a/keyboards/buildakb/potato65s/info.json b/keyboards/buildakb/potato65s/info.json index d4efe4aac66..c1893ffb3cd 100644 --- a/keyboards/buildakb/potato65s/info.json +++ b/keyboards/buildakb/potato65s/info.json @@ -12,7 +12,11 @@ "pin": "D5" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "max_brightness": 240, + "sleep": true }, "matrix_pins": { "cols": ["D3", "D4", "D6", "D7", "B4", "B5", "B6", "F1", "B0", "B1", "B2", "B3", "B7", "D0", "D1"], diff --git a/keyboards/butterkeebs/pocketpad/info.json b/keyboards/butterkeebs/pocketpad/info.json index db525828304..0b42d5fb17e 100644 --- a/keyboards/butterkeebs/pocketpad/info.json +++ b/keyboards/butterkeebs/pocketpad/info.json @@ -25,28 +25,28 @@ "layouts": { "LAYOUT": { "layout": [ - {"x": 0, "y": 0, "matrix": [0, 0]}, - {"x": 1, "y": 0, "matrix": [0, 1]}, - {"x": 2, "y": 0, "matrix": [0, 2]}, - {"x": 3, "y": 0, "matrix": [0, 3]}, + {"x": 1, "y": 0, "matrix": [0, 0]}, + {"x": 2, "y": 0, "matrix": [0, 1]}, + {"x": 3, "y": 0, "matrix": [0, 2]}, + {"x": 4, "y": 0, "matrix": [0, 3]}, - {"x": 0, "y": 1, "matrix": [1, 0]}, - {"x": 1, "y": 1, "matrix": [1, 1]}, - {"x": 2, "y": 1, "matrix": [1, 2]}, - {"x": 3, "y": 1, "matrix": [1, 3]}, + {"x": 1, "y": 1, "matrix": [1, 0]}, + {"x": 2, "y": 1, "matrix": [1, 1]}, + {"x": 3, "y": 1, "matrix": [1, 2]}, + {"x": 4, "y": 1.5, "matrix": [1, 3]}, - {"x": 0, "y": 2, "matrix": [2, 0]}, - {"x": 1, "y": 2, "matrix": [2, 1]}, - {"x": 2, "y": 2, "matrix": [2, 2]}, - {"x": 3, "y": 2, "matrix": [2, 3]}, + {"x": 1, "y": 2, "matrix": [2, 0]}, + {"x": 2, "y": 2, "matrix": [2, 1]}, + {"x": 3, "y": 2, "matrix": [2, 2]}, + {"x": 4, "y": 3.5, "matrix": [2, 3]}, - {"x": 0, "y": 3, "matrix": [3, 0]}, - {"x": 1, "y": 3, "matrix": [3, 1]}, - {"x": 2, "y": 3, "matrix": [3, 2]}, - {"x": 3, "y": 3, "matrix": [3, 3]}, + {"x": 1, "y": 3, "matrix": [3, 0]}, + {"x": 2, "y": 3, "matrix": [3, 1]}, + {"x": 3, "y": 3, "matrix": [3, 2]}, + {"x": 3, "y": 4, "matrix": [3, 3]}, {"x": 0, "y": 4, "matrix": [4, 0]}, - {"x": 1, "y": 4, "matrix": [4, 1]} + {"x": 1.5, "y": 4, "matrix": [4, 1]} ] } } diff --git a/keyboards/cablecardesigns/cypher/rev6/config.h b/keyboards/cablecardesigns/cypher/rev6/config.h index 5a697f88053..21e08eecc98 100644 --- a/keyboards/cablecardesigns/cypher/rev6/config.h +++ b/keyboards/cablecardesigns/cypher/rev6/config.h @@ -7,11 +7,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - #define RGBLED_NUM 3 - #define RGBLIGHT_HUE_STEP 12 - #define RGBLIGHT_SAT_STEP 25 - #define RGBLIGHT_VAL_STEP 12 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/cablecardesigns/cypher/rev6/info.json b/keyboards/cablecardesigns/cypher/rev6/info.json index 5974c492a1f..9722db7a63d 100644 --- a/keyboards/cablecardesigns/cypher/rev6/info.json +++ b/keyboards/cablecardesigns/cypher/rev6/info.json @@ -18,6 +18,13 @@ "levels": 5, "breathing": true }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 3, + "sleep": true + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/cablecardesigns/phoenix/rules.mk b/keyboards/cablecardesigns/phoenix/rules.mk old mode 100755 new mode 100644 index 7ce6edcba90..6dd24d8e068 --- a/keyboards/cablecardesigns/phoenix/rules.mk +++ b/keyboards/cablecardesigns/phoenix/rules.mk @@ -1,7 +1,3 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/info.json index 1d3b2d693bc..fada3f56f0e 100644 --- a/keyboards/canary/canary60rgb/info.json +++ b/keyboards/canary/canary60rgb/info.json @@ -8,6 +8,12 @@ "pid": "0x0621", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "sleep": true + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/canary/canary60rgb/v1/config.h b/keyboards/canary/canary60rgb/v1/config.h index c269ae51724..955021ccd84 100644 --- a/keyboards/canary/canary60rgb/v1/config.h +++ b/keyboards/canary/canary60rgb/v1/config.h @@ -25,11 +25,6 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/cannonkeys/adelie/config.h b/keyboards/cannonkeys/adelie/config.h index 4333289e824..9435a66e79d 100644 --- a/keyboards/cannonkeys/adelie/config.h +++ b/keyboards/cannonkeys/adelie/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 3 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/cannonkeys/adelie/info.json b/keyboards/cannonkeys/adelie/info.json index 717bf3f3f8b..8f2a0f71bea 100644 --- a/keyboards/cannonkeys/adelie/info.json +++ b/keyboards/cannonkeys/adelie/info.json @@ -8,6 +8,12 @@ "pid": "0x0005", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 3, + "sleep": true + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/cannonkeys/aella/rules.mk b/keyboards/cannonkeys/aella/rules.mk index f56120695ac..480e8661799 100644 --- a/keyboards/cannonkeys/aella/rules.mk +++ b/keyboards/cannonkeys/aella/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/an_c/config.h b/keyboards/cannonkeys/an_c/config.h index aced1f333cc..e84ffc5e997 100644 --- a/keyboards/cannonkeys/an_c/config.h +++ b/keyboards/cannonkeys/an_c/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/an_c/info.json b/keyboards/cannonkeys/an_c/info.json index d3b73e31092..370fb9caf47 100644 --- a/keyboards/cannonkeys/an_c/info.json +++ b/keyboards/cannonkeys/an_c/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/an_c/rules.mk b/keyboards/cannonkeys/an_c/rules.mk index b7ab91a3393..8d3de1b8b23 100644 --- a/keyboards/cannonkeys/an_c/rules.mk +++ b/keyboards/cannonkeys/an_c/rules.mk @@ -13,5 +13,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/atlas/config.h b/keyboards/cannonkeys/atlas/config.h index 1296ad8dcc7..b5bcb93ba7f 100644 --- a/keyboards/cannonkeys/atlas/config.h +++ b/keyboards/cannonkeys/atlas/config.h @@ -35,7 +35,6 @@ along with this program. If not, see . #define WS2812_SPI SPID2 -#define RGBLED_NUM 22 #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/atlas/info.json b/keyboards/cannonkeys/atlas/info.json index 6fc7724b2b2..873c1c0c4dc 100644 --- a/keyboards/cannonkeys/atlas/info.json +++ b/keyboards/cannonkeys/atlas/info.json @@ -8,6 +8,9 @@ "pid": "0xA7A5", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 22 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/atlas_alps/config.h b/keyboards/cannonkeys/atlas_alps/config.h index 7e6ce9cdb95..1129e4261b5 100644 --- a/keyboards/cannonkeys/atlas_alps/config.h +++ b/keyboards/cannonkeys/atlas_alps/config.h @@ -34,7 +34,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 36 -#define RGBLIGHT_HUE_STEP 12 -#define RGBLIGHT_SAT_STEP 12 -#define RGBLIGHT_VAL_STEP 12 diff --git a/keyboards/cannonkeys/atlas_alps/info.json b/keyboards/cannonkeys/atlas_alps/info.json index ee584b24d24..c3e03db7018 100644 --- a/keyboards/cannonkeys/atlas_alps/info.json +++ b/keyboards/cannonkeys/atlas_alps/info.json @@ -12,6 +12,10 @@ "pin": "D4" }, "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 36, "max_brightness": 230 }, "matrix_pins": { diff --git a/keyboards/cannonkeys/bakeneko60_iso_hs/rules.mk b/keyboards/cannonkeys/bakeneko60_iso_hs/rules.mk index 2a5031cd320..6dd24d8e068 100644 --- a/keyboards/cannonkeys/bakeneko60_iso_hs/rules.mk +++ b/keyboards/cannonkeys/bakeneko60_iso_hs/rules.mk @@ -1,5 +1,3 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/bakeneko65_iso_hs/rules.mk b/keyboards/cannonkeys/bakeneko65_iso_hs/rules.mk index 2a5031cd320..6dd24d8e068 100644 --- a/keyboards/cannonkeys/bakeneko65_iso_hs/rules.mk +++ b/keyboards/cannonkeys/bakeneko65_iso_hs/rules.mk @@ -1,5 +1,3 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/balance/config.h b/keyboards/cannonkeys/balance/config.h index f9c629dad82..0f2582901b1 100644 --- a/keyboards/cannonkeys/balance/config.h +++ b/keyboards/cannonkeys/balance/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAP_CODE_DELAY 25 - #define DYNAMIC_KEYMAP_LAYER_COUNT 3 /* diff --git a/keyboards/cannonkeys/balance/info.json b/keyboards/cannonkeys/balance/info.json index 8be2cee0c58..9565795169c 100644 --- a/keyboards/cannonkeys/balance/info.json +++ b/keyboards/cannonkeys/balance/info.json @@ -18,6 +18,9 @@ {"pin_a": "B5", "pin_b": "B6", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 25 + }, "indicators": { "caps_lock": "B12", "num_lock": "B14", diff --git a/keyboards/cannonkeys/balance/rules.mk b/keyboards/cannonkeys/balance/rules.mk index aa1b707d431..5afdd3772f5 100644 --- a/keyboards/cannonkeys/balance/rules.mk +++ b/keyboards/cannonkeys/balance/rules.mk @@ -15,5 +15,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/brutalv2_65/rules.mk b/keyboards/cannonkeys/brutalv2_65/rules.mk index f56120695ac..480e8661799 100644 --- a/keyboards/cannonkeys/brutalv2_65/rules.mk +++ b/keyboards/cannonkeys/brutalv2_65/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/chimera65/rules.mk b/keyboards/cannonkeys/chimera65/rules.mk index 09c801a8491..9bdf6b80937 100644 --- a/keyboards/cannonkeys/chimera65/rules.mk +++ b/keyboards/cannonkeys/chimera65/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/chimera65_hs/rules.mk b/keyboards/cannonkeys/chimera65_hs/rules.mk index 2a5031cd320..6dd24d8e068 100644 --- a/keyboards/cannonkeys/chimera65_hs/rules.mk +++ b/keyboards/cannonkeys/chimera65_hs/rules.mk @@ -1,5 +1,3 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/cloudline/config.h b/keyboards/cannonkeys/cloudline/config.h index a3fc30fc3d6..62e3dd37aaf 100644 --- a/keyboards/cannonkeys/cloudline/config.h +++ b/keyboards/cannonkeys/cloudline/config.h @@ -12,7 +12,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/cloudline/info.json b/keyboards/cannonkeys/cloudline/info.json index 37fc5470f96..a84a6f6a064 100644 --- a/keyboards/cannonkeys/cloudline/info.json +++ b/keyboards/cannonkeys/cloudline/info.json @@ -8,6 +8,9 @@ "pid": "0x000A", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/cloudline/rules.mk b/keyboards/cannonkeys/cloudline/rules.mk index 42e73a46504..86794ca0f70 100644 --- a/keyboards/cannonkeys/cloudline/rules.mk +++ b/keyboards/cannonkeys/cloudline/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/crin/rules.mk b/keyboards/cannonkeys/crin/rules.mk index e58c5114355..a5906b6a90f 100644 --- a/keyboards/cannonkeys/crin/rules.mk +++ b/keyboards/cannonkeys/crin/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/db60/config.h b/keyboards/cannonkeys/db60/config.h index 20f73d95a2f..e84ffc5e997 100644 --- a/keyboards/cannonkeys/db60/config.h +++ b/keyboards/cannonkeys/db60/config.h @@ -37,7 +37,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE #define WS2812_SPI SPID2 -#define RGBLED_NUM 20 #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/db60/info.json b/keyboards/cannonkeys/db60/info.json index 99a4425752b..4c653de1be7 100644 --- a/keyboards/cannonkeys/db60/info.json +++ b/keyboards/cannonkeys/db60/info.json @@ -16,6 +16,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/db60/rules.mk b/keyboards/cannonkeys/db60/rules.mk index 9a57c69c7e9..023b329ad22 100644 --- a/keyboards/cannonkeys/db60/rules.mk +++ b/keyboards/cannonkeys/db60/rules.mk @@ -15,5 +15,3 @@ RGBLIGHT_ENABLE = yes DEFAULT_FOLDER = cannonkeys/db60/rev2 -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/devastatingtkl/config.h b/keyboards/cannonkeys/devastatingtkl/config.h index 947648f59e7..e84ffc5e997 100644 --- a/keyboards/cannonkeys/devastatingtkl/config.h +++ b/keyboards/cannonkeys/devastatingtkl/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/devastatingtkl/info.json b/keyboards/cannonkeys/devastatingtkl/info.json index 13a1a2ef48a..d25c7ff036c 100644 --- a/keyboards/cannonkeys/devastatingtkl/info.json +++ b/keyboards/cannonkeys/devastatingtkl/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/devastatingtkl/rules.mk b/keyboards/cannonkeys/devastatingtkl/rules.mk index b7ab91a3393..8d3de1b8b23 100644 --- a/keyboards/cannonkeys/devastatingtkl/rules.mk +++ b/keyboards/cannonkeys/devastatingtkl/rules.mk @@ -13,5 +13,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/gentoo/rules.mk b/keyboards/cannonkeys/gentoo/rules.mk index f56120695ac..480e8661799 100644 --- a/keyboards/cannonkeys/gentoo/rules.mk +++ b/keyboards/cannonkeys/gentoo/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/gentoo_hs/rules.mk b/keyboards/cannonkeys/gentoo_hs/rules.mk index 5b983f1f260..4ee7a29916a 100644 --- a/keyboards/cannonkeys/gentoo_hs/rules.mk +++ b/keyboards/cannonkeys/gentoo_hs/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/hoodrowg/config.h b/keyboards/cannonkeys/hoodrowg/config.h index 043ee2908a2..fb5b024240b 100644 --- a/keyboards/cannonkeys/hoodrowg/config.h +++ b/keyboards/cannonkeys/hoodrowg/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/cannonkeys/hoodrowg/info.json b/keyboards/cannonkeys/hoodrowg/info.json index 0ad5b9fbf63..a3a3452d9e8 100644 --- a/keyboards/cannonkeys/hoodrowg/info.json +++ b/keyboards/cannonkeys/hoodrowg/info.json @@ -17,6 +17,9 @@ "caps_lock": "B6", "scroll_lock": "B2" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/cannonkeys/instant60/config.h b/keyboards/cannonkeys/instant60/config.h index aced1f333cc..e84ffc5e997 100644 --- a/keyboards/cannonkeys/instant60/config.h +++ b/keyboards/cannonkeys/instant60/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/instant60/info.json b/keyboards/cannonkeys/instant60/info.json index 31aeca1e8d7..5ca3a78dca4 100644 --- a/keyboards/cannonkeys/instant60/info.json +++ b/keyboards/cannonkeys/instant60/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/instant60/rules.mk b/keyboards/cannonkeys/instant60/rules.mk index b7ab91a3393..8d3de1b8b23 100644 --- a/keyboards/cannonkeys/instant60/rules.mk +++ b/keyboards/cannonkeys/instant60/rules.mk @@ -13,5 +13,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/instant65/config.h b/keyboards/cannonkeys/instant65/config.h index 65ffa50103b..7f5841a2993 100644 --- a/keyboards/cannonkeys/instant65/config.h +++ b/keyboards/cannonkeys/instant65/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/instant65/info.json b/keyboards/cannonkeys/instant65/info.json index 23b667cf6cc..4db1d0f626a 100644 --- a/keyboards/cannonkeys/instant65/info.json +++ b/keyboards/cannonkeys/instant65/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/instant65/rules.mk b/keyboards/cannonkeys/instant65/rules.mk index 42e73a46504..86794ca0f70 100644 --- a/keyboards/cannonkeys/instant65/rules.mk +++ b/keyboards/cannonkeys/instant65/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/iron165/rules.mk b/keyboards/cannonkeys/iron165/rules.mk index 09c801a8491..9bdf6b80937 100644 --- a/keyboards/cannonkeys/iron165/rules.mk +++ b/keyboards/cannonkeys/iron165/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/leviatan/info.json b/keyboards/cannonkeys/leviatan/info.json new file mode 100644 index 00000000000..7e8d6c6fdd1 --- /dev/null +++ b/keyboards/cannonkeys/leviatan/info.json @@ -0,0 +1,311 @@ +{ + "manufacturer": "CannonKeys", + "url": "https://cannonkeys.com", + "maintainer": "awkannan", + "keyboard_name": "Leviatan", + "usb": { + "vid": "0xCA04", + "pid": "0x0024", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B11", "B10", "B2", "A9", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "C13", "C14", "C15"], + "rows": ["B1", "B0", "A7", "A5", "A4"] + }, + "diode_direction": "COL2ROW", + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "community_layouts": ["60_ansi", "60_tsangan_hhkb", "60_iso"], + "layouts": { + "LAYOUT_60_ansi": { + "layout": [ + {"x": 0, "y": 0, "matrix": [0, 0]}, + {"x": 1, "y": 0, "matrix": [0, 1]}, + {"x": 2, "y": 0, "matrix": [0, 2]}, + {"x": 3, "y": 0, "matrix": [0, 3]}, + {"x": 4, "y": 0, "matrix": [0, 4]}, + {"x": 5, "y": 0, "matrix": [0, 5]}, + {"x": 6, "y": 0, "matrix": [0, 6]}, + {"x": 7, "y": 0, "matrix": [0, 7]}, + {"x": 8, "y": 0, "matrix": [0, 8]}, + {"x": 9, "y": 0, "matrix": [0, 9]}, + {"x": 10, "y": 0, "matrix": [0, 10]}, + {"x": 11, "y": 0, "matrix": [0, 11]}, + {"x": 12, "y": 0, "matrix": [0, 12]}, + {"x": 13, "y": 0, "w": 2, "matrix": [0, 13]}, + + {"x": 0, "y": 1, "w": 1.5, "matrix": [1, 0]}, + {"x": 1.5, "y": 1, "matrix": [1, 1]}, + {"x": 2.5, "y": 1, "matrix": [1, 2]}, + {"x": 3.5, "y": 1, "matrix": [1, 3]}, + {"x": 4.5, "y": 1, "matrix": [1, 4]}, + {"x": 5.5, "y": 1, "matrix": [1, 5]}, + {"x": 6.5, "y": 1, "matrix": [1, 6]}, + {"x": 7.5, "y": 1, "matrix": [1, 7]}, + {"x": 8.5, "y": 1, "matrix": [1, 8]}, + {"x": 9.5, "y": 1, "matrix": [1, 9]}, + {"x": 10.5, "y": 1, "matrix": [1, 10]}, + {"x": 11.5, "y": 1, "matrix": [1, 11]}, + {"x": 12.5, "y": 1, "matrix": [1, 12]}, + {"x": 13.5, "y": 1, "w": 1.5, "matrix": [1, 14]}, + + {"x": 0, "y": 2, "w": 1.75, "matrix": [2, 0]}, + {"x": 1.75, "y": 2, "matrix": [2, 1]}, + {"x": 2.75, "y": 2, "matrix": [2, 2]}, + {"x": 3.75, "y": 2, "matrix": [2, 3]}, + {"x": 4.75, "y": 2, "matrix": [2, 4]}, + {"x": 5.75, "y": 2, "matrix": [2, 5]}, + {"x": 6.75, "y": 2, "matrix": [2, 6]}, + {"x": 7.75, "y": 2, "matrix": [2, 7]}, + {"x": 8.75, "y": 2, "matrix": [2, 8]}, + {"x": 9.75, "y": 2, "matrix": [2, 9]}, + {"x": 10.75, "y": 2, "matrix": [2, 10]}, + {"x": 11.75, "y": 2, "matrix": [2, 11]}, + {"x": 12.75, "y": 2, "w": 2.25, "matrix": [2, 14]}, + + {"x": 0, "y": 3, "w": 2.25, "matrix": [3, 0]}, + {"x": 2.25, "y": 3, "matrix": [3, 2]}, + {"x": 3.25, "y": 3, "matrix": [3, 3]}, + {"x": 4.25, "y": 3, "matrix": [3, 4]}, + {"x": 5.25, "y": 3, "matrix": [3, 5]}, + {"x": 6.25, "y": 3, "matrix": [3, 6]}, + {"x": 7.25, "y": 3, "matrix": [3, 7]}, + {"x": 8.25, "y": 3, "matrix": [3, 8]}, + {"x": 9.25, "y": 3, "matrix": [3, 9]}, + {"x": 10.25, "y": 3, "matrix": [3, 10]}, + {"x": 11.25, "y": 3, "matrix": [3, 11]}, + {"x": 12.25, "y": 3, "w": 2.75, "matrix": [3, 12]}, + + {"x": 0, "y": 4, "w": 1.25, "matrix": [4, 0]}, + {"x": 1.25, "y": 4, "w": 1.25, "matrix": [4, 1]}, + {"x": 2.5, "y": 4, "w": 1.25, "matrix": [4, 2]}, + {"x": 3.75, "y": 4, "w": 6.25, "matrix": [4, 6]}, + {"x": 10, "y": 4, "w": 1.25, "matrix": [4, 10]}, + {"x": 11.25, "y": 4, "w": 1.25, "matrix": [4, 11]}, + {"x": 12.5, "y": 4, "w": 1.25, "matrix": [4, 12]}, + {"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"x": 0, "y": 0, "matrix": [0, 0]}, + {"x": 1, "y": 0, "matrix": [0, 1]}, + {"x": 2, "y": 0, "matrix": [0, 2]}, + {"x": 3, "y": 0, "matrix": [0, 3]}, + {"x": 4, "y": 0, "matrix": [0, 4]}, + {"x": 5, "y": 0, "matrix": [0, 5]}, + {"x": 6, "y": 0, "matrix": [0, 6]}, + {"x": 7, "y": 0, "matrix": [0, 7]}, + {"x": 8, "y": 0, "matrix": [0, 8]}, + {"x": 9, "y": 0, "matrix": [0, 9]}, + {"x": 10, "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, 13]}, + {"x": 14, "y": 0, "matrix": [0, 14]}, + + {"x": 0, "y": 1, "w": 1.5, "matrix": [1, 0]}, + {"x": 1.5, "y": 1, "matrix": [1, 1]}, + {"x": 2.5, "y": 1, "matrix": [1, 2]}, + {"x": 3.5, "y": 1, "matrix": [1, 3]}, + {"x": 4.5, "y": 1, "matrix": [1, 4]}, + {"x": 5.5, "y": 1, "matrix": [1, 5]}, + {"x": 6.5, "y": 1, "matrix": [1, 6]}, + {"x": 7.5, "y": 1, "matrix": [1, 7]}, + {"x": 8.5, "y": 1, "matrix": [1, 8]}, + {"x": 9.5, "y": 1, "matrix": [1, 9]}, + {"x": 10.5, "y": 1, "matrix": [1, 10]}, + {"x": 11.5, "y": 1, "matrix": [1, 11]}, + {"x": 12.5, "y": 1, "matrix": [1, 12]}, + {"x": 13.5, "y": 1, "w": 1.5, "matrix": [1, 14]}, + + {"x": 0, "y": 2, "w": 1.75, "matrix": [2, 0]}, + {"x": 1.75, "y": 2, "matrix": [2, 1]}, + {"x": 2.75, "y": 2, "matrix": [2, 2]}, + {"x": 3.75, "y": 2, "matrix": [2, 3]}, + {"x": 4.75, "y": 2, "matrix": [2, 4]}, + {"x": 5.75, "y": 2, "matrix": [2, 5]}, + {"x": 6.75, "y": 2, "matrix": [2, 6]}, + {"x": 7.75, "y": 2, "matrix": [2, 7]}, + {"x": 8.75, "y": 2, "matrix": [2, 8]}, + {"x": 9.75, "y": 2, "matrix": [2, 9]}, + {"x": 10.75, "y": 2, "matrix": [2, 10]}, + {"x": 11.75, "y": 2, "matrix": [2, 11]}, + {"x": 12.75, "y": 2, "w": 2.25, "matrix": [2, 14]}, + + {"x": 0, "y": 3, "w": 2.25, "matrix": [3, 0]}, + {"x": 2.25, "y": 3, "matrix": [3, 2]}, + {"x": 3.25, "y": 3, "matrix": [3, 3]}, + {"x": 4.25, "y": 3, "matrix": [3, 4]}, + {"x": 5.25, "y": 3, "matrix": [3, 5]}, + {"x": 6.25, "y": 3, "matrix": [3, 6]}, + {"x": 7.25, "y": 3, "matrix": [3, 7]}, + {"x": 8.25, "y": 3, "matrix": [3, 8]}, + {"x": 9.25, "y": 3, "matrix": [3, 9]}, + {"x": 10.25, "y": 3, "matrix": [3, 10]}, + {"x": 11.25, "y": 3, "matrix": [3, 11]}, + {"x": 12.25, "y": 3, "w": 1.75, "matrix": [3, 12]}, + {"x": 14, "y": 3, "matrix": [3, 14]}, + + {"x": 0, "y": 4, "w": 1.5, "matrix": [4, 0]}, + {"x": 1.5, "y": 4, "matrix": [4, 1]}, + {"x": 2.5, "y": 4, "w": 1.5, "matrix": [4, 2]}, + {"x": 4, "y": 4, "w": 7, "matrix": [4, 6]}, + {"x": 11, "y": 4, "w": 1.5, "matrix": [4, 11]}, + {"x": 12.5, "y": 4, "matrix": [4, 12]}, + {"x": 13.5, "y": 4, "w": 1.5, "matrix": [4, 14]} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"x": 0, "y": 0, "matrix": [0, 0]}, + {"x": 1, "y": 0, "matrix": [0, 1]}, + {"x": 2, "y": 0, "matrix": [0, 2]}, + {"x": 3, "y": 0, "matrix": [0, 3]}, + {"x": 4, "y": 0, "matrix": [0, 4]}, + {"x": 5, "y": 0, "matrix": [0, 5]}, + {"x": 6, "y": 0, "matrix": [0, 6]}, + {"x": 7, "y": 0, "matrix": [0, 7]}, + {"x": 8, "y": 0, "matrix": [0, 8]}, + {"x": 9, "y": 0, "matrix": [0, 9]}, + {"x": 10, "y": 0, "matrix": [0, 10]}, + {"x": 11, "y": 0, "matrix": [0, 11]}, + {"x": 12, "y": 0, "matrix": [0, 12]}, + {"x": 13, "y": 0, "w": 2, "matrix": [0, 13]}, + + {"x": 0, "y": 1, "w": 1.5, "matrix": [1, 0]}, + {"x": 1.5, "y": 1, "matrix": [1, 1]}, + {"x": 2.5, "y": 1, "matrix": [1, 2]}, + {"x": 3.5, "y": 1, "matrix": [1, 3]}, + {"x": 4.5, "y": 1, "matrix": [1, 4]}, + {"x": 5.5, "y": 1, "matrix": [1, 5]}, + {"x": 6.5, "y": 1, "matrix": [1, 6]}, + {"x": 7.5, "y": 1, "matrix": [1, 7]}, + {"x": 8.5, "y": 1, "matrix": [1, 8]}, + {"x": 9.5, "y": 1, "matrix": [1, 9]}, + {"x": 10.5, "y": 1, "matrix": [1, 10]}, + {"x": 11.5, "y": 1, "matrix": [1, 11]}, + {"x": 12.5, "y": 1, "matrix": [1, 12]}, + + {"x": 0, "y": 2, "w": 1.75, "matrix": [2, 0]}, + {"x": 1.75, "y": 2, "matrix": [2, 1]}, + {"x": 2.75, "y": 2, "matrix": [2, 2]}, + {"x": 3.75, "y": 2, "matrix": [2, 3]}, + {"x": 4.75, "y": 2, "matrix": [2, 4]}, + {"x": 5.75, "y": 2, "matrix": [2, 5]}, + {"x": 6.75, "y": 2, "matrix": [2, 6]}, + {"x": 7.75, "y": 2, "matrix": [2, 7]}, + {"x": 8.75, "y": 2, "matrix": [2, 8]}, + {"x": 9.75, "y": 2, "matrix": [2, 9]}, + {"x": 10.75, "y": 2, "matrix": [2, 10]}, + {"x": 11.75, "y": 2, "matrix": [2, 11]}, + {"x": 12.75, "y": 2, "matrix": [2, 12]}, + {"x": 13.75, "y": 1, "w": 1.25, "h": 2, "matrix": [2, 14]}, + + {"x": 0, "y": 3, "w": 1.25, "matrix": [3, 0]}, + {"x": 1.25, "y": 3, "matrix": [3, 1]}, + {"x": 2.25, "y": 3, "matrix": [3, 2]}, + {"x": 3.25, "y": 3, "matrix": [3, 3]}, + {"x": 4.25, "y": 3, "matrix": [3, 4]}, + {"x": 5.25, "y": 3, "matrix": [3, 5]}, + {"x": 6.25, "y": 3, "matrix": [3, 6]}, + {"x": 7.25, "y": 3, "matrix": [3, 7]}, + {"x": 8.25, "y": 3, "matrix": [3, 8]}, + {"x": 9.25, "y": 3, "matrix": [3, 9]}, + {"x": 10.25, "y": 3, "matrix": [3, 10]}, + {"x": 11.25, "y": 3, "matrix": [3, 11]}, + {"x": 12.25, "y": 3, "w": 2.75, "matrix": [3, 12]}, + + {"x": 0, "y": 4, "w": 1.25, "matrix": [4, 0]}, + {"x": 1.25, "y": 4, "w": 1.25, "matrix": [4, 1]}, + {"x": 2.5, "y": 4, "w": 1.25, "matrix": [4, 2]}, + {"x": 3.75, "y": 4, "w": 6.25, "matrix": [4, 6]}, + {"x": 10, "y": 4, "w": 1.25, "matrix": [4, 10]}, + {"x": 11.25, "y": 4, "w": 1.25, "matrix": [4, 11]}, + {"x": 12.5, "y": 4, "w": 1.25, "matrix": [4, 12]}, + {"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]} + ] + }, + "LAYOUT_all": { + "layout": [ + {"x": 0, "y": 0, "matrix": [0, 0]}, + {"x": 1, "y": 0, "matrix": [0, 1]}, + {"x": 2, "y": 0, "matrix": [0, 2]}, + {"x": 3, "y": 0, "matrix": [0, 3]}, + {"x": 4, "y": 0, "matrix": [0, 4]}, + {"x": 5, "y": 0, "matrix": [0, 5]}, + {"x": 6, "y": 0, "matrix": [0, 6]}, + {"x": 7, "y": 0, "matrix": [0, 7]}, + {"x": 8, "y": 0, "matrix": [0, 8]}, + {"x": 9, "y": 0, "matrix": [0, 9]}, + {"x": 10, "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, 13]}, + {"x": 14, "y": 0, "matrix": [0, 14]}, + + {"x": 0, "y": 1, "w": 1.5, "matrix": [1, 0]}, + {"x": 1.5, "y": 1, "matrix": [1, 1]}, + {"x": 2.5, "y": 1, "matrix": [1, 2]}, + {"x": 3.5, "y": 1, "matrix": [1, 3]}, + {"x": 4.5, "y": 1, "matrix": [1, 4]}, + {"x": 5.5, "y": 1, "matrix": [1, 5]}, + {"x": 6.5, "y": 1, "matrix": [1, 6]}, + {"x": 7.5, "y": 1, "matrix": [1, 7]}, + {"x": 8.5, "y": 1, "matrix": [1, 8]}, + {"x": 9.5, "y": 1, "matrix": [1, 9]}, + {"x": 10.5, "y": 1, "matrix": [1, 10]}, + {"x": 11.5, "y": 1, "matrix": [1, 11]}, + {"x": 12.5, "y": 1, "matrix": [1, 12]}, + {"x": 13.5, "y": 1, "w": 1.5, "matrix": [1, 14]}, + + {"x": 0, "y": 2, "w": 1.75, "matrix": [2, 0]}, + {"x": 1.75, "y": 2, "matrix": [2, 1]}, + {"x": 2.75, "y": 2, "matrix": [2, 2]}, + {"x": 3.75, "y": 2, "matrix": [2, 3]}, + {"x": 4.75, "y": 2, "matrix": [2, 4]}, + {"x": 5.75, "y": 2, "matrix": [2, 5]}, + {"x": 6.75, "y": 2, "matrix": [2, 6]}, + {"x": 7.75, "y": 2, "matrix": [2, 7]}, + {"x": 8.75, "y": 2, "matrix": [2, 8]}, + {"x": 9.75, "y": 2, "matrix": [2, 9]}, + {"x": 10.75, "y": 2, "matrix": [2, 10]}, + {"x": 11.75, "y": 2, "matrix": [2, 11]}, + {"x": 12.75, "y": 2, "matrix": [2, 12]}, + {"x": 13.75, "y": 2, "w": 1.25, "matrix": [2, 14]}, + + {"x": 0, "y": 3, "w": 1.25, "matrix": [3, 0]}, + {"x": 1.25, "y": 3, "matrix": [3, 1]}, + {"x": 2.25, "y": 3, "matrix": [3, 2]}, + {"x": 3.25, "y": 3, "matrix": [3, 3]}, + {"x": 4.25, "y": 3, "matrix": [3, 4]}, + {"x": 5.25, "y": 3, "matrix": [3, 5]}, + {"x": 6.25, "y": 3, "matrix": [3, 6]}, + {"x": 7.25, "y": 3, "matrix": [3, 7]}, + {"x": 8.25, "y": 3, "matrix": [3, 8]}, + {"x": 9.25, "y": 3, "matrix": [3, 9]}, + {"x": 10.25, "y": 3, "matrix": [3, 10]}, + {"x": 11.25, "y": 3, "matrix": [3, 11]}, + {"x": 12.25, "y": 3, "w": 1.75, "matrix": [3, 12]}, + {"x": 14, "y": 3, "matrix": [3, 14]}, + + {"x": 0, "y": 4, "w": 1.25, "matrix": [4, 0]}, + {"x": 1.25, "y": 4, "w": 1.25, "matrix": [4, 1]}, + {"x": 2.5, "y": 4, "w": 1.25, "matrix": [4, 2]}, + {"x": 3.75, "y": 4, "w": 6.25, "matrix": [4, 6]}, + {"x": 10, "y": 4, "w": 1.25, "matrix": [4, 10]}, + {"x": 11.25, "y": 4, "w": 1.25, "matrix": [4, 11]}, + {"x": 12.5, "y": 4, "w": 1.25, "matrix": [4, 12]}, + {"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]} + ] + } + } +} diff --git a/keyboards/cannonkeys/leviatan/keymaps/default/keymap.c b/keyboards/cannonkeys/leviatan/keymaps/default/keymap.c new file mode 100644 index 00000000000..317eeab093d --- /dev/null +++ b/keyboards/cannonkeys/leviatan/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +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_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, MO(_FN1), KC_RCTL + ), + + [_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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT + ) +}; diff --git a/keyboards/cannonkeys/leviatan/keymaps/iso/keymap.c b/keyboards/cannonkeys/leviatan/keymaps/iso/keymap.c new file mode 100644 index 00000000000..a0cacca0f5c --- /dev/null +++ b/keyboards/cannonkeys/leviatan/keymaps/iso/keymap.c @@ -0,0 +1,45 @@ +/* +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_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, + 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/leviatan/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c new file mode 100644 index 00000000000..d280f72d1ec --- /dev/null +++ b/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c @@ -0,0 +1,46 @@ +/* +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_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, 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, _______, + 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/leviatan/keymaps/via/keymap.c b/keyboards/cannonkeys/leviatan/keymaps/via/keymap.c new file mode 100644 index 00000000000..b3b684cf198 --- /dev/null +++ b/keyboards/cannonkeys/leviatan/keymaps/via/keymap.c @@ -0,0 +1,45 @@ +/* +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, + 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/leviatan/keymaps/via/rules.mk b/keyboards/cannonkeys/leviatan/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/cannonkeys/leviatan/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/cannonkeys/leviatan/readme.md b/keyboards/cannonkeys/leviatan/readme.md new file mode 100644 index 00000000000..70b90e95516 --- /dev/null +++ b/keyboards/cannonkeys/leviatan/readme.md @@ -0,0 +1,25 @@ +# CannonKeys Leviatan for LaminarDesigns + +Leviatan Keyboard + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: STM32F072CBT6 (or equivalent) + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/leviatan:default + + +Flashing example for this keyboard: + + make cannonkeys/leviatan: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 "0" 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/leviatan/rules.mk b/keyboards/cannonkeys/leviatan/rules.mk new file mode 100644 index 00000000000..6dd24d8e068 --- /dev/null +++ b/keyboards/cannonkeys/leviatan/rules.mk @@ -0,0 +1,3 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + diff --git a/keyboards/cannonkeys/malicious_ergo/config.h b/keyboards/cannonkeys/malicious_ergo/config.h index 2c1baa101d0..4a28aa7d86d 100644 --- a/keyboards/cannonkeys/malicious_ergo/config.h +++ b/keyboards/cannonkeys/malicious_ergo/config.h @@ -38,7 +38,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/malicious_ergo/info.json b/keyboards/cannonkeys/malicious_ergo/info.json index 3b54ee75b64..7fcab147bd4 100644 --- a/keyboards/cannonkeys/malicious_ergo/info.json +++ b/keyboards/cannonkeys/malicious_ergo/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/malicious_ergo/rules.mk b/keyboards/cannonkeys/malicious_ergo/rules.mk index 42e73a46504..86794ca0f70 100644 --- a/keyboards/cannonkeys/malicious_ergo/rules.mk +++ b/keyboards/cannonkeys/malicious_ergo/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/obliterated75/config.h b/keyboards/cannonkeys/obliterated75/config.h index 65ffa50103b..7f5841a2993 100644 --- a/keyboards/cannonkeys/obliterated75/config.h +++ b/keyboards/cannonkeys/obliterated75/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/obliterated75/info.json b/keyboards/cannonkeys/obliterated75/info.json index 678ca4457a0..926c41d6d8d 100644 --- a/keyboards/cannonkeys/obliterated75/info.json +++ b/keyboards/cannonkeys/obliterated75/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/obliterated75/rules.mk b/keyboards/cannonkeys/obliterated75/rules.mk index 42e73a46504..86794ca0f70 100644 --- a/keyboards/cannonkeys/obliterated75/rules.mk +++ b/keyboards/cannonkeys/obliterated75/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/onyx/rules.mk b/keyboards/cannonkeys/onyx/rules.mk index e58c5114355..a5906b6a90f 100644 --- a/keyboards/cannonkeys/onyx/rules.mk +++ b/keyboards/cannonkeys/onyx/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/ortho48/config.h b/keyboards/cannonkeys/ortho48/config.h index eaf33bbfa06..ec1924949b7 100644 --- a/keyboards/cannonkeys/ortho48/config.h +++ b/keyboards/cannonkeys/ortho48/config.h @@ -35,7 +35,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 9 #define WS2812_SPI SPID2 /* diff --git a/keyboards/cannonkeys/ortho48/info.json b/keyboards/cannonkeys/ortho48/info.json index dd4879b5beb..f972e729cdb 100644 --- a/keyboards/cannonkeys/ortho48/info.json +++ b/keyboards/cannonkeys/ortho48/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/ortho48/rules.mk b/keyboards/cannonkeys/ortho48/rules.mk index 57a302eec3a..7b6ddd5ad36 100644 --- a/keyboards/cannonkeys/ortho48/rules.mk +++ b/keyboards/cannonkeys/ortho48/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes SLEEP_LED_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/ortho60/config.h b/keyboards/cannonkeys/ortho60/config.h index c8c8c93e51e..33acb298b92 100644 --- a/keyboards/cannonkeys/ortho60/config.h +++ b/keyboards/cannonkeys/ortho60/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 #define WS2812_SPI SPID2 /* diff --git a/keyboards/cannonkeys/ortho60/info.json b/keyboards/cannonkeys/ortho60/info.json index 3b672f4f6d7..d933cc1989b 100644 --- a/keyboards/cannonkeys/ortho60/info.json +++ b/keyboards/cannonkeys/ortho60/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/ortho60/rules.mk b/keyboards/cannonkeys/ortho60/rules.mk index 57a302eec3a..7b6ddd5ad36 100644 --- a/keyboards/cannonkeys/ortho60/rules.mk +++ b/keyboards/cannonkeys/ortho60/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes SLEEP_LED_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/ortho75/config.h b/keyboards/cannonkeys/ortho75/config.h index c8c8c93e51e..33acb298b92 100644 --- a/keyboards/cannonkeys/ortho75/config.h +++ b/keyboards/cannonkeys/ortho75/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 #define WS2812_SPI SPID2 /* diff --git a/keyboards/cannonkeys/ortho75/info.json b/keyboards/cannonkeys/ortho75/info.json index dd2b78b9989..a0dd517d0cb 100644 --- a/keyboards/cannonkeys/ortho75/info.json +++ b/keyboards/cannonkeys/ortho75/info.json @@ -23,6 +23,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/ortho75/rules.mk b/keyboards/cannonkeys/ortho75/rules.mk index 24078750628..5a1f61bac05 100644 --- a/keyboards/cannonkeys/ortho75/rules.mk +++ b/keyboards/cannonkeys/ortho75/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes SLEEP_LED_ENABLE = yes ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/practice60/config.h b/keyboards/cannonkeys/practice60/config.h index c766c83f65a..33acb298b92 100644 --- a/keyboards/cannonkeys/practice60/config.h +++ b/keyboards/cannonkeys/practice60/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 9 #define WS2812_SPI SPID2 /* diff --git a/keyboards/cannonkeys/practice60/info.json b/keyboards/cannonkeys/practice60/info.json index a1313242fa6..aa1ca1259fa 100644 --- a/keyboards/cannonkeys/practice60/info.json +++ b/keyboards/cannonkeys/practice60/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/practice60/rules.mk b/keyboards/cannonkeys/practice60/rules.mk index 01c330aeb6f..544fe68a886 100644 --- a/keyboards/cannonkeys/practice60/rules.mk +++ b/keyboards/cannonkeys/practice60/rules.mk @@ -14,5 +14,3 @@ SLEEP_LED_ENABLE = yes DEFAULT_FOLDER = cannonkeys/practice60 -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/practice65/config.h b/keyboards/cannonkeys/practice65/config.h index 0163604ead9..33acb298b92 100644 --- a/keyboards/cannonkeys/practice65/config.h +++ b/keyboards/cannonkeys/practice65/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 #define WS2812_SPI SPID2 /* diff --git a/keyboards/cannonkeys/practice65/info.json b/keyboards/cannonkeys/practice65/info.json index 28841b48a68..ac4a7bd272f 100644 --- a/keyboards/cannonkeys/practice65/info.json +++ b/keyboards/cannonkeys/practice65/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/practice65/rules.mk b/keyboards/cannonkeys/practice65/rules.mk index 57a302eec3a..7b6ddd5ad36 100644 --- a/keyboards/cannonkeys/practice65/rules.mk +++ b/keyboards/cannonkeys/practice65/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes SLEEP_LED_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/rekt1800/rules.mk b/keyboards/cannonkeys/rekt1800/rules.mk index 32e7be7370a..01d0c0ade11 100644 --- a/keyboards/cannonkeys/rekt1800/rules.mk +++ b/keyboards/cannonkeys/rekt1800/rules.mk @@ -13,5 +13,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/ripple/rules.mk b/keyboards/cannonkeys/ripple/rules.mk index 2a5031cd320..6dd24d8e068 100644 --- a/keyboards/cannonkeys/ripple/rules.mk +++ b/keyboards/cannonkeys/ripple/rules.mk @@ -1,5 +1,3 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/ripple_hs/rules.mk b/keyboards/cannonkeys/ripple_hs/rules.mk index 2a5031cd320..6dd24d8e068 100644 --- a/keyboards/cannonkeys/ripple_hs/rules.mk +++ b/keyboards/cannonkeys/ripple_hs/rules.mk @@ -1,5 +1,3 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/sagittarius/config.h b/keyboards/cannonkeys/sagittarius/config.h index 29c78c23982..925046aa4f5 100644 --- a/keyboards/cannonkeys/sagittarius/config.h +++ b/keyboards/cannonkeys/sagittarius/config.h @@ -37,7 +37,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/sagittarius/info.json b/keyboards/cannonkeys/sagittarius/info.json index 0980cb42751..df90b9db0ac 100644 --- a/keyboards/cannonkeys/sagittarius/info.json +++ b/keyboards/cannonkeys/sagittarius/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/sagittarius/rules.mk b/keyboards/cannonkeys/sagittarius/rules.mk index 42e73a46504..86794ca0f70 100644 --- a/keyboards/cannonkeys/sagittarius/rules.mk +++ b/keyboards/cannonkeys/sagittarius/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/satisfaction75/rules.mk b/keyboards/cannonkeys/satisfaction75/rules.mk index 9f6480ee0e4..35c6daa727d 100644 --- a/keyboards/cannonkeys/satisfaction75/rules.mk +++ b/keyboards/cannonkeys/satisfaction75/rules.mk @@ -21,5 +21,3 @@ OLED_DRIVER = SSD1306 DEFAULT_FOLDER = cannonkeys/satisfaction75/rev1 -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.c b/keyboards/cannonkeys/satisfaction75/satisfaction75.c index ce870c49af6..29fb6e76191 100644 --- a/keyboards/cannonkeys/satisfaction75/satisfaction75.c +++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.c @@ -243,22 +243,22 @@ void via_custom_value_command(uint8_t *data, uint8_t length) { void read_host_led_state(void) { - uint8_t leds = host_keyboard_leds(); - if (leds & (1 << USB_LED_NUM_LOCK)) { + led_t led_state = host_keyboard_led_state(); + if (led_state.num_lock) { if (led_numlock == false){ led_numlock = true;} } else { if (led_numlock == true){ led_numlock = false;} } - if (leds & (1 << USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { if (led_capslock == false){ led_capslock = true;} } else { if (led_capslock == true){ led_capslock = false;} } - if (leds & (1 << USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { if (led_scrolllock == false){ led_scrolllock = true;} } else { diff --git a/keyboards/cannonkeys/savage65/config.h b/keyboards/cannonkeys/savage65/config.h index 6aac0aefb44..21420a9f283 100644 --- a/keyboards/cannonkeys/savage65/config.h +++ b/keyboards/cannonkeys/savage65/config.h @@ -37,7 +37,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/savage65/info.json b/keyboards/cannonkeys/savage65/info.json index 540327c6b8d..596ee91dc9e 100644 --- a/keyboards/cannonkeys/savage65/info.json +++ b/keyboards/cannonkeys/savage65/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/savage65/rules.mk b/keyboards/cannonkeys/savage65/rules.mk index b7ab91a3393..8d3de1b8b23 100644 --- a/keyboards/cannonkeys/savage65/rules.mk +++ b/keyboards/cannonkeys/savage65/rules.mk @@ -13,5 +13,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/tmov2/config.h b/keyboards/cannonkeys/tmov2/config.h index d344ffaee68..60a4a44990c 100644 --- a/keyboards/cannonkeys/tmov2/config.h +++ b/keyboards/cannonkeys/tmov2/config.h @@ -37,7 +37,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 22 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/tmov2/info.json b/keyboards/cannonkeys/tmov2/info.json index 4d5d564e668..1caf1270694 100644 --- a/keyboards/cannonkeys/tmov2/info.json +++ b/keyboards/cannonkeys/tmov2/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 22 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/tmov2/rules.mk b/keyboards/cannonkeys/tmov2/rules.mk index b7ab91a3393..8d3de1b8b23 100644 --- a/keyboards/cannonkeys/tmov2/rules.mk +++ b/keyboards/cannonkeys/tmov2/rules.mk @@ -13,5 +13,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/tsukuyomi/config.h b/keyboards/cannonkeys/tsukuyomi/config.h index 6aac0aefb44..21420a9f283 100644 --- a/keyboards/cannonkeys/tsukuyomi/config.h +++ b/keyboards/cannonkeys/tsukuyomi/config.h @@ -37,7 +37,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/cannonkeys/tsukuyomi/info.json b/keyboards/cannonkeys/tsukuyomi/info.json index e370e1acc0e..a2b7022f53c 100644 --- a/keyboards/cannonkeys/tsukuyomi/info.json +++ b/keyboards/cannonkeys/tsukuyomi/info.json @@ -18,6 +18,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/cannonkeys/tsukuyomi/rules.mk b/keyboards/cannonkeys/tsukuyomi/rules.mk index 42e73a46504..86794ca0f70 100644 --- a/keyboards/cannonkeys/tsukuyomi/rules.mk +++ b/keyboards/cannonkeys/tsukuyomi/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/vicious40/rules.mk b/keyboards/cannonkeys/vicious40/rules.mk index df232017195..9d14eaf9aa0 100644 --- a/keyboards/cannonkeys/vicious40/rules.mk +++ b/keyboards/cannonkeys/vicious40/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/capsunlocked/cu24/config.h b/keyboards/capsunlocked/cu24/config.h index 1d8a04fe70c..2f8d64b7674 100644 --- a/keyboards/capsunlocked/cu24/config.h +++ b/keyboards/capsunlocked/cu24/config.h @@ -17,7 +17,6 @@ #pragma once /* RGB Glow */ -#define RGBLED_NUM 5 // Number of LEDs in your strip #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/capsunlocked/cu24/info.json b/keyboards/capsunlocked/cu24/info.json index c7d6660f132..cea21c4c0d0 100644 --- a/keyboards/capsunlocked/cu24/info.json +++ b/keyboards/capsunlocked/cu24/info.json @@ -18,6 +18,9 @@ "levels": 5, "breathing": true }, + "rgblight": { + "led_count": 5 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/capsunlocked/cu7/config.h b/keyboards/capsunlocked/cu7/config.h index 8883514e5d2..fc0ac23947c 100644 --- a/keyboards/capsunlocked/cu7/config.h +++ b/keyboards/capsunlocked/cu7/config.h @@ -33,7 +33,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_TWINKLE // #define RGBLIGHT_EFFECT_BREATHING -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/capsunlocked/cu7/info.json b/keyboards/capsunlocked/cu7/info.json index 61182fcb538..f9fada284d7 100644 --- a/keyboards/capsunlocked/cu7/info.json +++ b/keyboards/capsunlocked/cu7/info.json @@ -12,6 +12,8 @@ "pin": "F1" }, "rgblight": { + "hue_steps": 10, + "led_count": 6, "max_brightness": 50 }, "matrix_pins": { diff --git a/keyboards/capsunlocked/cu75/config.h b/keyboards/capsunlocked/cu75/config.h index 67f1f43c44b..d6760e89f21 100644 --- a/keyboards/capsunlocked/cu75/config.h +++ b/keyboards/capsunlocked/cu75/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 24 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -29,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - #define BACKLIGHT_PWM_MAP {8, 16, 40, 55, 70, 128, 200, 255} /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/capsunlocked/cu75/info.json b/keyboards/capsunlocked/cu75/info.json index 3ea17a46e1c..5698fc101ee 100644 --- a/keyboards/capsunlocked/cu75/info.json +++ b/keyboards/capsunlocked/cu75/info.json @@ -17,6 +17,10 @@ "driver": "custom", "levels": 8 }, + "rgblight": { + "hue_steps": 10, + "led_count": 24 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/capsunlocked/cu80/v2/ansi/ansi.c b/keyboards/capsunlocked/cu80/v2/ansi/ansi.c new file mode 100644 index 00000000000..99673881533 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/ansi/ansi.c @@ -0,0 +1,20 @@ +// Copyright 2021 CapsUnlocked +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + {0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, + {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, + {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, + {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50}, + {63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75}, + {86, 85, 84, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, 82, 81, 80, 79, 78, NO_LED, 77, 76} + }, { + {0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 13}, {212, 13}, {198, 13}, {184, 13}, {169, 13}, {155, 13}, {141, 13}, {127, 13}, {113, 13}, {99, 13}, {85, 13}, {71, 13}, {56, 13}, {42, 13}, {28, 13}, {14, 13}, {0, 13}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64} + }, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1 + } +}; +#endif diff --git a/keyboards/capsunlocked/cu80/v2/ansi/config.h b/keyboards/capsunlocked/cu80/v2/ansi/config.h new file mode 100644 index 00000000000..638c9a820ff --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/ansi/config.h @@ -0,0 +1,8 @@ +// Copyright 2021 CapsUnlocked +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_LED_COUNT 87 +# define RGB_MATRIX_KEYPRESSES +#endif diff --git a/keyboards/capsunlocked/cu80/v2_ansi/base/info.json b/keyboards/capsunlocked/cu80/v2/ansi/info.json similarity index 100% rename from keyboards/capsunlocked/cu80/v2_ansi/base/info.json rename to keyboards/capsunlocked/cu80/v2/ansi/info.json diff --git a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/default/keymap.c similarity index 99% rename from keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c rename to keyboards/capsunlocked/cu80/v2/ansi/keymaps/default/keymap.c index ee81be6561f..5e13e10d153 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/default/keymap.c @@ -34,5 +34,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), + ) }; diff --git a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/keymap.c similarity index 58% rename from keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c rename to keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/keymap.c index 5ee09fadace..aeef5a12559 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c +++ b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/keymap.c @@ -33,23 +33,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), - [2] = LAYOUT_tkl_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_tkl_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + ) }; diff --git a/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/rules.mk b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/capsunlocked/cu80/v2/ansi/rules.mk b/keyboards/capsunlocked/cu80/v2/ansi/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/ansi/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/capsunlocked/cu80/v2/info.json b/keyboards/capsunlocked/cu80/v2/info.json new file mode 100644 index 00000000000..f7036daa7f1 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/info.json @@ -0,0 +1,265 @@ +{ + "manufacturer": "CapsUnlocked", + "maintainer": "rys / maz0r", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "build": { + "lto": true + }, + "matrix_pins": { + "cols": ["B0", "B1", "B2", "B3", "F4", "F5", "F6", "F7", "B6", "B5", "D7", "B4", "D6", "F0", "D1", "C6", "D4"], + "rows": ["D3", "D2", "B7", "F1", "C7", "D5"] + }, + "rgb_matrix": { + "driver": "WS2812", + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_color": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + } + }, + "url": "https://caps-unlocked.com/cu80-round-2/", + "usb": { + "device_version": "0.0.1", + "vid": "0x4355", + "no_startup_check": true + }, + "ws2812": { + "pin": "E6" + }, + "community_layouts": ["tkl_ansi", "tkl_iso"], + "layouts": { + "LAYOUT_tkl_ansi": { + "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, 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.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.5}, + {"matrix": [1, 15], "x": 16.25, "y": 1.5}, + {"matrix": [1, 16], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.5}, + {"matrix": [2, 15], "x": 16.25, "y": 2.5}, + {"matrix": [2, 16], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 13], "x": 15.25, "y": 5.5}, + {"matrix": [5, 15], "x": 16.25, "y": 5.5}, + {"matrix": [5, 16], "x": 17.25, "y": 5.5} + ] + }, + "LAYOUT_tkl_iso": { + "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, 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.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.5}, + {"matrix": [1, 15], "x": 16.25, "y": 1.5}, + {"matrix": [1, 16], "x": 17.25, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.5}, + {"matrix": [2, 15], "x": 16.25, "y": 2.5}, + {"matrix": [2, 16], "x": 17.25, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [2, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [4, 5], "x": 5.25, "y": 4.5}, + {"matrix": [4, 6], "x": 6.25, "y": 4.5}, + {"matrix": [4, 7], "x": 7.25, "y": 4.5}, + {"matrix": [4, 8], "x": 8.25, "y": 4.5}, + {"matrix": [4, 9], "x": 9.25, "y": 4.5}, + {"matrix": [4, 10], "x": 10.25, "y": 4.5}, + {"matrix": [4, 11], "x": 11.25, "y": 4.5}, + {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.5}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 13], "x": 15.25, "y": 5.5}, + {"matrix": [5, 15], "x": 16.25, "y": 5.5}, + {"matrix": [5, 16], "x": 17.25, "y": 5.5} + ] + } + } +} diff --git a/keyboards/capsunlocked/cu80/v2/iso/config.h b/keyboards/capsunlocked/cu80/v2/iso/config.h new file mode 100644 index 00000000000..28086d61954 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/iso/config.h @@ -0,0 +1,8 @@ +// Copyright 2021 CapsUnlocked +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_LED_COUNT 88 +# define RGB_MATRIX_KEYPRESSES +#endif diff --git a/keyboards/capsunlocked/cu80/v2_iso/base/info.json b/keyboards/capsunlocked/cu80/v2/iso/info.json similarity index 71% rename from keyboards/capsunlocked/cu80/v2_iso/base/info.json rename to keyboards/capsunlocked/cu80/v2/iso/info.json index 636e6e22761..33d49db64ab 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/base/info.json +++ b/keyboards/capsunlocked/cu80/v2/iso/info.json @@ -1,6 +1,6 @@ { "keyboard_name": "CU80 v2 ISO", "usb": { - "pid": "0x0080" + "pid": "0x0083" } } diff --git a/keyboards/capsunlocked/cu80/v2/iso/iso.c b/keyboards/capsunlocked/cu80/v2/iso/iso.c new file mode 100644 index 00000000000..cdc588160ec --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/iso/iso.c @@ -0,0 +1,20 @@ +// Copyright 2021 CapsUnlocked +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + {0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, + {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, + {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, + {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50}, + {63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76}, + {87, 86, 85, NO_LED, NO_LED, 84, NO_LED, NO_LED, NO_LED, 83, 82, 81, 80, 79, NO_LED, 78, 77} + }, { + {0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 26}, {212, 26}, {198, 26}, {184, 26}, {169, 26}, {155, 26}, {141, 26}, {127, 26}, {113, 26}, {99, 26}, {85, 26}, {71, 26}, {56, 26}, {42, 26}, {28, 26}, {14, 26}, {0, 26}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {14, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64} + }, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1 + } +}; +#endif diff --git a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2/iso/keymaps/default/keymap.c similarity index 99% rename from keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c rename to keyboards/capsunlocked/cu80/v2/iso/keymaps/default/keymap.c index d42f3533a45..cf5886f457c 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu80/v2/iso/keymaps/default/keymap.c @@ -34,5 +34,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), + ) }; diff --git a/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/keymap.c similarity index 58% rename from keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c rename to keyboards/capsunlocked/cu80/v2/iso/keymaps/via/keymap.c index a72f451b3f9..947a0bd97a4 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c +++ b/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/keymap.c @@ -33,23 +33,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), - [2] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + ) }; diff --git a/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/rules.mk b/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/capsunlocked/cu80/v2/iso/rules.mk b/keyboards/capsunlocked/cu80/v2/iso/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/iso/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/capsunlocked/cu80/v2/v2.c b/keyboards/capsunlocked/cu80/v2/v2.c new file mode 100644 index 00000000000..e450082ba23 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2/v2.c @@ -0,0 +1,23 @@ +// Copyright 2021 CapsUnlocked +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +void matrix_init_kb(void) { + setPinOutput(E6); + matrix_init_user(); +} + +#ifdef RGB_MATRIX_ENABLE +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(62, 255, 255, 255); + } + if (host_keyboard_led_state().scroll_lock) { + rgb_matrix_set_color(14, 255, 255, 255); + } + return true; +} +#endif diff --git a/keyboards/capsunlocked/cu80/v2_ansi/config.h b/keyboards/capsunlocked/cu80/v2_ansi/config.h deleted file mode 100644 index 3199b57da4a..00000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/config.h +++ /dev/null @@ -1,36 +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 . -*/ - -#pragma once - - -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* Define RGB */ -#define RGB_MATRIX_LED_COUNT 87 -#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 diff --git a/keyboards/capsunlocked/cu80/v2_ansi/info.json b/keyboards/capsunlocked/cu80/v2_ansi/info.json deleted file mode 100644 index c9d4b889263..00000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/info.json +++ /dev/null @@ -1,161 +0,0 @@ -{ - "manufacturer": "CapsUnlocked", - "maintainer": "rys / maz0r", - "bootloader": "atmel-dfu", - "diode_direction": "COL2ROW", - "features": { - "audio": false, - "backlight": false, - "bluetooth": false, - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": false, - "nkro": true, - "rgblight": true, - "sleep_led": false, - "unicode": false - }, - "matrix_pins": { - "cols": ["B0", "B1", "B2", "B3", "F4", "F5", "F6", "F7", "B6", "B5", "D7", "B4", "D6", "F0", "D1", "C6", "D4"], - "rows": ["D3", "D2", "B7", "F1", "C7", "D5"] - }, - "processor": "atmega32u4", - "rgblight": { - "animations": { - "alternating": false, - "breathing": false, - "christmas": false, - "knight": false, - "rainbow_mood": false, - "rainbow_swirl": false, - "rgb_test": false, - "snake": false, - "static_gradient": false, - "twinkle": false - }, - "brightness_steps": 8, - "hue_steps": 8, - "led_count": 87, - "max_brightness": 50, - "saturation_steps": 8 - }, - "ws2812": { - "pin": "E6" - }, - "url": "https://caps-unlocked.com/cu80-round-2/", - "usb": { - "device_version": "0.0.1", - "vid": "0x4355" - }, - "community_layouts": ["tkl_ansi"], - "layouts": { - "LAYOUT_tkl_ansi": { - "c_macro": true, - "filename": "keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.h", - "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, 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.5}, - {"matrix": [1, 1], "x": 1, "y": 1.5}, - {"matrix": [1, 2], "x": 2, "y": 1.5}, - {"matrix": [1, 3], "x": 3, "y": 1.5}, - {"matrix": [1, 4], "x": 4, "y": 1.5}, - {"matrix": [1, 5], "x": 5, "y": 1.5}, - {"matrix": [1, 6], "x": 6, "y": 1.5}, - {"matrix": [1, 7], "x": 7, "y": 1.5}, - {"matrix": [1, 8], "x": 8, "y": 1.5}, - {"matrix": [1, 9], "x": 9, "y": 1.5}, - {"matrix": [1, 10], "x": 10, "y": 1.5}, - {"matrix": [1, 11], "x": 11, "y": 1.5}, - {"matrix": [1, 12], "x": 12, "y": 1.5}, - {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, - - {"matrix": [1, 14], "x": 15.25, "y": 1.5}, - {"matrix": [1, 15], "x": 16.25, "y": 1.5}, - {"matrix": [1, 16], "x": 17.25, "y": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"matrix": [2, 12], "x": 12.5, "y": 2.5}, - {"matrix": [2, 13], "x": 13.5, "y": 2.5, "w": 1.5}, - - {"matrix": [2, 14], "x": 15.25, "y": 2.5}, - {"matrix": [2, 15], "x": 16.25, "y": 2.5}, - {"matrix": [2, 16], "x": 17.25, "y": 2.5}, - - {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25}, - - {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - - {"matrix": [4, 15], "x": 16.25, "y": 4.5}, - - {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"matrix": [5, 5], "x": 3.75, "y": 5.5, "w": 6.25}, - {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, - {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, - {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25}, - {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25}, - - {"matrix": [5, 13], "x": 15.25, "y": 5.5}, - {"matrix": [5, 15], "x": 16.25, "y": 5.5}, - {"matrix": [5, 16], "x": 17.25, "y": 5.5} - ] - } - } -} diff --git a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/readme.md b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/readme.md deleted file mode 100644 index 717c2c283a4..00000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# The default ANSI keymap for the CU80 - -This CU80 is keymap is for the fixed ANSI variant with fully populated bottom row. diff --git a/keyboards/capsunlocked/cu80/v2_ansi/readme.md b/keyboards/capsunlocked/cu80/v2_ansi/readme.md deleted file mode 100644 index 4768917fc8c..00000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# CU80 v2 ANSI - -The CU80 v2 ANSI is the PCB for round 2 of the CU80 TKL keyboard, with fixed layout ANSI and VIA support. - -To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB. - -* Keyboard maintainer: [rys](https://github.com/rys) & [maz0r](https://github.com/maz0r) -* Hardware supported: [CU80 v2 ANSI](https://imgur.com/gOWpJqe) -* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/) - -Make and flash example for this keyboard (after setting up your build environment): - - make capsunlocked/cu80/v2_ansi:default:flash - make capsunlocked/cu80/v2_ansi/rgb: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/capsunlocked/cu80/v2_ansi/rgb/info.json b/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json deleted file mode 100644 index 45b4b9c8cd3..00000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "keyboard_name": "CU80 v2 ANSI RGB", - "features": { - "rgblight": false - }, - "rgb_matrix": { - "driver": "WS2812" - }, - "usb": { - "pid": "0x0082" - } -} diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/readme.md b/keyboards/capsunlocked/cu80/v2_ansi/rgb/readme.md deleted file mode 100644 index 0919483592d..00000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/rgb/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# CU80 v2 ANSI RGB - -Overrides \ No newline at end of file diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi/rgb/rules.mk deleted file mode 100644 index 9470477f49e..00000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/rgb/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -RGB_MATRIX_ENABLE = yes # Enable RGB matrix - -LTO_ENABLE = yes diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi/rules.mk deleted file mode 100644 index e96dd72928a..00000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue - -DEFAULT_FOLDER = capsunlocked/cu80/v2_ansi/base diff --git a/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c b/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c deleted file mode 100644 index f014479ef8a..00000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c +++ /dev/null @@ -1,52 +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 "quantum.h" - -#ifdef CU80_RGB - -void matrix_init_kb(void) { - setPinOutput(E6); - matrix_init_user(); -} - -/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ -bool rgb_matrix_indicators_kb(void) { - if (!rgb_matrix_indicators_user()) { - return false; - } - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(62, 255, 255, 255); - } - if (host_keyboard_led_state().scroll_lock) { - rgb_matrix_set_color(14, 255, 255, 255); - } - return true; -} - -/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ -led_config_t g_led_config = {{{0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50}, {63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75}, {86, 85, 84, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, 82, 81, 80, 79, 78, NO_LED, 77, 76} - - }, - /*board layout accounting for led directions */ - {{0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 13}, {212, 13}, {198, 13}, {184, 13}, {169, 13}, {155, 13}, {141, 13}, {127, 13}, {113, 13}, {99, 13}, {85, 13}, {71, 13}, {56, 13}, {42, 13}, {28, 13}, {14, 13}, {0, 13}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, - {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64} - - }, - /* marks scroll and caps as function modifiers for led effects */ - {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1}}; -#endif diff --git a/keyboards/capsunlocked/cu80/v2_iso/config.h b/keyboards/capsunlocked/cu80/v2_iso/config.h deleted file mode 100644 index 167bf871f1c..00000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/config.h +++ /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 . -*/ - -#pragma once - - - -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* Define RGB */ -#define RGB_MATRIX_LED_COUNT 88 -#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 diff --git a/keyboards/capsunlocked/cu80/v2_iso/info.json b/keyboards/capsunlocked/cu80/v2_iso/info.json deleted file mode 100644 index b7225214ba9..00000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/info.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "manufacturer": "CapsUnlocked", - "maintainer": "rys / maz0r", - "bootloader": "atmel-dfu", - "diode_direction": "COL2ROW", - "features": { - "audio": false, - "backlight": false, - "bluetooth": false, - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": false, - "nkro": true, - "rgblight": true, - "sleep_led": false, - "unicode": false - }, - "matrix_pins": { - "cols": ["B0", "B1", "B2", "B3", "F4", "F5", "F6", "F7", "B6", "B5", "D7", "B4", "D6", "F0", "D1", "C6", "D4"], - "rows": ["D3", "D2", "B7", "F1", "C7", "D5"] - }, - "processor": "atmega32u4", - "rgblight": { - "animations": { - "alternating": false, - "breathing": false, - "christmas": false, - "knight": false, - "rainbow_mood": false, - "rainbow_swirl": false, - "rgb_test": false, - "snake": false, - "static_gradient": false, - "twinkle": false - }, - "brightness_steps": 8, - "hue_steps": 8, - "led_count": 88, - "max_brightness": 50, - "saturation_steps": 8 - }, - "ws2812": { - "pin": "E6" - }, - "url": "https://caps-unlocked.com/cu80-round-2/", - "usb": { - "device_version": "0.0.1", - "vid": "0x4355" - }, - "community_layouts": ["tkl_iso"], - "layouts": { - "LAYOUT_tkl_iso": { - "c_macro": true, - "filename": "keyboards/capsunlocked/cu80/v2_iso/v2_iso.h", - "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, 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.5}, - {"matrix": [1, 1], "x": 1, "y": 1.5}, - {"matrix": [1, 2], "x": 2, "y": 1.5}, - {"matrix": [1, 3], "x": 3, "y": 1.5}, - {"matrix": [1, 4], "x": 4, "y": 1.5}, - {"matrix": [1, 5], "x": 5, "y": 1.5}, - {"matrix": [1, 6], "x": 6, "y": 1.5}, - {"matrix": [1, 7], "x": 7, "y": 1.5}, - {"matrix": [1, 8], "x": 8, "y": 1.5}, - {"matrix": [1, 9], "x": 9, "y": 1.5}, - {"matrix": [1, 10], "x": 10, "y": 1.5}, - {"matrix": [1, 11], "x": 11, "y": 1.5}, - {"matrix": [1, 12], "x": 12, "y": 1.5}, - {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, - - {"matrix": [1, 14], "x": 15.25, "y": 1.5}, - {"matrix": [1, 15], "x": 16.25, "y": 1.5}, - {"matrix": [1, 16], "x": 17.25, "y": 1.5}, - - {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"matrix": [2, 9], "x": 9.5, "y": 2.5}, - {"matrix": [2, 10], "x": 10.5, "y": 2.5}, - {"matrix": [2, 11], "x": 11.5, "y": 2.5}, - {"matrix": [2, 12], "x": 12.5, "y": 2.5}, - - {"matrix": [2, 14], "x": 15.25, "y": 2.5}, - {"matrix": [2, 15], "x": 16.25, "y": 2.5}, - {"matrix": [2, 16], "x": 17.25, "y": 2.5}, - - {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"matrix": [3, 9], "x": 9.75, "y": 3.5}, - {"matrix": [3, 10], "x": 10.75, "y": 3.5}, - {"matrix": [3, 11], "x": 11.75, "y": 3.5}, - {"matrix": [3, 12], "x": 12.75, "y": 3.5}, - {"matrix": [2, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, - - {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4.5}, - {"matrix": [4, 2], "x": 2.25, "y": 4.5}, - {"matrix": [4, 3], "x": 3.25, "y": 4.5}, - {"matrix": [4, 4], "x": 4.25, "y": 4.5}, - {"matrix": [4, 5], "x": 5.25, "y": 4.5}, - {"matrix": [4, 6], "x": 6.25, "y": 4.5}, - {"matrix": [4, 7], "x": 7.25, "y": 4.5}, - {"matrix": [4, 8], "x": 8.25, "y": 4.5}, - {"matrix": [4, 9], "x": 9.25, "y": 4.5}, - {"matrix": [4, 10], "x": 10.25, "y": 4.5}, - {"matrix": [4, 11], "x": 11.25, "y": 4.5}, - {"matrix": [4, 12], "x": 12.25, "y": 4.5, "w": 2.75}, - - {"matrix": [4, 15], "x": 16.25, "y": 4.5}, - - {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, - {"matrix": [5, 5], "x": 3.75, "y": 5.5, "w": 6.25}, - {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, - {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, - {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25}, - {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25}, - - {"matrix": [5, 13], "x": 15.25, "y": 5.5}, - {"matrix": [5, 15], "x": 16.25, "y": 5.5}, - {"matrix": [5, 16], "x": 17.25, "y": 5.5} - ] - } - } -} diff --git a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/readme.md b/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/readme.md deleted file mode 100644 index bf55002afea..00000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# The default ISO keymap for the CU80 - -This CU80 is keymap is for the fixed ISO variant with fully populated bottom row. diff --git a/keyboards/capsunlocked/cu80/v2_iso/readme.md b/keyboards/capsunlocked/cu80/v2_iso/readme.md deleted file mode 100644 index cf8c5fc6fa9..00000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# CU80 v2 ISO - -The CU80 v2 ISO is the PCB for round 2 of the CU80 TKL keyboard, with fixed layout ISO and VIA support. - -To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB. - -* Keyboard maintainer: [rys](https://github.com/rys) & [maz0r](https://github.com/maz0r) -* Hardware supported: [CU80 v2 ISO](https://imgur.com/yMZMt6j) -* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/) - -Make and flash example for this keyboard (after setting up your build environment): - - make capsunlocked/cu80/v2_iso:default:flash - make capsunlocked/cu80/v2_iso/rgb: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/capsunlocked/cu80/v2_iso/rgb/info.json b/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json deleted file mode 100644 index 4f08f6116a7..00000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "keyboard_name": "CU80 v2 ISO RGB", - "features": { - "rgblight": false - }, - "rgb_matrix": { - "driver": "WS2812" - }, - "usb": { - "pid": "0x0083" - } -} diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/readme.md b/keyboards/capsunlocked/cu80/v2_iso/rgb/readme.md deleted file mode 100644 index c53bf740784..00000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/rgb/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# CU80 v2 ISO RGB - -Overrides \ No newline at end of file diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/rules.mk b/keyboards/capsunlocked/cu80/v2_iso/rgb/rules.mk deleted file mode 100644 index 9470477f49e..00000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/rgb/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -RGB_MATRIX_ENABLE = yes # Enable RGB matrix - -LTO_ENABLE = yes diff --git a/keyboards/capsunlocked/cu80/v2_iso/rules.mk b/keyboards/capsunlocked/cu80/v2_iso/rules.mk deleted file mode 100644 index c0feb353070..00000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue - -DEFAULT_FOLDER = capsunlocked/cu80/v2_iso/base diff --git a/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c b/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c deleted file mode 100644 index acb1d835aa0..00000000000 --- a/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c +++ /dev/null @@ -1,47 +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 "quantum.h" - -#ifdef CU80_RGB - -void matrix_init_kb(void) { - setPinOutput(E6); - matrix_init_user(); -} - -/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ -bool rgb_matrix_indicators_kb(void) { - if (!rgb_matrix_indicators_user()) { - return false; - } - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(62, 255, 255, 255); - } - if (host_keyboard_led_state().scroll_lock) { - rgb_matrix_set_color(14, 255, 255, 255); - } - return true; -} - -/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ -led_config_t g_led_config = {{{0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50}, {63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76}, {87, 86, 85, NO_LED, NO_LED, 84, NO_LED, NO_LED, NO_LED, 83, 82, 81, 80, 79, NO_LED, 78, 77}}, - /*board layout accounting for led directions */ - {{0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 26}, {212, 26}, {198, 26}, {184, 26}, {169, 26}, {155, 26}, {141, 26}, {127, 26}, {113, 26}, {99, 26}, {85, 26}, {71, 26}, {56, 26}, {42, 26}, {28, 26}, {14, 26}, {0, 26}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {14, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64}}, - /* marks scroll and caps as function modifiers for led effects */ - {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1}}; -#endif diff --git a/keyboards/carbo65/rules.mk b/keyboards/carbo65/rules.mk index d6ed15acc72..d3ca7b060e1 100644 --- a/keyboards/carbo65/rules.mk +++ b/keyboards/carbo65/rules.mk @@ -1,7 +1,3 @@ -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable diff --git a/keyboards/catch22/config.h b/keyboards/catch22/config.h index 98e0780698c..a7241744101 100644 --- a/keyboards/catch22/config.h +++ b/keyboards/catch22/config.h @@ -32,5 +32,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 #endif diff --git a/keyboards/catch22/info.json b/keyboards/catch22/info.json index 6ffd3117afc..0239b4f467a 100644 --- a/keyboards/catch22/info.json +++ b/keyboards/catch22/info.json @@ -6,6 +6,9 @@ "pid": "0xCA22", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/chalice/config.h b/keyboards/chalice/config.h index 6bbd5af9bf9..7024377ffc6 100644 --- a/keyboards/chalice/config.h +++ b/keyboards/chalice/config.h @@ -18,8 +18,6 @@ #pragma once #ifdef RGBLIGHT_ENABLE - #define RGBLED_NUM 14 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/chalice/info.json b/keyboards/chalice/info.json index 6b447c1fe64..d1fd939b164 100644 --- a/keyboards/chalice/info.json +++ b/keyboards/chalice/info.json @@ -8,6 +8,10 @@ "pid": "0x000C", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/charue/sunsetter/rules.mk b/keyboards/charue/sunsetter/rules.mk index 0aeca0dd9f3..7f4f202a1b7 100644 --- a/keyboards/charue/sunsetter/rules.mk +++ b/keyboards/charue/sunsetter/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/charue/sunsetter_r2/config.h b/keyboards/charue/sunsetter_r2/config.h index 4ef27597b39..c48e14fee98 100644 --- a/keyboards/charue/sunsetter_r2/config.h +++ b/keyboards/charue/sunsetter_r2/config.h @@ -4,7 +4,6 @@ #pragma once /* RGB */ -# define RGBLED_NUM 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/charue/sunsetter_r2/info.json b/keyboards/charue/sunsetter_r2/info.json index 502609402f9..bf39937bb4c 100644 --- a/keyboards/charue/sunsetter_r2/info.json +++ b/keyboards/charue/sunsetter_r2/info.json @@ -8,6 +8,9 @@ "pid": "0x5335", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/checkerboards/axon40/config.h b/keyboards/checkerboards/axon40/config.h index 530fa064135..a48f6d74e47 100644 --- a/keyboards/checkerboards/axon40/config.h +++ b/keyboards/checkerboards/axon40/config.h @@ -32,7 +32,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 29 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/checkerboards/axon40/info.json b/keyboards/checkerboards/axon40/info.json index 6b47a8f679d..2d943acba7e 100644 --- a/keyboards/checkerboards/axon40/info.json +++ b/keyboards/checkerboards/axon40/info.json @@ -8,6 +8,11 @@ "pid": "0x1119", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 29 + }, "ws2812": { "pin": "D7" }, diff --git a/keyboards/checkerboards/candybar_ortho/config.h b/keyboards/checkerboards/candybar_ortho/config.h index 0033db5d2bd..419c77945c9 100644 --- a/keyboards/checkerboards/candybar_ortho/config.h +++ b/keyboards/checkerboards/candybar_ortho/config.h @@ -32,7 +32,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/checkerboards/candybar_ortho/info.json b/keyboards/checkerboards/candybar_ortho/info.json index 3369eee53d4..ac1485c7ccb 100644 --- a/keyboards/checkerboards/candybar_ortho/info.json +++ b/keyboards/checkerboards/candybar_ortho/info.json @@ -8,6 +8,11 @@ "pid": "0x3215", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/checkerboards/nop60/config.h b/keyboards/checkerboards/nop60/config.h index 3c52543d253..5cb854aebcd 100644 --- a/keyboards/checkerboards/nop60/config.h +++ b/keyboards/checkerboards/nop60/config.h @@ -17,8 +17,6 @@ Copyright 2021 Nathan Spears #pragma once -#define BACKLIGHT_PWM_DRIVER PWMD3 - // ws2812 options #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -30,10 +28,6 @@ Copyright 2021 Nathan Spears #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/checkerboards/nop60/info.json b/keyboards/checkerboards/nop60/info.json index 9f44cfd41fe..8b164a99821 100644 --- a/keyboards/checkerboards/nop60/info.json +++ b/keyboards/checkerboards/nop60/info.json @@ -18,6 +18,12 @@ "levels": 6, "breathing": true }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14 + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/checkerboards/plexus75/config.h b/keyboards/checkerboards/plexus75/config.h index 50aa6985248..e3e6a512494 100644 --- a/keyboards/checkerboards/plexus75/config.h +++ b/keyboards/checkerboards/plexus75/config.h @@ -48,7 +48,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/checkerboards/plexus75/info.json b/keyboards/checkerboards/plexus75/info.json index 30d8df7edbc..638909d9f90 100644 --- a/keyboards/checkerboards/plexus75/info.json +++ b/keyboards/checkerboards/plexus75/info.json @@ -8,6 +8,12 @@ "pid": "0x5338", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 14 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/checkerboards/plexus75_he/config.h b/keyboards/checkerboards/plexus75_he/config.h index bfa58783835..98ed0df629f 100644 --- a/keyboards/checkerboards/plexus75_he/config.h +++ b/keyboards/checkerboards/plexus75_he/config.h @@ -33,7 +33,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 18 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/checkerboards/plexus75_he/info.json b/keyboards/checkerboards/plexus75_he/info.json index fc1dfc9fd5f..bc1b884d0c2 100644 --- a/keyboards/checkerboards/plexus75_he/info.json +++ b/keyboards/checkerboards/plexus75_he/info.json @@ -8,6 +8,12 @@ "pid": "0x5339", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 18 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/checkerboards/pursuit40/config.h b/keyboards/checkerboards/pursuit40/config.h index 6fe6785edb0..b83c73672ac 100644 --- a/keyboards/checkerboards/pursuit40/config.h +++ b/keyboards/checkerboards/pursuit40/config.h @@ -49,7 +49,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/checkerboards/pursuit40/info.json b/keyboards/checkerboards/pursuit40/info.json index 0f4394b87fa..0785b843971 100644 --- a/keyboards/checkerboards/pursuit40/info.json +++ b/keyboards/checkerboards/pursuit40/info.json @@ -8,6 +8,12 @@ "pid": "0x1620", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 12 + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/checkerboards/quark/config.h b/keyboards/checkerboards/quark/config.h index efa8f93d3eb..daf6c8df846 100644 --- a/keyboards/checkerboards/quark/config.h +++ b/keyboards/checkerboards/quark/config.h @@ -33,7 +33,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/checkerboards/quark/info.json b/keyboards/checkerboards/quark/info.json index 262cd6e60cc..7b5640dcece 100644 --- a/keyboards/checkerboards/quark/info.json +++ b/keyboards/checkerboards/quark/info.json @@ -8,6 +8,12 @@ "pid": "0x5340", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/checkerboards/quark_lp/config.h b/keyboards/checkerboards/quark_lp/config.h index 75345075e75..ca124775d72 100644 --- a/keyboards/checkerboards/quark_lp/config.h +++ b/keyboards/checkerboards/quark_lp/config.h @@ -22,17 +22,11 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAPPING_TOGGLE 2 - #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 51 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 125 // limits maximum brightness of LEDs to 125 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 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/checkerboards/quark_lp/info.json b/keyboards/checkerboards/quark_lp/info.json index 264bddad129..201de629da4 100644 --- a/keyboards/checkerboards/quark_lp/info.json +++ b/keyboards/checkerboards/quark_lp/info.json @@ -12,7 +12,10 @@ "pin": "C2" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "matrix_pins": { "cols": ["B6", "B5", "B4", "B3", "B0", "D6", "D5", "D4", "D3", "D2", "D1", "D0"], @@ -21,6 +24,9 @@ "diode_direction": "COL2ROW", "processor": "atmega32u2", "bootloader": "atmel-dfu", + "tapping": { + "toggle": 2 + }, "layouts": { "LAYOUT_ortho_4x12": { "layout": [ diff --git a/keyboards/checkerboards/quark_plus/config.h b/keyboards/checkerboards/quark_plus/config.h index 4136faaa7ae..1fccfb7d21c 100644 --- a/keyboards/checkerboards/quark_plus/config.h +++ b/keyboards/checkerboards/quark_plus/config.h @@ -33,7 +33,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/checkerboards/quark_plus/info.json b/keyboards/checkerboards/quark_plus/info.json index 0d47ec2ec47..3b8803ce71c 100644 --- a/keyboards/checkerboards/quark_plus/info.json +++ b/keyboards/checkerboards/quark_plus/info.json @@ -8,6 +8,12 @@ "pid": "0x5344", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14 + }, "ws2812": { "pin": "C5" }, diff --git a/keyboards/checkerboards/quark_squared/config.h b/keyboards/checkerboards/quark_squared/config.h index 514ce68f3f0..98ed0df629f 100644 --- a/keyboards/checkerboards/quark_squared/config.h +++ b/keyboards/checkerboards/quark_squared/config.h @@ -33,7 +33,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/checkerboards/quark_squared/info.json b/keyboards/checkerboards/quark_squared/info.json index bd6233b2086..6ce11b449f6 100644 --- a/keyboards/checkerboards/quark_squared/info.json +++ b/keyboards/checkerboards/quark_squared/info.json @@ -8,6 +8,12 @@ "pid": "0x5342", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/checkerboards/snop60/config.h b/keyboards/checkerboards/snop60/config.h index d11757cc15e..24eb330d029 100644 --- a/keyboards/checkerboards/snop60/config.h +++ b/keyboards/checkerboards/snop60/config.h @@ -28,10 +28,6 @@ Copyright 2022 Nathan Spears #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/checkerboards/snop60/info.json b/keyboards/checkerboards/snop60/info.json index 94d40e6645b..00194c0184a 100644 --- a/keyboards/checkerboards/snop60/info.json +++ b/keyboards/checkerboards/snop60/info.json @@ -23,6 +23,12 @@ "levels": 6, "breathing": true }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/checkerboards/ud40_ortho_alt/config.h b/keyboards/checkerboards/ud40_ortho_alt/config.h index 788fbe39a99..98ed0df629f 100644 --- a/keyboards/checkerboards/ud40_ortho_alt/config.h +++ b/keyboards/checkerboards/ud40_ortho_alt/config.h @@ -33,7 +33,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/checkerboards/ud40_ortho_alt/info.json b/keyboards/checkerboards/ud40_ortho_alt/info.json index 7d49bdb5b45..78d1c806b3b 100644 --- a/keyboards/checkerboards/ud40_ortho_alt/info.json +++ b/keyboards/checkerboards/ud40_ortho_alt/info.json @@ -8,6 +8,12 @@ "pid": "0x7030", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 12 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/cherrybstudio/cb1800/config.h b/keyboards/cherrybstudio/cb1800/config.h index 21aeb17d77d..8e87adda59b 100644 --- a/keyboards/cherrybstudio/cb1800/config.h +++ b/keyboards/cherrybstudio/cb1800/config.h @@ -23,7 +23,3 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/cherrybstudio/cb1800/info.json b/keyboards/cherrybstudio/cb1800/info.json index 1b2fadd2a9c..306e2338ce5 100644 --- a/keyboards/cherrybstudio/cb1800/info.json +++ b/keyboards/cherrybstudio/cb1800/info.json @@ -19,6 +19,11 @@ "scroll_lock": "F7", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/cherrybstudio/cb65/config.h b/keyboards/cherrybstudio/cb65/config.h index e463e1d6c70..18bd076b1dc 100644 --- a/keyboards/cherrybstudio/cb65/config.h +++ b/keyboards/cherrybstudio/cb65/config.h @@ -24,7 +24,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/cherrybstudio/cb65/info.json b/keyboards/cherrybstudio/cb65/info.json index 37038b214fd..de4fd4f9d73 100644 --- a/keyboards/cherrybstudio/cb65/info.json +++ b/keyboards/cherrybstudio/cb65/info.json @@ -18,6 +18,11 @@ "scroll_lock": "F4", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24 + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/cherrybstudio/cb87/config.h b/keyboards/cherrybstudio/cb87/config.h index ddb9102d365..7b440041877 100644 --- a/keyboards/cherrybstudio/cb87/config.h +++ b/keyboards/cherrybstudio/cb87/config.h @@ -23,7 +23,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 22 /* 16 Bottom 6 top*/ -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/cherrybstudio/cb87/info.json b/keyboards/cherrybstudio/cb87/info.json index ac32d5f8eab..06ebed630b4 100644 --- a/keyboards/cherrybstudio/cb87/info.json +++ b/keyboards/cherrybstudio/cb87/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "B6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/cherrybstudio/cb87v2/config.h b/keyboards/cherrybstudio/cb87v2/config.h index 4c66b113e7b..7b440041877 100644 --- a/keyboards/cherrybstudio/cb87v2/config.h +++ b/keyboards/cherrybstudio/cb87v2/config.h @@ -23,7 +23,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/cherrybstudio/cb87v2/info.json b/keyboards/cherrybstudio/cb87v2/info.json index 8c35532c321..5c743447b53 100644 --- a/keyboards/cherrybstudio/cb87v2/info.json +++ b/keyboards/cherrybstudio/cb87v2/info.json @@ -21,6 +21,11 @@ "scroll_lock": "F4", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/cheshire/curiosity/config.h b/keyboards/cheshire/curiosity/config.h index 71b01464378..6460a7cf8a9 100644 --- a/keyboards/cheshire/curiosity/config.h +++ b/keyboards/cheshire/curiosity/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 14 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/cheshire/curiosity/info.json b/keyboards/cheshire/curiosity/info.json index fa8180e5af1..464136b5d35 100644 --- a/keyboards/cheshire/curiosity/info.json +++ b/keyboards/cheshire/curiosity/info.json @@ -7,6 +7,9 @@ "pid": "0x0FAD", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/chlx/str_merro60/config.h b/keyboards/chlx/str_merro60/config.h index 62b31cf95bf..9beedbaf8bd 100644 --- a/keyboards/chlx/str_merro60/config.h +++ b/keyboards/chlx/str_merro60/config.h @@ -28,12 +28,6 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE # define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5 -# define RGBLED_NUM 12 -# define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 } -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/chlx/str_merro60/info.json b/keyboards/chlx/str_merro60/info.json index add2f077fee..aecc89c39b6 100644 --- a/keyboards/chlx/str_merro60/info.json +++ b/keyboards/chlx/str_merro60/info.json @@ -8,6 +8,12 @@ "pid": "0x0602", "device_version": "1.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/chosfox/cf81/cf81.c b/keyboards/chosfox/cf81/cf81.c new file mode 100644 index 00000000000..ab8afd0c636 --- /dev/null +++ b/keyboards/chosfox/cf81/cf81.c @@ -0,0 +1,188 @@ +/* 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 "quantum.h" + +// clang-format off +#ifdef RGB_MATRIX_ENABLE +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 + * | | | | */ + {1, A_1, B_1, C_1}, + {1, A_2, B_2, C_2}, + {1, A_3, B_3, C_3}, + {1, A_4, B_4, C_4}, + {1, A_5, B_5, C_5}, + {1, A_6, B_6, C_6}, + {1, A_7, B_7, C_7}, + {1, A_8, B_8, C_8}, + {1, A_9, B_9, C_9}, + {1, A_10, B_10, C_10}, + {1, A_11, B_11, C_11}, + {1, A_12, B_12, C_12}, + {1, A_13, B_13, C_13}, + {1, A_14, B_14, C_14}, + + {0, A_1, B_1, C_1}, + {0, A_2, B_2, C_2}, + {0, A_3, B_3, C_3}, + {0, A_4, B_4, C_4}, + {0, A_5, B_5, C_5}, + {0, A_6, B_6, C_6}, + {0, A_7, B_7, C_7}, + {0, A_8, B_8, C_8}, + {0, A_9, B_9, C_9}, + {0, A_10, B_10, C_10}, + {0, A_11, B_11, C_11}, + {0, A_12, B_12, C_12}, + {0, A_13, B_13, C_13}, + {0, A_14, B_14, C_14}, + {1, D_1, E_1, F_1}, + + {0, D_1, E_1, F_1}, + {0, D_2, E_2, F_2}, + {0, D_3, E_3, F_3}, + {0, D_4, E_4, F_4}, + {0, D_5, E_5, F_5}, + {0, D_6, E_6, F_6}, + {0, D_7, E_7, F_7}, + {0, D_8, E_8, F_8}, + {0, D_9, E_9, F_9}, + {0, D_10, E_10, F_10}, + {0, D_11, E_11, F_11}, + {0, D_12, E_12, F_12}, + {0, D_13, E_13, F_13}, + {0, D_14, E_14, F_14}, + {1, D_2, E_2, F_2}, + + {0, G_1, H_1, I_1}, + {0, G_2, H_2, I_2}, + {0, G_3, H_3, I_3}, + {0, G_4, H_4, I_4}, + {0, G_5, H_5, I_5}, + {0, G_6, H_6, I_6}, + {0, G_7, H_7, I_7}, + {0, G_8, H_8, I_8}, + {0, G_9, H_9, I_9}, + {0, G_10, H_10, I_10}, + {0, G_11, H_11, I_11}, + {0, G_12, H_12, I_12}, + {0, A_15, B_15, C_15}, + {0, G_13, H_13, I_13}, + {1, D_3, E_3, F_3}, + + {0, J_1, K_1, L_1}, + {0, A_16, B_16, C_16}, + {0, J_2, K_2, L_2}, + {0, J_3, K_3, L_3}, + {0, J_4, K_4, L_4}, + {0, J_5, K_5, L_5}, + {0, J_6, K_6, L_6}, + {0, J_7, K_7, L_7}, + {0, J_8, K_8, L_8}, + {0, J_9, K_9, L_9}, + {0, J_10, K_10, L_10}, + {0, J_11, K_11, L_11}, + {0, J_12, K_12, L_12}, + {1, D_7, E_7, F_7}, + + + {0, J_13, K_13, L_13}, + {0, J_14, K_14, L_14}, + {0, J_15, K_15, L_15}, + {0, J_16, K_16, L_16}, + + {0, G_14, H_14, I_14}, + {0, G_15, H_15, I_15}, + {0, G_16, H_16, I_16}, + + {0, D_15, E_15, F_15}, + {1, D_6, E_6, F_6}, + {1, D_5, E_5, F_5}, + + + {1, G_1, H_1, I_1}, + {1, G_2, H_2, I_2}, + {1, G_3, H_3, I_3}, + {1, G_4, H_4, I_4}, + {1, G_5, H_5, I_5}, + {1, G_6, H_6, I_6}, + {1, G_7, H_7, I_7}, + {1, G_8, H_8, I_8}, + {1, G_9, H_9, I_9}, + {1, G_10, H_10, I_10}, + {1, G_11, H_11, I_11}, + + {1, J_1, K_1, L_1}, + {1, J_2, K_2, L_2}, + {1, J_3, K_3, L_3}, + {1, J_4, K_4, L_4}, + {1, J_5, K_5, L_5}, + {1, J_6, K_6, L_6}, + {1, J_7, K_7, L_7}, + {1, J_8, K_8, L_8}, + {1, J_9, K_9, L_9}, + {1, J_10, K_10, L_10}, + {1, J_11, K_11, L_11}, +}; +// clang-format on +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(44, 255, 255, 255); + } + if (keymap_config.no_gui) { + RGB_MATRIX_INDICATOR_SET_COLOR(74, 255, 255, 255); + } + return true; +} + +#endif + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { +#ifdef RGB_MATRIX_ENABLE + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; +#endif + default: + return true; + } +} diff --git a/keyboards/chosfox/cf81/config.h b/keyboards/chosfox/cf81/config.h new file mode 100644 index 00000000000..b1ea8bba200 --- /dev/null +++ b/keyboards/chosfox/cf81/config.h @@ -0,0 +1,52 @@ +/* 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 . + */ + +#pragma once + +/* Use 4 dynamic keymap layers */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* SPI Config for spi flash*/ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 +#define SPI_MOSI_PAL_MODE 5 + +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 +#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) + +/* I2C Config for LED Driver */ +#define DRIVER_COUNT 2 +#define DRIVER_ADDR_1 0b1110100 +#define DRIVER_ADDR_2 0b1110111 +#define I2C1_OPMODE OPMODE_I2C +#define I2C1_CLOCK_SPEED 400000 /* 400000 */ + +#define DRIVER_1_LED_TOTAL 63 +#define DRIVER_2_LED_TOTAL 20 +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + 22) + +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_TRIGGER_ON_KEYDOWN +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/chosfox/cf81/halconf.h b/keyboards/chosfox/cf81/halconf.h new file mode 100644 index 00000000000..2f64e65393a --- /dev/null +++ b/keyboards/chosfox/cf81/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2022 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 . + */ +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/chosfox/cf81/info.json b/keyboards/chosfox/cf81/info.json new file mode 100644 index 00000000000..8b09d5daf61 --- /dev/null +++ b/keyboards/chosfox/cf81/info.json @@ -0,0 +1,270 @@ +{ + "keyboard_name": "CHOSFOX CF81", + "manufacturer": "CHOSFOX", + "maintainer": "jonylee@hfd", + "usb": { + "force_nkro": true, + "vid": "0xFFFE", + "pid": "0x0012", + "device_version": "1.0.0", + "suspend_wakeup_delay": 400 + }, + "eeprom": { + "driver": "wear_leveling" + }, + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "features": { + "bootmagic": true, + "mousekey": false, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "encoder": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["C1","C2","C3","A0","A1","A2","A3","A4","A5","A6","A7","C4","C5","B0","B1","B2"], + "rows": ["B15", "C6", "C7", "C8", "C9", "A8"] + }, + "diode_direction": "ROW2COL", + "encoder": { + "rotary": [ + { "pin_a": "B14", "pin_b": "B13" } + ] + }, + "rgb_matrix": { + "driver": "IS31FL3733", + "animations": { + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "raindrops": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "multisplash": true + }, + "max_brightness": 200, + "val_steps": 20, + "layout":[ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 14, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 29, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 44, "y": 0 }, + { "flags": 4, "matrix": [0, 4], "x": 59, "y": 0 }, + { "flags": 4, "matrix": [0, 5], "x": 74, "y": 0 }, + { "flags": 4, "matrix": [0, 6], "x": 89, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x":104, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x":119, "y": 0 }, + { "flags": 4, "matrix": [0, 9], "x":134, "y": 0 }, + { "flags": 4, "matrix": [0, 10], "x":149, "y": 0 }, + { "flags": 4, "matrix": [0, 11], "x":164, "y": 0 }, + { "flags": 4, "matrix": [0, 12], "x":179, "y": 0 }, + { "flags": 4, "matrix": [0, 13], "x":196, "y": 0 }, + + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 12}, + { "flags": 4, "matrix": [1, 1], "x": 14, "y": 12}, + { "flags": 4, "matrix": [1, 2], "x": 28, "y": 12}, + { "flags": 4, "matrix": [1, 3], "x": 42, "y": 12}, + { "flags": 4, "matrix": [1, 4], "x": 56, "y": 12}, + { "flags": 4, "matrix": [1, 5], "x": 70, "y": 12}, + { "flags": 4, "matrix": [1, 6], "x": 84, "y": 12}, + { "flags": 4, "matrix": [1, 7], "x": 98, "y": 12}, + { "flags": 4, "matrix": [1, 8], "x":112, "y": 12}, + { "flags": 4, "matrix": [1, 9], "x":126, "y": 12}, + { "flags": 4, "matrix": [1, 10], "x":140, "y": 12}, + { "flags": 4, "matrix": [1, 11], "x":154, "y": 12}, + { "flags": 4, "matrix": [1, 12], "x":168, "y": 12}, + { "flags": 4, "matrix": [1, 13], "x":182, "y": 12}, + { "flags": 4, "matrix": [1, 15], "x":224, "y": 12}, + + { "flags": 4, "matrix": [2, 0], "x": 0, "y": 25}, + { "flags": 4, "matrix": [2, 1], "x": 14, "y": 25}, + { "flags": 4, "matrix": [2, 2], "x": 28, "y": 25}, + { "flags": 4, "matrix": [2, 3], "x": 42, "y": 25}, + { "flags": 4, "matrix": [2, 4], "x": 56, "y": 25}, + { "flags": 4, "matrix": [2, 5], "x": 70, "y": 25}, + { "flags": 4, "matrix": [2, 6], "x": 84, "y": 25}, + { "flags": 4, "matrix": [2, 7], "x": 98, "y": 25}, + { "flags": 4, "matrix": [2, 8], "x":112, "y": 25}, + { "flags": 4, "matrix": [2, 9], "x":126, "y": 25}, + { "flags": 4, "matrix": [2, 10], "x":140, "y": 25}, + { "flags": 4, "matrix": [2, 11], "x":154, "y": 25}, + { "flags": 4, "matrix": [2, 12], "x":168, "y": 25}, + { "flags": 4, "matrix": [2, 13], "x":182, "y": 25}, + { "flags": 4, "matrix": [2, 15], "x":224, "y": 25}, + + { "flags": 4, "matrix": [3, 0], "x": 0, "y": 38}, + { "flags": 4, "matrix": [3, 1], "x": 28, "y": 38}, + { "flags": 4, "matrix": [3, 2], "x": 42, "y": 38}, + { "flags": 4, "matrix": [3, 3], "x": 56, "y": 38}, + { "flags": 4, "matrix": [3, 4], "x": 70, "y": 38}, + { "flags": 4, "matrix": [3, 5], "x": 84, "y": 38}, + { "flags": 4, "matrix": [3, 6], "x": 98, "y": 38}, + { "flags": 4, "matrix": [3, 7], "x":112, "y": 38}, + { "flags": 4, "matrix": [3, 8], "x":126, "y": 38}, + { "flags": 4, "matrix": [3, 9], "x":140, "y": 38}, + { "flags": 4, "matrix": [3, 10], "x":154, "y": 38}, + { "flags": 4, "matrix": [3, 11], "x":168, "y": 38}, + { "flags": 4, "matrix": [3, 12], "x":182, "y": 38}, + { "flags": 4, "matrix": [3, 13], "x":196, "y": 38}, + { "flags": 4, "matrix": [3, 15], "x":224, "y": 38}, + + { "flags": 4, "matrix": [4, 0], "x": 0, "y": 51}, + { "flags": 4, "matrix": [4, 11], "x": 14, "y": 51}, + { "flags": 4, "matrix": [4, 1], "x": 28, "y": 51}, + { "flags": 4, "matrix": [4, 2], "x": 37, "y": 51}, + { "flags": 4, "matrix": [4, 3], "x": 56, "y": 51}, + { "flags": 4, "matrix": [4, 4], "x": 74, "y": 51}, + { "flags": 4, "matrix": [4, 5], "x": 93, "y": 51}, + { "flags": 4, "matrix": [4, 6], "x":112, "y": 51}, + { "flags": 4, "matrix": [4, 7], "x":130, "y": 51}, + { "flags": 4, "matrix": [4, 8], "x":149, "y": 51}, + { "flags": 4, "matrix": [4, 9], "x":168, "y": 51}, + { "flags": 4, "matrix": [4, 10], "x":186, "y": 51}, + { "flags": 4, "matrix": [4, 13], "x":200, "y": 51}, + { "flags": 4, "matrix": [4, 14], "x":214, "y": 51}, + + { "flags": 4, "matrix": [5, 0], "x": 0, "y": 64}, + { "flags": 4, "matrix": [5, 1], "x": 18, "y": 64}, + { "flags": 4, "matrix": [5, 2], "x": 37, "y": 64}, + { "flags": 4, "matrix": [5, 5], "x": 92, "y": 64}, + { "flags": 4, "matrix": [5, 9], "x":140, "y": 64}, + { "flags": 4, "matrix": [5, 10], "x":154, "y": 64}, + { "flags": 4, "matrix": [5, 11], "x":168, "y": 64}, + { "flags": 4, "matrix": [5, 13], "x":196, "y": 64}, + { "flags": 4, "matrix": [5, 14], "x":210, "y": 64}, + { "flags": 4, "matrix": [5, 15], "x":224, "y": 64}, + + { "flags": 2, "x":0, "y":0}, + { "flags": 2, "x":0, "y":6}, + { "flags": 2, "x":0, "y":13}, + { "flags": 2, "x":0, "y":19}, + { "flags": 2, "x":0, "y":25}, + { "flags": 2, "x":0, "y":32}, + { "flags": 2, "x":0, "y":38}, + { "flags": 2, "x":0, "y":45}, + { "flags": 2, "x":0, "y":51}, + { "flags": 2, "x":0, "y":57}, + { "flags": 2, "x":0, "y":64}, + + { "flags": 2, "x":224, "y":0}, + { "flags": 2, "x":224, "y":6}, + { "flags": 2, "x":224, "y":13}, + { "flags": 2, "x":224, "y":19}, + { "flags": 2, "x":224, "y":25}, + { "flags": 2, "x":224, "y":32}, + { "flags": 2, "x":224, "y":38}, + { "flags": 2, "x":224, "y":45}, + { "flags": 2, "x":224, "y":51}, + { "flags": 2, "x":224, "y":57}, + { "flags": 2, "x":224, "y":64} + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0 }, + { "label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0 }, + { "label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0 }, + { "label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0 }, + { "label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0 }, + { "label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0 }, + { "label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0 }, + { "label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0 }, + { "label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0 }, + { "label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0 }, + { "label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0 }, + { "label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0 }, + { "label": "Del", "matrix": [0, 13], "x": 14, "y": 0 }, + { "label": "Mute", "matrix": [0, 15], "x": 15.5, "y": 0 }, + + { "label": "~", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "!", "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "label": "@", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "#", "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "label": "$", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "%", "matrix": [1, 5], "x": 5, "y": 1.25 }, + { "label": "^", "matrix": [1, 6], "x": 6, "y": 1.25 }, + { "label": "&", "matrix": [1, 7], "x": 7, "y": 1.25 }, + { "label": "*", "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "label": "(", "matrix": [1, 9], "x": 9, "y": 1.25 }, + { "label": ")", "matrix": [1, 10], "x": 10, "y": 1.25 }, + { "label": "_", "matrix": [1, 11], "x": 11, "y": 1.25 }, + { "label": "+", "matrix": [1, 12], "x": 12, "y": 1.25 }, + { "label": "Bksp", "matrix": [1, 13], "w": 2, "x": 13, "y": 1.25 }, + { "label": "Home", "matrix": [1, 15], "x": 15.5, "y": 1.25 }, + + { "label": "Tab", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, + { "label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25 }, + { "label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25 }, + { "label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25 }, + { "label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25 }, + { "label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25 }, + { "label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25 }, + { "label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25 }, + { "label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25 }, + { "label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25 }, + { "label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25 }, + { "label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25 }, + { "label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25 }, + { "label": "|", "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, + { "label": "PageUp", "matrix": [2, 15], "x": 15.5, "y": 2.25 }, + + { "label": "Caps Lock", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, + { "label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25 }, + { "label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25 }, + { "label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25 }, + { "label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25 }, + { "label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25 }, + { "label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25 }, + { "label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25 }, + { "label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25 }, + { "label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25 }, + { "label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25 }, + { "label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.25 }, + { "label": ":", "matrix": [3, 12], "x": 12.75, "y": 3.25 }, + { "label": "Enter", "matrix": [3, 13], "w": 1.25, "x": 13.75, "y": 3.25 }, + { "label": "PageDn", "matrix": [3, 15], "x": 15.5, "y": 3.25 }, + + { "label": "Shift", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, + { "label": ":", "matrix": [4, 11], "x": 1.25, "y": 4.25 }, + { "label": "Z", "matrix": [4, 1], "x": 2.25, "y": 4.25 }, + { "label": "X", "matrix": [4, 2], "x": 3.25, "y": 4.25 }, + { "label": "C", "matrix": [4, 3], "x": 4.25, "y": 4.25 }, + { "label": "V", "matrix": [4, 4], "x": 5.25, "y": 4.25 }, + { "label": "B", "matrix": [4, 5], "x": 6.25, "y": 4.25 }, + { "label": "N", "matrix": [4, 6], "x": 7.25, "y": 4.25 }, + { "label": "M", "matrix": [4, 7], "x": 8.25, "y": 4.25 }, + { "label": "<", "matrix": [4, 8], "x": 9.25, "y": 4.25 }, + { "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, + { "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, + { "label": "Shift", "matrix": [4, 13], "w": 1.75, "x": 12.25, "y": 4.25 }, + { "label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.25 }, + + { "label": "Ctrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "label": "Win", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "label": "Alt", "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, + { "label": "Space", "matrix": [5, 5], "w": 6.25, "x": 3.75, "y": 5.25 }, + { "label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25 }, + { "label": "Fn", "matrix": [5, 10], "x": 11, "y": 5.25 }, + { "label": "Ctrl", "matrix": [5, 11], "x": 12, "y": 5.25 }, + { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.25 }, + { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.25 }, + { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/chosfox/cf81/keymaps/default/keymap.c b/keyboards/chosfox/cf81/keymaps/default/keymap.c new file mode 100644 index 00000000000..753bdebc0a4 --- /dev/null +++ b/keyboards/chosfox/cf81/keymaps/default/keymap.c @@ -0,0 +1,71 @@ +/* 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][2] = { + [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/default/rules.mk b/keyboards/chosfox/cf81/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/chosfox/cf81/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/chosfox/cf81/keymaps/via/keymap.c b/keyboards/chosfox/cf81/keymaps/via/keymap.c new file mode 100644 index 00000000000..753bdebc0a4 --- /dev/null +++ b/keyboards/chosfox/cf81/keymaps/via/keymap.c @@ -0,0 +1,71 @@ +/* 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][2] = { + [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 new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/chosfox/cf81/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/7c8/framework/config.h b/keyboards/chosfox/cf81/mcuconf.h similarity index 79% rename from keyboards/7c8/framework/config.h rename to keyboards/chosfox/cf81/mcuconf.h index f6b4b30cf5e..e2884f3828f 100644 --- a/keyboards/7c8/framework/config.h +++ b/keyboards/chosfox/cf81/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 Steven Nguyen +/* 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 @@ -13,10 +13,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - #pragma once -#define TAP_CODE_DELAY 16 +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE -#define LEADER_TIMEOUT 250 -#define LEADER_PER_KEY_TIMING 150 +#undef WB32_I2C_USE_I2C1 +#define WB32_I2C_USE_I2C1 TRUE diff --git a/keyboards/chosfox/cf81/readme.md b/keyboards/chosfox/cf81/readme.md new file mode 100644 index 00000000000..06522836fd8 --- /dev/null +++ b/keyboards/chosfox/cf81/readme.md @@ -0,0 +1,19 @@ +# CHOSFOX CF81 keyboard + +A customizable 75% encoder keyboard. + +* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) +* Hardware Supported: CF81 +* Hardware Availability: [CHOSFOX](https://chosfox.com/) + +Make example for this keyboard (after setting up your build environment): + + make chosfox/cf81:default + +Flashing example for this keyboard: + + make chosfox/cf81:default:flash + +**Reset Key**: Hold down the key located at *K00*, which programmed as *Esc* while plugging in the keyboard. + +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/chosfox/cf81/rules.mk b/keyboards/chosfox/cf81/rules.mk new file mode 100644 index 00000000000..002458405ee --- /dev/null +++ b/keyboards/chosfox/cf81/rules.mk @@ -0,0 +1 @@ +WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/cipulot/ec_prox/jis/info.json b/keyboards/cipulot/ec_prox/jis/info.json index 84049679096..6016004b1ba 100644 --- a/keyboards/cipulot/ec_prox/jis/info.json +++ b/keyboards/cipulot/ec_prox/jis/info.json @@ -52,75 +52,79 @@ "layouts": { "LAYOUT_jp": { "layout": [ - {"label": "0,0", "matrix": [0, 0], "x": 0.0, "y": 0.0}, - {"label": "0,1", "matrix": [0, 1], "x": 1.0, "y": 0.0}, - {"label": "0,2", "matrix": [0, 2], "x": 2.0, "y": 0.0}, - {"label": "0,3", "matrix": [0, 3], "x": 3.0, "y": 0.0}, - {"label": "0,4", "matrix": [0, 4], "x": 4.0, "y": 0.0}, - {"label": "0,5", "matrix": [0, 5], "x": 5.0, "y": 0.0}, - {"label": "0,6", "matrix": [0, 6], "x": 6.0, "y": 0.0}, - {"label": "0,7", "matrix": [0, 7], "x": 7.0, "y": 0.0}, - {"label": "0,8", "matrix": [0, 8], "x": 8.0, "y": 0.0}, - {"label": "0,9", "matrix": [0, 9], "x": 9.0, "y": 0.0}, - {"label": "0,10", "matrix": [0, 10], "x": 10.0, "y": 0.0}, - {"label": "0,11", "matrix": [0, 11], "x": 11.0, "y": 0.0}, - {"label": "0,12", "matrix": [0, 12], "x": 12.0, "y": 0.0}, - {"label": "0,13", "matrix": [0, 13], "x": 13.0, "y": 0.0}, - {"label": "1,13", "matrix": [1, 13], "x": 14.0, "y": 0.0}, - {"label": "1,0", "matrix": [1, 0], "w": 1.5, "x": 0.0, "y": 1.0}, - {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1.0}, - {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1.0}, - {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1.0}, - {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1.0}, - {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1.0}, - {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1.0}, - {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1.0}, - {"label": "1,8", "matrix": [1, 8], "x": 8.5, "y": 1.0}, - {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1.0}, - {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1.0}, - {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1.0}, - {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1.0}, - {"h": 2, "label": "2,13", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1.0}, - {"label": "2,0", "matrix": [2, 0], "w": 1.75, "x": 0.0, "y": 2.0}, - {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2.0}, - {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2.0}, - {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2.0}, - {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2.0}, - {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2.0}, - {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2.0}, - {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2.0}, - {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2.0}, - {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2.0}, - {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2.0}, - {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2.0}, - {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2.0}, - {"label": "3,0", "matrix": [3, 0], "w": 2, "x": 0.0, "y": 3.0}, - {"label": "3,1", "matrix": [3, 1], "x": 2.0, "y": 3.0}, - {"label": "3,2", "matrix": [3, 2], "x": 3.0, "y": 3.0}, - {"label": "3,3", "matrix": [3, 3], "x": 4.0, "y": 3.0}, - {"label": "3,4", "matrix": [3, 4], "x": 5.0, "y": 3.0}, - {"label": "3,5", "matrix": [3, 5], "x": 6.0, "y": 3.0}, - {"label": "3,6", "matrix": [3, 6], "x": 7.0, "y": 3.0}, - {"label": "3,7", "matrix": [3, 7], "x": 8.0, "y": 3.0}, - {"label": "3,8", "matrix": [3, 8], "x": 9.0, "y": 3.0}, - {"label": "3,9", "matrix": [3, 9], "x": 10.0, "y": 3.0}, - {"label": "3,10", "matrix": [3, 10], "x": 11.0, "y": 3.0}, - {"label": "3,11", "matrix": [3, 11], "x": 12.0, "y": 3.0}, - {"label": "3,12", "matrix": [3, 12], "x": 13.0, "y": 3.0}, - {"label": "3,13", "matrix": [3, 13], "x": 14.0, "y": 3.0}, - {"label": "4,0", "matrix": [4, 0], "x": 0.0, "y": 4.0}, - {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4.0}, - {"label": "4,2", "matrix": [4, 2], "x": 2.25, "y": 4.0}, - {"label": "4,3", "matrix": [4, 3], "x": 3.25, "y": 4.0}, - {"label": "4,4", "matrix": [4, 4], "x": 4.25, "y": 4.0}, - {"label": "4,5", "matrix": [4, 5], "w": 2.5, "x": 5.25, "y": 4.0}, - {"label": "4,7", "matrix": [4, 7], "x": 7.75, "y": 4.0}, - {"label": "4,8", "matrix": [4, 8], "x": 8.75, "y": 4.0}, - {"label": "4,9", "matrix": [4, 9], "x": 9.75, "y": 4.0}, - {"label": "4,10", "matrix": [4, 10], "x": 10.75, "y": 4.0}, - {"label": "4,11", "matrix": [4, 11], "x": 12.0, "y": 4.0}, - {"label": "4,12", "matrix": [4, 12], "x": 13.0, "y": 4.0}, - {"label": "4,13", "matrix": [4, 13], "x": 14.0, "y": 4.0} + {"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": [1, 13], "x": 14, "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": [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": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2}, + {"matrix": [3, 1], "x": 2, "y": 3}, + {"matrix": [3, 2], "x": 3, "y": 3}, + {"matrix": [3, 3], "x": 4, "y": 3}, + {"matrix": [3, 4], "x": 5, "y": 3}, + {"matrix": [3, 5], "x": 6, "y": 3}, + {"matrix": [3, 6], "x": 7, "y": 3}, + {"matrix": [3, 7], "x": 8, "y": 3}, + {"matrix": [3, 8], "x": 9, "y": 3}, + {"matrix": [3, 9], "x": 10, "y": 3}, + {"matrix": [3, 10], "x": 11, "y": 3}, + {"matrix": [3, 11], "x": 12, "y": 3}, + {"matrix": [3, 12], "x": 13, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"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, "w": 2.5}, + {"matrix": [4, 7], "x": 7.75, "y": 4}, + {"matrix": [4, 8], "x": 8.75, "y": 4}, + {"matrix": [4, 9], "x": 9.75, "y": 4}, + {"matrix": [4, 10], "x": 10.75, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4} ] } } diff --git a/keyboards/cipulot/ec_prox/jis/keymaps/default/keymap.c b/keyboards/cipulot/ec_prox/jis/keymaps/default/keymap.c index 979319a6220..2a64063a0bc 100644 --- a/keyboards/cipulot/ec_prox/jis/keymaps/default/keymap.c +++ b/keyboards/cipulot/ec_prox/jis/keymaps/default/keymap.c @@ -21,14 +21,14 @@ 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_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_ENT, - 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), + 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_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_ENT, + 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_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/cipulot/ec_prox/jis/keymaps/via/keymap.c b/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c index cc9382531d2..2a64063a0bc 100644 --- a/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c +++ b/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c @@ -21,31 +21,31 @@ 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), + 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_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_ENT, + 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_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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______), [2] = LAYOUT_jp( RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [3] = LAYOUT_jp( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) // clang-format on }; diff --git a/keyboards/cipulot/kallos/config.h b/keyboards/cipulot/kallos/config.h index bb51142311f..546d3a95202 100644 --- a/keyboards/cipulot/kallos/config.h +++ b/keyboards/cipulot/kallos/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once /* Lightbar pin and LED count definitions*/ -#define RGBLED_NUM 13 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/cipulot/kallos/info.json b/keyboards/cipulot/kallos/info.json index f9fd74acfe2..186f98578ac 100644 --- a/keyboards/cipulot/kallos/info.json +++ b/keyboards/cipulot/kallos/info.json @@ -8,6 +8,9 @@ "pid": "0x6B7A", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 13 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/cipulot/rf_r1_8_9xu/info.json b/keyboards/cipulot/rf_r1_8_9xu/info.json index badf092c87e..eb0220f6779 100644 --- a/keyboards/cipulot/rf_r1_8_9xu/info.json +++ b/keyboards/cipulot/rf_r1_8_9xu/info.json @@ -53,6 +53,7 @@ }, "vid": "0x6369" }, + "community_layouts": ["tkl_jis", "tkl_iso_tsangan", "tkl_ansi_tsangan"], "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/citrus/erdnuss65/rules.mk b/keyboards/citrus/erdnuss65/rules.mk index 80b5a0b8f5a..e69de29bb2d 100644 --- a/keyboards/citrus/erdnuss65/rules.mk +++ b/keyboards/citrus/erdnuss65/rules.mk @@ -1,2 +0,0 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE \ No newline at end of file diff --git a/keyboards/ck60i/config.h b/keyboards/ck60i/config.h index 07c7421d255..b34fb3e42f6 100644 --- a/keyboards/ck60i/config.h +++ b/keyboards/ck60i/config.h @@ -26,8 +26,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 16 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ck60i/info.json b/keyboards/ck60i/info.json index 38ae378ef4c..bef7d850e8b 100644 --- a/keyboards/ck60i/info.json +++ b/keyboards/ck60i/info.json @@ -24,7 +24,9 @@ "breathing": true }, "rgblight": { - "max_brightness": 200 + "led_count": 16, + "max_brightness": 200, + "sleep": true }, "ws2812": { "pin": "B15" diff --git a/keyboards/ck60i/rules.mk b/keyboards/ck60i/rules.mk index e505cf44b4f..3ec023e5e84 100644 --- a/keyboards/ck60i/rules.mk +++ b/keyboards/ck60i/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ckeys/washington/keymaps/default/keymap.c b/keyboards/ckeys/washington/keymaps/default/keymap.c index 9ce0181fe42..8e1eb0e2728 100644 --- a/keyboards/ckeys/washington/keymaps/default/keymap.c +++ b/keyboards/ckeys/washington/keymaps/default/keymap.c @@ -75,10 +75,10 @@ bool oled_task_user(void) { } // Host Keyboard LED Status - uint8_t usb_led = host_keyboard_leds(); - oled_write_P(IS_LED_ON(usb_led, USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(usb_led, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); return false; } #endif diff --git a/keyboards/clickety_split/leeloo/info.json b/keyboards/clickety_split/leeloo/info.json index 78794cbddb8..a2510f9f7f2 100644 --- a/keyboards/clickety_split/leeloo/info.json +++ b/keyboards/clickety_split/leeloo/info.json @@ -28,6 +28,9 @@ } } }, + "tapping": { + "term": 100 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/cmm_studio/fuji65/config.h b/keyboards/cmm_studio/fuji65/config.h index 2460cac2cb7..2bfbbc195a3 100644 --- a/keyboards/cmm_studio/fuji65/config.h +++ b/keyboards/cmm_studio/fuji65/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/cmm_studio/fuji65/info.json b/keyboards/cmm_studio/fuji65/info.json index 2225bedad3d..73f1bb52980 100644 --- a/keyboards/cmm_studio/fuji65/info.json +++ b/keyboards/cmm_studio/fuji65/info.json @@ -8,6 +8,12 @@ "pid": "0x364D", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/coarse/cordillera/rules.mk b/keyboards/coarse/cordillera/rules.mk index 6e8451b10cd..d6cd9d5f0da 100644 --- a/keyboards/coarse/cordillera/rules.mk +++ b/keyboards/coarse/cordillera/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/coarse/ixora/rules.mk b/keyboards/coarse/ixora/rules.mk index ff4c3156fed..af1134ce298 100644 --- a/keyboards/coarse/ixora/rules.mk +++ b/keyboards/coarse/ixora/rules.mk @@ -11,5 +11,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/coarse/vinta/rules.mk b/keyboards/coarse/vinta/rules.mk index 88f853eb44d..cedbfeb321f 100644 --- a/keyboards/coarse/vinta/rules.mk +++ b/keyboards/coarse/vinta/rules.mk @@ -10,5 +10,3 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/coban/pad3a/config.h b/keyboards/coban/pad3a/config.h index 9483086fb48..5299ccb4f1c 100644 --- a/keyboards/coban/pad3a/config.h +++ b/keyboards/coban/pad3a/config.h @@ -16,8 +16,5 @@ #pragma once -#define ENCODERS_PAD_A { GP5 } -#define ENCODERS_PAD_B { GP4 } - #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/coban/pad3a/info.json b/keyboards/coban/pad3a/info.json index 3eadcb7f50f..fc5c8ee71ee 100644 --- a/keyboards/coban/pad3a/info.json +++ b/keyboards/coban/pad3a/info.json @@ -9,6 +9,11 @@ "vid": "0xCB3A", "device_version": "1.1.0" }, + "encoder": { + "rotary": [ + {"pin_a": "GP5", "pin_b": "GP4"} + ] + }, "matrix_pins": { "direct": [ ["GP8", "GP7", "GP6"] diff --git a/keyboards/contender/config.h b/keyboards/contender/config.h index 971253f396a..56aa0f3e5c3 100644 --- a/keyboards/contender/config.h +++ b/keyboards/contender/config.h @@ -17,19 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 33 -#define RGBLIGHT_LED_MAP { \ - 0, 1, 2, 3, \ - 7, 6, 5, 4, \ - 8, 9, 10, 11, \ - 15, 14, 13, 12, \ - 16, 17, 18, 19, \ - 22, 21, 20, \ - 25, 24, 23, 26, 27, 28, 29, 30, 31, 32 } -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/contender/info.json b/keyboards/contender/info.json index 8a81ae164d7..e9de10100d4 100644 --- a/keyboards/contender/info.json +++ b/keyboards/contender/info.json @@ -12,7 +12,12 @@ "pin": "C6" }, "rgblight": { - "max_brightness": 32 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 33, + "max_brightness": 32, + "sleep": true, + "led_map": [0, 1, 2, 3, 7, 6, 5, 4, 8, 9, 10, 11, 15, 14, 13, 12, 16, 17, 18, 19, 22, 21, 20, 25, 24, 23, 26, 27, 28, 29, 30, 31, 32] }, "matrix_pins": { "cols": ["C7", "D6", "B3", "B0", "B1"], diff --git a/keyboards/contra/keymaps/maxr1998/keymap.c b/keyboards/contra/keymaps/maxr1998/keymap.c index 8a56c607461..0802a211f06 100644 --- a/keyboards/contra/keymaps/maxr1998/keymap.c +++ b/keyboards/contra/keymaps/maxr1998/keymap.c @@ -176,10 +176,11 @@ void update_tri_layer_user(void) { } } -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { // Force-enable Numlock - if (!(usb_led & (1<. #pragma once -#define TAPPING_TOGGLE 3 - #undef LOCKING_SUPPORT_ENABLE #undef LOCKING_RESYNC_ENABLE #define LAYER_STATE_8BIT diff --git a/keyboards/converter/a1200/mistress1200/info.json b/keyboards/converter/a1200/mistress1200/info.json index c37bdadd617..28de092b3de 100644 --- a/keyboards/converter/a1200/mistress1200/info.json +++ b/keyboards/converter/a1200/mistress1200/info.json @@ -16,5 +16,8 @@ "on_state": 0 }, "processor": "atmega16u4", - "bootloader": "atmel-dfu" + "bootloader": "atmel-dfu", + "tapping": { + "toggle": 3 + } } diff --git a/keyboards/converter/ibm_terminal/led.c b/keyboards/converter/ibm_terminal/led.c index e0f31ee4e15..1bcde277a21 100644 --- a/keyboards/converter/ibm_terminal/led.c +++ b/keyboards/converter/ibm_terminal/led.c @@ -20,14 +20,15 @@ along with this program. If not, see . #include "led.h" -void led_set(uint8_t usb_led) +bool led_update_kb(led_t led_state) { uint8_t ps2_led = 0; - if (usb_led & (1<. #include "print.h" #include "uart.h" -void led_set(uint8_t usb_led) +bool led_update_kb(led_t led_state) { - uint8_t sun_led = 0; - if (usb_led & (1<. #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* * Feature disable options diff --git a/keyboards/coseyfannitutti/mullet/info.json b/keyboards/coseyfannitutti/mullet/info.json index 695d0729c17..ac2424f28fc 100644 --- a/keyboards/coseyfannitutti/mullet/info.json +++ b/keyboards/coseyfannitutti/mullet/info.json @@ -8,6 +8,12 @@ "pid": "0x6969", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/cosmo65/config.h b/keyboards/cosmo65/config.h index c97f9dbac4c..1d30de51db1 100644 --- a/keyboards/cosmo65/config.h +++ b/keyboards/cosmo65/config.h @@ -16,7 +16,6 @@ along with this program. If not, see http://www.gnu.org/licenses/. /* RGB Lighting */ -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/cosmo65/info.json b/keyboards/cosmo65/info.json index d20de266e47..00d6efe855b 100644 --- a/keyboards/cosmo65/info.json +++ b/keyboards/cosmo65/info.json @@ -8,6 +8,9 @@ "pid": "0x6331", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/cozykeys/bloomer/config.h b/keyboards/cozykeys/bloomer/config.h index 44f6aa36133..6a93b53f157 100644 --- a/keyboards/cozykeys/bloomer/config.h +++ b/keyboards/cozykeys/bloomer/config.h @@ -19,11 +19,6 @@ along with this program. If not, see . // Enable RGB backlight #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/cozykeys/bloomer/info.json b/keyboards/cozykeys/bloomer/info.json index 96db04787eb..622d5054be5 100644 --- a/keyboards/cozykeys/bloomer/info.json +++ b/keyboards/cozykeys/bloomer/info.json @@ -7,6 +7,12 @@ "vid": "0xFEED", "pid": "0x1191" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "D7" } diff --git a/keyboards/cozykeys/speedo/v3/config.h b/keyboards/cozykeys/speedo/v3/config.h index 8a13e5e509d..eb22271aa34 100644 --- a/keyboards/cozykeys/speedo/v3/config.h +++ b/keyboards/cozykeys/speedo/v3/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/cozykeys/speedo/v3/info.json b/keyboards/cozykeys/speedo/v3/info.json index d368fd25fc8..fe275aa449d 100644 --- a/keyboards/cozykeys/speedo/v3/info.json +++ b/keyboards/cozykeys/speedo/v3/info.json @@ -8,6 +8,12 @@ "pid": "0x1192", "device_version": "0.0.3" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/craftwalk/config.h b/keyboards/craftwalk/config.h index 40d79db10cd..f0b96679b89 100644 --- a/keyboards/craftwalk/config.h +++ b/keyboards/craftwalk/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 19 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // /*== or choose animations ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/craftwalk/info.json b/keyboards/craftwalk/info.json index b3f3fbbe577..8d5bea014dc 100644 --- a/keyboards/craftwalk/info.json +++ b/keyboards/craftwalk/info.json @@ -8,6 +8,12 @@ "pid": "0x2E8F", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 19, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/crawlpad/config.h b/keyboards/crawlpad/config.h index 43784354713..64a378d399a 100755 --- a/keyboards/crawlpad/config.h +++ b/keyboards/crawlpad/config.h @@ -25,5 +25,4 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 3 #endif diff --git a/keyboards/crawlpad/info.json b/keyboards/crawlpad/info.json index 0d4d38d4ead..4f405040590 100644 --- a/keyboards/crawlpad/info.json +++ b/keyboards/crawlpad/info.json @@ -8,6 +8,9 @@ "pid": "0x6070", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 3 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/crazy_keyboard_68/config.h b/keyboards/crazy_keyboard_68/config.h index 50fbb5dcb9a..6e2fa77af6d 100644 --- a/keyboards/crazy_keyboard_68/config.h +++ b/keyboards/crazy_keyboard_68/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 84 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/crazy_keyboard_68/info.json b/keyboards/crazy_keyboard_68/info.json index 5e7416545df..527306f0325 100644 --- a/keyboards/crazy_keyboard_68/info.json +++ b/keyboards/crazy_keyboard_68/info.json @@ -17,6 +17,12 @@ "caps_lock": "B0", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 84, + "sleep": true + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/crin/rules.mk b/keyboards/crin/rules.mk index 0aeca0dd9f3..7f4f202a1b7 100644 --- a/keyboards/crin/rules.mk +++ b/keyboards/crin/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/crkbd/keymaps/oled_sample/keymap.c b/keyboards/crkbd/keymaps/oled_sample/keymap.c index 1a48165e3fa..84a4f9204f0 100644 --- a/keyboards/crkbd/keymaps/oled_sample/keymap.c +++ b/keyboards/crkbd/keymaps/oled_sample/keymap.c @@ -147,12 +147,12 @@ void render_layer_state(void) { oled_write_P(PSTR("Raise"), layer_state_is(_RAISE)); } -void render_keylock_status(uint8_t led_usb_state) { +void render_keylock_status(led_t led_state) { oled_write_P(PSTR("Lock:"), false); oled_write_P(PSTR(" "), false); - oled_write_P(PSTR("N"), led_usb_state & (1 << USB_LED_NUM_LOCK)); - oled_write_P(PSTR("C"), led_usb_state & (1 << USB_LED_CAPS_LOCK)); - oled_write_ln_P(PSTR("S"), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); + oled_write_P(PSTR("N"), led_state.num_lock); + oled_write_P(PSTR("C"), led_state.caps_lock); + oled_write_ln_P(PSTR("S"), led_state.scroll_lock); } void render_mod_status(uint8_t modifiers) { @@ -183,7 +183,7 @@ void render_bootmagic_status(void) { void render_status_main(void) { /* Show Keyboard Layout */ render_default_layer_state(); - render_keylock_status(host_keyboard_leds()); + render_keylock_status(host_keyboard_led_state()); render_mod_status(get_mods()); render_bootmagic_status(); diff --git a/keyboards/crkbd/keymaps/rpbaptist/keymap.c b/keyboards/crkbd/keymaps/rpbaptist/keymap.c index aeeae2cbd82..0fc110b12ef 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/keymap.c +++ b/keyboards/crkbd/keymaps/rpbaptist/keymap.c @@ -266,10 +266,10 @@ void render_status(void) { oled_write_P(PSTR("\n"), false); - uint8_t led_usb_state = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); oled_write_P(PSTR("Mode:"), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR("\n"), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR("\n"), false); + oled_write_P(led_state.num_lock ? PSTR(" NUM ") : PSTR("\n"), false); + oled_write_P(led_state.caps_lock ? PSTR(" CAPS") : PSTR("\n"), false); # ifdef RGB_MATRIX_ENABLE oled_write_P(PSTR("\n"), false); diff --git a/keyboards/crkbd/lib/host_led_state_reader.c b/keyboards/crkbd/lib/host_led_state_reader.c index a0684e4a277..2593ac5f8b7 100644 --- a/keyboards/crkbd/lib/host_led_state_reader.c +++ b/keyboards/crkbd/lib/host_led_state_reader.c @@ -5,11 +5,11 @@ char host_led_state_str[24]; const char *read_host_led_state(void) { - uint8_t leds = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); snprintf(host_led_state_str, sizeof(host_led_state_str), "NL:%s CL:%s SL:%s", - (leds & (1 << USB_LED_NUM_LOCK)) ? "on" : "- ", - (leds & (1 << USB_LED_CAPS_LOCK)) ? "on" : "- ", - (leds & (1 << USB_LED_SCROLL_LOCK)) ? "on" : "- "); + (led_state.num_lock) ? "on" : "- ", + (led_state.caps_lock) ? "on" : "- ", + (led_state.scroll_lock) ? "on" : "- "); return host_led_state_str; } diff --git a/keyboards/crkbd/r2g/config.h b/keyboards/crkbd/r2g/config.h index 455f179e900..46db11318f7 100644 --- a/keyboards/crkbd/r2g/config.h +++ b/keyboards/crkbd/r2g/config.h @@ -31,13 +31,10 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE - -# define RGBLED_NUM 54 #endif #ifdef RGB_MATRIX_ENABLE -# define RGBLED_NUM 54 // Number of LEDs -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 54 # define RGB_MATRIX_SPLIT \ { 27, 27 } # define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/crkbd/r2g/info.json b/keyboards/crkbd/r2g/info.json index 1de40c03951..3b269a5051e 100644 --- a/keyboards/crkbd/r2g/info.json +++ b/keyboards/crkbd/r2g/info.json @@ -6,6 +6,7 @@ "soft_serial_pin": "D2" }, "rgblight": { + "led_count": 54, "split_count": [27, 27] }, "ws2812": { diff --git a/keyboards/crkbd/rev1/config.h b/keyboards/crkbd/rev1/config.h index f3e3bc4c51d..60a49100e3f 100644 --- a/keyboards/crkbd/rev1/config.h +++ b/keyboards/crkbd/rev1/config.h @@ -18,14 +18,8 @@ along with this program. If not, see . #pragma once -#ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 54 // Number of LEDs -# define RGBLIGHT_SPLIT -#endif - #ifdef RGB_MATRIX_ENABLE -# define RGBLED_NUM 54 // Number of LEDs -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 54 # define RGB_MATRIX_SPLIT \ { 27, 27 } # define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/crkbd/rev1/info.json b/keyboards/crkbd/rev1/info.json index e9114e903ca..48a27d11f34 100644 --- a/keyboards/crkbd/rev1/info.json +++ b/keyboards/crkbd/rev1/info.json @@ -6,6 +6,7 @@ "soft_serial_pin": "D2" }, "rgblight": { + "led_count": 54, "split_count": [27, 27] }, "ws2812": { diff --git a/keyboards/crypt_macro/config.h b/keyboards/crypt_macro/config.h index ecdef4acaa1..0e47fb3111a 100644 --- a/keyboards/crypt_macro/config.h +++ b/keyboards/crypt_macro/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define WS2812_DMA_CHANNEL 3 #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB -#define RGBLED_NUM 11 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/crypt_macro/info.json b/keyboards/crypt_macro/info.json index 8dcd2e264ea..a7178acf900 100644 --- a/keyboards/crypt_macro/info.json +++ b/keyboards/crypt_macro/info.json @@ -8,6 +8,11 @@ "pid": "0x434D", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 11 + }, "ws2812": { "pin": "B4", "driver": "pwm" diff --git a/keyboards/crypt_macro/rules.mk b/keyboards/crypt_macro/rules.mk index 000ee78e21a..cc9d7bb3f53 100644 --- a/keyboards/crypt_macro/rules.mk +++ b/keyboards/crypt_macro/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/custommk/ergostrafer/config.h b/keyboards/custommk/ergostrafer/config.h index c5a0ec75b57..9622315defe 100644 --- a/keyboards/custommk/ergostrafer/config.h +++ b/keyboards/custommk/ergostrafer/config.h @@ -16,8 +16,6 @@ #define SPI_MISO_PIN B4 #define SPI_MISO_PAL_MODE 5 -#define TAP_CODE_DELAY 10 - // Audio configuration #define AUDIO_PIN B8 #define AUDIO_PWM_DRIVER PWMD4 diff --git a/keyboards/custommk/ergostrafer/info.json b/keyboards/custommk/ergostrafer/info.json index 66f1562fd98..590925065e1 100644 --- a/keyboards/custommk/ergostrafer/info.json +++ b/keyboards/custommk/ergostrafer/info.json @@ -79,5 +79,8 @@ { "pin_a": "B12", "pin_b": "B14"}, { "pin_a": "B15", "pin_b": "A15"} ] + }, + "qmk": { + "tap_keycode_delay": 10 } } \ No newline at end of file diff --git a/keyboards/custommk/evo70/config.h b/keyboards/custommk/evo70/config.h index 3010e4989d4..00f78c6339d 100644 --- a/keyboards/custommk/evo70/config.h +++ b/keyboards/custommk/evo70/config.h @@ -20,6 +20,4 @@ #define OLED_DISABLE_TIMEOUT -#define TAP_CODE_DELAY 10 - #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 4 diff --git a/keyboards/custommk/evo70/info.json b/keyboards/custommk/evo70/info.json index 769e2e61188..ec654734624 100644 --- a/keyboards/custommk/evo70/info.json +++ b/keyboards/custommk/evo70/info.json @@ -29,6 +29,9 @@ {"pin_a": "C7", "pin_b": "D5", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "backlight": { "pin": "B5", "levels": 17, @@ -143,13 +146,9 @@ {"matrix": [5, 6], "x": 0.5, "y": 1.1}, - {"matrix": [4, 7], "x": 0, "y": 0}, - {"matrix": [4, 8], "x": 12.5, "y": 5.1, "w": 1.25}, {"matrix": [4, 9], "x": 13.75, "y": 5.1, "w": 1.25}, - {"matrix": [4, 10], "x": 1, "y": 0}, - {"matrix": [4, 11], "x": 15.5, "y": 5.1}, {"matrix": [4, 12], "x": 16.5, "y": 5.1}, {"matrix": [4, 13], "x": 17.5, "y": 5.1} diff --git a/keyboards/custommk/evo70/keymaps/default/keymap.c b/keyboards/custommk/evo70/keymaps/default/keymap.c index 6f518dd9644..b577b885b23 100644 --- a/keyboards/custommk/evo70/keymaps/default/keymap.c +++ b/keyboards/custommk/evo70/keymaps/default/keymap.c @@ -23,7 +23,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_PGUP, KC_F1, 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_ENT, KC_PGDN, KC_F3, KC_F4, 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_F5, KC_F6, KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_NO, KC_VOLD, KC_RALT, KC_RCTL, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT + KC_F5, KC_F6, KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_NO, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( @@ -31,6 +31,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, 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_F7, KC_F8, KC_TRNS, BL_TOGG, BL_STEP, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) }; diff --git a/keyboards/custommk/evo70/keymaps/via/keymap.c b/keyboards/custommk/evo70/keymaps/via/keymap.c index 34de0889ee7..bff3309e639 100644 --- a/keyboards/custommk/evo70/keymaps/via/keymap.c +++ b/keyboards/custommk/evo70/keymaps/via/keymap.c @@ -23,7 +23,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_PGUP, KC_F1, 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_ENT, KC_PGDN, KC_F3, KC_F4, 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_F5, KC_F6, KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_NO, KC_VOLD, KC_RALT, KC_RCTL, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT + KC_F5, KC_F6, KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_NO, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( @@ -31,57 +31,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, 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_F7, KC_F8, KC_TRNS, BL_TOGG, BL_STEP, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; -static bool custom_encoder_mode = false; - -void set_custom_encoder_mode_user(bool custom_mode) { - custom_encoder_mode = custom_mode; -} - - -keyevent_t encoder_ccw = { - .key = (keypos_t){.row = 4, .col = 7}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder_cw = { - .key = (keypos_t){.row = 4, .col = 10}, - .pressed = false, - .type = KEY_EVENT +#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(_______, _______) }, }; - - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (custom_encoder_mode) { - if (clockwise) { - encoder_cw.pressed = true; - encoder_cw.time = timer_read(); - action_exec(encoder_cw); - } - else { - encoder_ccw.pressed = true; - encoder_ccw.time = timer_read(); - action_exec(encoder_ccw); - } - return false; - } - return true; -} - -void matrix_scan_user(void) { - if (encoder_ccw.pressed) { - encoder_ccw.pressed = false; - encoder_ccw.time = timer_read(); - action_exec(encoder_ccw); - } - - if (encoder_cw.pressed) { - encoder_cw.pressed = false; - encoder_cw.time = timer_read(); - action_exec(encoder_cw); - } -} +#endif diff --git a/keyboards/custommk/evo70/keymaps/via/rules.mk b/keyboards/custommk/evo70/keymaps/via/rules.mk index 1e5b99807cb..f1adcab005e 100644 --- a/keyboards/custommk/evo70/keymaps/via/rules.mk +++ b/keyboards/custommk/evo70/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/custommk/evo70_r2/config.h b/keyboards/custommk/evo70_r2/config.h new file mode 100644 index 00000000000..25ab789d75f --- /dev/null +++ b/keyboards/custommk/evo70_r2/config.h @@ -0,0 +1,90 @@ +/* Copyright 2023 David Hoelscher (@customMK) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 + +// No VBUS sense needed +#define BOARD_OTG_NOVBUSSENS 1 + +#define STM32_LSECLK 32768 + +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 +#define MATRIX_ROW_PINS { A8, A1, A2, B1, A7 } + +// FRAM configuration +#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A0 +#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 4 // 48MHz / 4 = 12MHz; max supported by MB85R64 is 20MHz + +// External flash configuration +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B12 +#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 1 // 48MHz; max supported by W25Q128JV is 133MHz +#define EXTERNAL_FLASH_SIZE (16 * 1024 * 1024) //128Mbit or 16MByte +#define EXTERNAL_FLASH_SPI_TIMEOUT 200000 //datasheet max is 200seconds for flash chip erase + +// SPI Configuration +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN B3 +#define SPI_SCK_PAL_MODE 5 +#define SPI_MOSI_PIN B5 +#define SPI_MOSI_PAL_MODE 5 +#define SPI_MISO_PIN B4 +#define SPI_MISO_PAL_MODE 5 + + +// SPI LCD Configuration +#define LCD_RST_PIN B2 +#define LCD_CS_PIN A9 +#define LCD_DC_PIN B0 +#ifndef LCD_ACTIVITY_TIMEOUT + #define LCD_ACTIVITY_TIMEOUT 30000 +#endif + +// I2C OLED Configuration +#define I2C1_SCL_PIN B6 +#define I2C1_SDA_PIN B9 + +#define I2C1_CLOCK_SPEED 400000 +#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 + +#define OLED_DISABLE_TIMEOUT + +#define COL_SHIFT_IN_PIN B14 +#define COL_SHIFT_CLK_PIN B15 + +#define QUANTUM_PAINTER_SUPPORTS_256_PALETTE TRUE +#define QUANTUM_PAINTER_SUPPORTS_NATIVE_COLORS TRUE + +#define OLED_UPDATE_INTERVAL 66 + +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 2 + +#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 + +#define TAP_CODE_DELAY 10 + +#define AUDIO_PIN B8 +#define AUDIO_PWM_DRIVER PWMD4 +#define AUDIO_PWM_CHANNEL 3 +#define AUDIO_PWM_PAL_MODE 2 +#define AUDIO_STATE_TIMER GPTD5 +#define AUDIO_INIT_DELAY diff --git a/keyboards/owlab/voice65/soldered/soldered.h b/keyboards/custommk/evo70_r2/halconf.h similarity index 66% rename from keyboards/owlab/voice65/soldered/soldered.h rename to keyboards/custommk/evo70_r2/halconf.h index 2c10428cec2..5268fe5de6f 100644 --- a/keyboards/owlab/voice65/soldered/soldered.h +++ b/keyboards/custommk/evo70_r2/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2021 kb-elmo +/* Copyright 2023 David Hoelscher (@customMK) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,15 +16,21 @@ #pragma once -#include "quantum.h" +#define HAL_USE_I2C TRUE -typedef union { - uint32_t raw; - struct { - uint8_t encoder_mode_index :8; - }; -} keyboard_config_t; +#define HAL_USE_PWM TRUE -extern keyboard_config_t keyboard_config; +#define HAL_USE_RTC TRUE -#define VOLUME_ANIMATION_TIMER 580 +#define HAL_USE_SPI TRUE + +#define HAL_USE_GPT TRUE + +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#define SERIAL_BUFFERS_SIZE 256 + +// This enables interrupt-driven mode +#define SPI_USE_WAIT TRUE + +#include_next diff --git a/keyboards/custommk/evo70_r2/info.json b/keyboards/custommk/evo70_r2/info.json new file mode 100644 index 00000000000..772325e7f82 --- /dev/null +++ b/keyboards/custommk/evo70_r2/info.json @@ -0,0 +1,152 @@ +{ + "keyboard_name": "EVO70 R2", + "url": "https://shop.custommk.com/collections/evo70/products/evo70", + "maintainer": "customMK", + "manufacturer": "customMK", + "tags": ["70%", "encoder", "underglow", "backlight"], + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "encoder": true, + "quantum_painter": true, + "oled": true, + "rgblight": true, + "backlight": true, + "audio": true + }, + "usb": { + "vid": "0xF35B", + "pid": "0xFAB6", + "device_version": "1.0.0" + }, + "diode_direction": "ROW2COL", + "processor": "STM32F411", + "bootloader": "stm32-dfu", + "rgblight": { + "led_count": 48, + "hue_steps": 4, + "saturation_steps": 8, + "brightness_steps": 4, + "max_brightness": 128, + "layers": { + "enabled": true + }, + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbo_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + } + }, + "ws2812": { + "driver": "pwm", + "pin": "A10" + }, + "backlight": { + "driver": "pwm", + "breathing": true, + "breathing_period": 6, + "levels": 17, + "pin": "A6" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Encoder", "matrix": [1, 0], "x":0.5, "y":0}, + {"label":"Esc", "matrix": [0, 0], "x":2.5, "y":0}, + {"label":"1", "matrix": [0, 2], "x":3.5, "y":0}, + {"label":"2", "matrix": [0, 3], "x":4.5, "y":0}, + {"label":"3", "matrix": [0, 4], "x":5.5, "y":0}, + {"label":"4", "matrix": [0, 5], "x":6.5, "y":0}, + {"label":"5", "matrix": [0, 6], "x":7.5, "y":0}, + {"label":"6", "matrix": [0, 7], "x":8.5, "y":0}, + {"label":"7", "matrix": [0, 8], "x":9.5, "y":0}, + {"label":"8", "matrix": [0, 9], "x":10.5, "y":0}, + {"label":"9", "matrix": [0, 10], "x":11.5, "y":0}, + {"label":"0", "matrix": [0, 11], "x":12.5, "y":0}, + {"label":"-", "matrix": [0, 12], "x":13.5, "y":0}, + {"label":"=", "matrix": [0, 13], "x":14.5, "y":0}, + {"label":"Backspace", "matrix": [0, 14], "x":15.5, "y":0, "w":2}, + {"label":"Delete", "matrix": [0, 15], "x":17.5, "y":0}, + + {"label":"Tab", "matrix": [1, 1], "x":2.5, "y":1, "w":1.5}, + {"label":"Q", "matrix": [1, 2], "x":4, "y":1}, + {"label":"W", "matrix": [1, 3], "x":5, "y":1}, + {"label":"E", "matrix": [1, 4], "x":6, "y":1}, + {"label":"R", "matrix": [1, 5], "x":7, "y":1}, + {"label":"T", "matrix": [1, 6], "x":8, "y":1}, + {"label":"Y", "matrix": [1, 7], "x":9, "y":1}, + {"label":"U", "matrix": [1, 8], "x":10, "y":1}, + {"label":"I", "matrix": [1, 9], "x":11, "y":1}, + {"label":"O", "matrix": [1, 10], "x":12, "y":1}, + {"label":"P", "matrix": [1, 11], "x":13, "y":1}, + {"label":"[", "matrix": [1, 12], "x":14, "y":1}, + {"label":"]", "matrix": [1, 13], "x":15, "y":1}, + {"label":"\\", "matrix": [1, 14], "x":16, "y":1, "w":1.5}, + {"label":"PgUp", "matrix": [1, 15], "x":17.5, "y":1}, + + {"label":"F1", "matrix": [2, 2], "x":0, "y":2}, + {"label":"F2", "matrix": [2, 0], "x":1, "y":2}, + {"label":"Caps Lock", "matrix": [2, 1], "x":2.5, "y":2, "w":1.75}, + {"label":"A", "matrix": [2, 3], "x":4.25, "y":2}, + {"label":"S", "matrix": [2, 4], "x":5.25, "y":2}, + {"label":"D", "matrix": [2, 5], "x":6.25, "y":2}, + {"label":"F", "matrix": [2, 6], "x":7.25, "y":2}, + {"label":"G", "matrix": [2, 7], "x":8.25, "y":2}, + {"label":"H", "matrix": [2, 8], "x":9.25, "y":2}, + {"label":"J", "matrix": [2, 9], "x":10.25, "y":2}, + {"label":"K", "matrix": [2, 10], "x":11.25, "y":2}, + {"label":"L", "matrix": [2, 11], "x":12.25, "y":2}, + {"label":";", "matrix": [2, 12], "x":13.25, "y":2}, + {"label":"'", "matrix": [2, 13], "x":14.25, "y":2}, + {"label":"Enter", "matrix": [2, 14], "x":15.25, "y":2, "w":2.25}, + {"label":"PgDn", "matrix": [2, 15], "x":17.5, "y":2}, + + {"label":"F3", "matrix": [3, 1], "x":0, "y":3}, + {"label":"F4", "matrix": [3, 0], "x":1, "y":3}, + {"label":"Shift", "matrix": [3, 2], "x":2.5, "y":3, "w":1.25}, + {"label":"\u2298", "matrix": [0, 1], "x":3.75, "y":3, "w":1}, + {"label":"Z", "matrix": [3, 3], "x":4.75, "y":3}, + {"label":"X", "matrix": [3, 4], "x":5.75, "y":3}, + {"label":"C", "matrix": [3, 5], "x":6.75, "y":3}, + {"label":"V", "matrix": [3, 6], "x":7.75, "y":3}, + {"label":"B", "matrix": [3, 7], "x":8.75, "y":3}, + {"label":"N", "matrix": [3, 8], "x":9.75, "y":3}, + {"label":"M", "matrix": [3, 9], "x":10.75, "y":3}, + {"label":",", "matrix": [3, 10], "x":11.75, "y":3}, + {"label":".", "matrix": [3, 11], "x":12.75, "y":3}, + {"label":"/", "matrix": [3, 12], "x":13.75, "y":3}, + {"label":"Shift", "matrix": [3, 13], "x":14.75, "y":3, "w":1.75}, + {"label":"Up", "matrix": [3, 14], "x":16.5, "y":3}, + {"label":"End", "matrix": [3, 15], "x":17.5, "y":3}, + + {"label":"F5", "matrix": [4, 3], "x":0, "y":4}, + {"label":"F6", "matrix": [4, 0], "x":1, "y":4}, + {"label":"Ctrl", "matrix": [4, 1], "x":2.5, "y":4, "w":1.25}, + {"label":"GUI", "matrix": [4, 2], "x":3.75, "y":4, "w":1.25}, + {"label":"Alt", "matrix": [4, 4], "x":5, "y":4, "w":1.25}, + {"label":"Space", "matrix": [4, 7], "x":6.25, "y":4, "w":6.25}, + {"label":"Alt", "matrix": [4, 10], "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "matrix": [4, 11], "x":13.75, "y":4, "w":1.25}, + {"label":"Left", "matrix": [4, 13], "x":15.5, "y":4}, + {"label":"Down", "matrix": [4, 14], "x":16.5, "y":4}, + {"label":"Right", "matrix": [4, 15], "x":17.5, "y":4} + ] + } + }, + "encoder": { + "rotary": [ + { "pin_a": "B7", "pin_b": "A4", "resolution": 2} + ] + } +} \ No newline at end of file diff --git a/keyboards/custommk/evo70_r2/keymaps/default/keymap.c b/keyboards/custommk/evo70_r2/keymaps/default/keymap.c new file mode 100644 index 00000000000..9dc7beabdda --- /dev/null +++ b/keyboards/custommk/evo70_r2/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2023 David Hoelscher (@customMK) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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_PGUP, + KC_F1, 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_ENT, KC_PGDN, + KC_F3, 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, KC_UP, KC_END, + KC_F5, KC_F6, KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_RALT, 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_VOLD, KC_VOLU), +}; +#endif \ No newline at end of file diff --git a/keyboards/custommk/evo70_r2/keymaps/via/config.h b/keyboards/custommk/evo70_r2/keymaps/via/config.h new file mode 100644 index 00000000000..52e3afa69f3 --- /dev/null +++ b/keyboards/custommk/evo70_r2/keymaps/via/config.h @@ -0,0 +1,13 @@ +// Copyright 2023 David Hoelscher (@customMK) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// With 8k FRAM, max out dynamic keymap layers and macros +// 5x16 matrix (160 bytes) and one encoder (4 bytes) consume 164 bytes per layer +// 32 layers consumes 5248 bytes +#define DYNAMIC_KEYMAP_LAYER_COUNT 32 + +// Most of the remaining space can be used for macros +// QMK Macro keycode range allows up to 128 macros +#define DYNAMIC_KEYMAP_MACRO_COUNT 128 diff --git a/keyboards/custommk/evo70_r2/keymaps/via/keymap.c b/keyboards/custommk/evo70_r2/keymaps/via/keymap.c new file mode 100644 index 00000000000..a971aa4e28b --- /dev/null +++ b/keyboards/custommk/evo70_r2/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2023 David Hoelscher (@customMK) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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_PGUP, + KC_F1, 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_ENT, KC_PGDN, + KC_F3, 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, KC_UP, KC_END, + KC_F5, KC_F6, KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_RALT, 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_VOLD, KC_VOLU) } +}; +#endif \ No newline at end of file diff --git a/keyboards/custommk/evo70_r2/keymaps/via/rules.mk b/keyboards/custommk/evo70_r2/keymaps/via/rules.mk new file mode 100644 index 00000000000..4253f570f0b --- /dev/null +++ b/keyboards/custommk/evo70_r2/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/custommk/evo70_r2/matrix.c b/keyboards/custommk/evo70_r2/matrix.c new file mode 100644 index 00000000000..99a23a4542e --- /dev/null +++ b/keyboards/custommk/evo70_r2/matrix.c @@ -0,0 +1,117 @@ +// Copyright 2023 David Hoelscher (@customMK) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +// Pin definitions +static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; + +void matrix_wait_for_pin(pin_t pin, uint8_t target_state) { + rtcnt_t start = chSysGetRealtimeCounterX(); + rtcnt_t end = start + 5000; + while (chSysIsCounterWithinX(chSysGetRealtimeCounterX(), start, end)) { + if (readPin(pin) == target_state) { + break; + } + } +} + +void matrix_wait_for_port(stm32_gpio_t *port, uint32_t target_bitmask) { + rtcnt_t start = chSysGetRealtimeCounterX(); + rtcnt_t end = start + 5000; + while (chSysIsCounterWithinX(chSysGetRealtimeCounterX(), start, end)) { + if ((palReadPort(port) & target_bitmask) == target_bitmask) { + break; + } + } +} + +void shift_pulse_clock(void) { + writePinHigh(COL_SHIFT_CLK_PIN); + matrix_wait_for_pin(COL_SHIFT_CLK_PIN, 1); + writePinLow(COL_SHIFT_CLK_PIN); +} + +void matrix_init_custom(void) { + //set all row pins as input with pullups + for (int i = 0; i < MATRIX_ROWS; ++i) { + writePinHigh(row_pins[i]); + setPinInputHigh(row_pins[i]); + } + + //set all column pins high in ROW2COL matrix + setPinOutput(COL_SHIFT_IN_PIN); + setPinOutput(COL_SHIFT_CLK_PIN); + writePinHigh(COL_SHIFT_IN_PIN); + matrix_wait_for_pin(COL_SHIFT_IN_PIN, 1); + + for (int i = 0; i < MATRIX_COLS; ++i) { + shift_pulse_clock(); + } + +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + static matrix_row_t temp_matrix[MATRIX_ROWS] = {0}; + + writePinLow(COL_SHIFT_IN_PIN); + matrix_wait_for_pin(COL_SHIFT_IN_PIN, 0); + + // Setup the output column pin + shift_pulse_clock(); + + writePinHigh(COL_SHIFT_IN_PIN); + for (int current_col = 0; current_col < MATRIX_COLS; ++current_col) { + + // Read the column ports + uint32_t gpio_a = palReadPort(GPIOA); + uint32_t gpio_b = palReadPort(GPIOB); + + // row 0, pin A8 + int current_row = 0; + if ((gpio_a & (1 << 8)) >> 8) { + temp_matrix[current_row] &= ~(1ul << current_col); + } else { + temp_matrix[current_row] |= (1ul << current_col); + } + // row 1, pin A1 + current_row = 1; + if ((gpio_a & (1 << 1)) >> 1) { + temp_matrix[current_row] &= ~(1ul << current_col); + } else { + temp_matrix[current_row] |= (1ul << current_col); + } + // row 2, pin A2 + current_row = 2; + if ((gpio_a & (1 << 2)) >> 2) { + temp_matrix[current_row] &= ~(1ul << current_col); + } else { + temp_matrix[current_row] |= (1ul << current_col); + } + // row 3, pin B3 + current_row = 3; + if ((gpio_b & (1 << 1)) >> 1) { + temp_matrix[current_row] &= ~(1ul << current_col); + } else { + temp_matrix[current_row] |= (1ul << current_col); + } + // row 4, pin A7 + current_row = 4; + if ((gpio_a & (1 << 7)) >> 7) { + temp_matrix[current_row] &= ~(1ul << current_col); + } else { + temp_matrix[current_row] |= (1ul << current_col); + } + + // Setup the output column pin + shift_pulse_clock(); + + } + + // Check if matrix has changed, return the last-read data + bool changed = memcmp(current_matrix, temp_matrix, sizeof(temp_matrix)) != 0; + if (changed) { + memcpy(current_matrix, temp_matrix, sizeof(temp_matrix)); + } + shift_pulse_clock(); + return changed; +} diff --git a/keyboards/custommk/evo70_r2/mcuconf.h b/keyboards/custommk/evo70_r2/mcuconf.h new file mode 100644 index 00000000000..afaa692ab85 --- /dev/null +++ b/keyboards/custommk/evo70_r2/mcuconf.h @@ -0,0 +1,58 @@ +/* Copyright 2023 David Hoelscher (@customMK) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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_LSE_ENABLED +#define STM32_LSE_ENABLED TRUE + +#undef STM32_RTCSEL +#define STM32_RTCSEL STM32_RTCSEL_LSE + +// Used for underglow +#undef STM32_PWM_USE_TIM1 //timer 1 channel 3 +#define STM32_PWM_USE_TIM1 TRUE + +// Used for backlight +//#undef STM32_PWM_USE_TIM2 //timer 2 channel ? +//#define STM32_PWM_USE_TIM2 TRUE + +// Used for backlight +#undef STM32_PWM_USE_TIM3 //timer 3 channel 1 +#define STM32_PWM_USE_TIM3 TRUE + +// Used for backlight +//#undef STM32_GPT_USE_TIM3 //timer 3 channel 1 +//#define STM32_GPT_USE_TIM3 TRUE + +// Used for backlight +#undef STM32_PWM_USE_TIM4 //timer 4 channel ? +#define STM32_PWM_USE_TIM4 TRUE + +// Used for backlight +#undef STM32_GPT_USE_TIM5 //timer 5 channel ? +#define STM32_GPT_USE_TIM5 TRUE + +// Used for FRAM and flash in example code +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +// Used for OLED +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + diff --git a/keyboards/custommk/evo70_r2/readme.md b/keyboards/custommk/evo70_r2/readme.md new file mode 100644 index 00000000000..ac2f638cb26 --- /dev/null +++ b/keyboards/custommk/evo70_r2/readme.md @@ -0,0 +1,21 @@ +# EVO70 R2 + +EVO70 R2 is a 70% keyboard (65% w/left side function cluster) designed and produced by customMK. + +![EVO70 R2](https://i.imgur.com/B1QMuIxh.jpeg) + +* Keyboard Maintainer: [customMK](https://github.com/customMK) +* Hardware Supported: EVO70 R2 +* Hardware Availability: [customMK](https://shop.custommk.com/collections/evo70/products/evo70) + +Make example for this keyboard (after setting up your build environment): + + make custommk/evo70_r2:default + +Flashing example for this keyboard: + + make custommk/evo70_r2:default:flash + +To enter the bootloader, run the flashing command above, and then either plug in the USB connection while holding the top-left key, or alternatively, plug in the USB connection and then press the reset button on the PCB located under the space bar. + +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/custommk/evo70_r2/rules.mk b/keyboards/custommk/evo70_r2/rules.mk new file mode 100644 index 00000000000..b79d08c6b75 --- /dev/null +++ b/keyboards/custommk/evo70_r2/rules.mk @@ -0,0 +1,11 @@ +AUDIO_DRIVER = pwm_hardware + +# project specific files +SRC += matrix.c + +EEPROM_DRIVER = spi + +QUANTUM_PAINTER_DRIVERS = st7735_spi + +CUSTOM_MATRIX = lite +CIE1931_CURVE = yes \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev1/config.h b/keyboards/custommk/genesis/rev1/config.h index d894b55edfc..892ac61ad3a 100644 --- a/keyboards/custommk/genesis/rev1/config.h +++ b/keyboards/custommk/genesis/rev1/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,9 +26,5 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 13 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 4 diff --git a/keyboards/custommk/genesis/rev1/info.json b/keyboards/custommk/genesis/rev1/info.json index 4915497bb04..8404cdbacac 100644 --- a/keyboards/custommk/genesis/rev1/info.json +++ b/keyboards/custommk/genesis/rev1/info.json @@ -12,6 +12,9 @@ "pin": "E6" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13, "max_brightness": 128 }, "matrix_pins": { @@ -25,6 +28,9 @@ {"pin_a": "D2", "pin_b": "D1", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "qmk-dfu", "layouts": { diff --git a/keyboards/custommk/genesis/rev2/config.h b/keyboards/custommk/genesis/rev2/config.h index 126caeab6af..6427c5de2be 100644 --- a/keyboards/custommk/genesis/rev2/config.h +++ b/keyboards/custommk/genesis/rev2/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,10 +26,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 13 #define RGBLIGHT_LAYERS -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 4 diff --git a/keyboards/custommk/genesis/rev2/info.json b/keyboards/custommk/genesis/rev2/info.json index 0ee3d9a5370..6b7d1c6de37 100644 --- a/keyboards/custommk/genesis/rev2/info.json +++ b/keyboards/custommk/genesis/rev2/info.json @@ -12,6 +12,9 @@ "pin": "E6" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13, "max_brightness": 128 }, "matrix_pins": { @@ -25,6 +28,9 @@ {"pin_a": "D2", "pin_b": "D1", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "qmk-dfu", "layouts": { @@ -80,39 +86,6 @@ {"matrix": [4, 2], "x": 0, "y": 4, "w": 2}, {"matrix": [4, 3], "x": 2, "y": 4} ] - }, - "LAYOUT_via_6x4": { - "layout": [ - {"matrix": [5, 0], "x": 0, "y": 0}, - {"matrix": [5, 1], "x": 1, "y": 0}, - {"matrix": [5, 2], "x": 3, "y": 0}, - {"matrix": [5, 3], "x": 4, "y": 0}, - - {"matrix": [0, 0], "x": 0.5, "y": 1.1}, - {"matrix": [0, 1], "x": 1.5, "y": 1.1}, - {"matrix": [0, 2], "x": 2.5, "y": 1.1}, - {"matrix": [0, 3], "x": 3.5, "y": 1.1}, - - {"matrix": [1, 0], "x": 0.5, "y": 2.1}, - {"matrix": [1, 1], "x": 1.5, "y": 2.1}, - {"matrix": [1, 2], "x": 2.5, "y": 2.1}, - {"matrix": [1, 3], "x": 3.5, "y": 2.1}, - - {"matrix": [2, 0], "x": 0.5, "y": 3.1}, - {"matrix": [2, 1], "x": 1.5, "y": 3.1}, - {"matrix": [2, 2], "x": 2.5, "y": 3.1}, - {"matrix": [2, 3], "x": 3.5, "y": 3.1}, - - {"matrix": [3, 0], "x": 0.5, "y": 4.1}, - {"matrix": [3, 1], "x": 1.5, "y": 4.1}, - {"matrix": [3, 2], "x": 2.5, "y": 4.1}, - {"matrix": [3, 3], "x": 3.5, "y": 4.1}, - - {"matrix": [4, 0], "x": 0.5, "y": 5.1}, - {"matrix": [4, 1], "x": 1.5, "y": 5.1}, - {"matrix": [4, 2], "x": 2.5, "y": 5.1}, - {"matrix": [4, 3], "x": 3.5, "y": 5.1} - ] } } } diff --git a/keyboards/custommk/genesis/rev2/keymaps/via/keymap.c b/keyboards/custommk/genesis/rev2/keymaps/via/keymap.c index 6739b8857d7..e49f614cb75 100644 --- a/keyboards/custommk/genesis/rev2/keymaps/via/keymap.c +++ b/keyboards/custommk/genesis/rev2/keymaps/via/keymap.c @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - + #include QMK_KEYBOARD_H //#define GENESIS_LAYER_COLORS @@ -24,36 +24,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_via_6x4( - KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, - MO(1), KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, KC_PGUP, - KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_P1, KC_P2, KC_P3, KC_PGDN, + [0] = LAYOUT_ortho_5x4( + MO(1), KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PGUP, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PGDN, KC_P0, KC_SPC, KC_PDOT, KC_PENT), - [1] = LAYOUT_via_6x4( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + [1] = LAYOUT_ortho_5x4( + KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS), - [2] = LAYOUT_via_6x4( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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_5x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_via_6x4( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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_5x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; @@ -92,80 +88,11 @@ void keyboard_post_init_user(void) { } #endif - -keyevent_t encoder_left_ccw = { - .key = (keypos_t){.row = 5, .col = 0}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder_left_cw = { - .key = (keypos_t){.row = 5, .col = 1}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder_right_ccw = { - .key = (keypos_t){.row = 5, .col = 2}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder_right_cw = { - .key = (keypos_t){.row = 5, .col = 3}, - .pressed = false, - .type = KEY_EVENT +#ifdef 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(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } }; - -void matrix_scan_user(void) { - if (encoder_left_ccw.pressed) { - encoder_left_ccw.pressed = false; - encoder_left_ccw.time = timer_read(); - action_exec(encoder_left_ccw); - } - - if (encoder_left_cw.pressed) { - encoder_left_cw.pressed = false; - encoder_left_cw.time = timer_read(); - action_exec(encoder_left_cw); - } - - if (encoder_right_ccw.pressed) { - encoder_right_ccw.pressed = false; - encoder_right_ccw.time = timer_read(); - action_exec(encoder_right_ccw); - } - - if (encoder_right_cw.pressed) { - encoder_right_cw.pressed = false; - encoder_right_cw.time = timer_read(); - action_exec(encoder_right_cw); - } - -} - - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - encoder_left_cw.pressed = true; - encoder_left_cw.time = timer_read(); - action_exec(encoder_left_cw); - } else { - encoder_left_ccw.pressed = true; - encoder_left_ccw.time = timer_read(); - action_exec(encoder_left_ccw); - } - } else { - if (clockwise) { - encoder_right_cw.pressed = true; - encoder_right_cw.time = timer_read(); - action_exec(encoder_right_cw); - } else { - encoder_right_ccw.pressed = true; - encoder_right_ccw.time = timer_read(); - action_exec(encoder_right_ccw); - } - } - return false; -} +#endif diff --git a/keyboards/custommk/genesis/rev2/keymaps/via/rules.mk b/keyboards/custommk/genesis/rev2/keymaps/via/rules.mk index 43061db1dd4..1189f4ad192 100644 --- a/keyboards/custommk/genesis/rev2/keymaps/via/rules.mk +++ b/keyboards/custommk/genesis/rev2/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/6x6/promicro/config.h b/keyboards/cutie_club/fidelity/config.h similarity index 88% rename from keyboards/handwired/dactyl_manuform/6x6/promicro/config.h rename to keyboards/cutie_club/fidelity/config.h index 1da1cb9590a..6615bd2ab72 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/promicro/config.h +++ b/keyboards/cutie_club/fidelity/config.h @@ -1,4 +1,4 @@ -/* Copyright 2019 +/* Copyright 2023 Cutie Club * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,5 +16,5 @@ #pragma once -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 12 +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/cutie_club/fidelity/info.json b/keyboards/cutie_club/fidelity/info.json new file mode 100644 index 00000000000..0b06e1e5672 --- /dev/null +++ b/keyboards/cutie_club/fidelity/info.json @@ -0,0 +1,102 @@ +{ + "keyboard_name": "Fidelity", + "manufacturer": "HAND x KOEN", + "maintainer": "Cutie Club", + "url": "", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "command": false, + "console": false + }, + "usb": { + "vid": "0xFB9C", + "pid": "0x4D1B", + "device_version": "0.0.1" + }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": [ "A7", "A6", "A5", "A4", "A3", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B2", "B1", "B0" ], + "rows": [ "A15", "B3", "B5", "B6", "B7" ] + }, + "indicators": { + "caps_lock": "B4" + }, + "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": [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": 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, 12], "x": 12.75, "y": 2, "w": 1.25 }, + { "matrix": [1, 14], "x": 14, "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, 2], "x": 2.25, "y": 4, "w": 1.5 }, + { "matrix": [4, 7], "x": 3.75, "y": 4, "w": 7 }, + { "matrix": [4, 11], "x": 10.75, "y": 4, "w": 1.5 }, + { "matrix": [4, 13], "x": 13, "y": 4 }, + { "matrix": [4, 14], "x": 14, "y": 4 }, + { "matrix": [4, 15], "x": 15, "y": 4 } + ] + } + } +} diff --git a/keyboards/cutie_club/fidelity/keymaps/default/keymap.c b/keyboards/cutie_club/fidelity/keymaps/default/keymap.c new file mode 100644 index 00000000000..1f076a0e7d1 --- /dev/null +++ b/keyboards/cutie_club/fidelity/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2023 Cutie Club + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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_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_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, MO(1), + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [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_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/cutie_club/fidelity/keymaps/via/keymap.c b/keyboards/cutie_club/fidelity/keymaps/via/keymap.c new file mode 100644 index 00000000000..1f076a0e7d1 --- /dev/null +++ b/keyboards/cutie_club/fidelity/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2023 Cutie Club + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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_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_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, MO(1), + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [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_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/cutie_club/fidelity/keymaps/via/rules.mk b/keyboards/cutie_club/fidelity/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/cutie_club/fidelity/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/cutie_club/fidelity/readme.md b/keyboards/cutie_club/fidelity/readme.md new file mode 100644 index 00000000000..9cec49d2cf2 --- /dev/null +++ b/keyboards/cutie_club/fidelity/readme.md @@ -0,0 +1,26 @@ +# Fidelity + +![Fidelity](https://i.imgur.com/6xelfJeh.jpeg) + +The Fidelity is a custom 65% keyboard, a collaboration between HAND Engineering and Koen. + +* Keyboard Maintainer: [Cutie Club](https://github.com/cutie-club/) +* Hardware Supported: STM32F072 based PCB for the Fidelity keyboard + +Make example for this keyboard (after setting up your build environment): + + make cutie_club/fidelity:default + +Flashing example for this keyboard: + + make cutie_club/fidelity: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 (the top left key) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the front of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/cutie_club/fidelity/rules.mk b/keyboards/cutie_club/fidelity/rules.mk new file mode 100644 index 00000000000..79986c3cede --- /dev/null +++ b/keyboards/cutie_club/fidelity/rules.mk @@ -0,0 +1 @@ +# Intentionally left blank, please see info.json diff --git a/keyboards/cutie_club/wraith/keymaps/amber/keymap.c b/keyboards/cutie_club/wraith/keymaps/amber/keymap.c index 41d5b39c408..f3ea61ba5e3 100644 --- a/keyboards/cutie_club/wraith/keymaps/amber/keymap.c +++ b/keyboards/cutie_club/wraith/keymaps/amber/keymap.c @@ -40,11 +40,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - -void matrix_init_user(void) { - -} - void matrix_scan_user(void) { // escape LED on layer 1 if (IS_LAYER_ON(1)) { @@ -53,7 +48,3 @@ void matrix_scan_user(void) { writePinHigh(B0); } } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/cx60/config.h b/keyboards/cx60/config.h index f14a164f57b..b0b899c644d 100644 --- a/keyboards/cx60/config.h +++ b/keyboards/cx60/config.h @@ -27,7 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/cx60/info.json b/keyboards/cx60/info.json index 89da7fa8b37..b0323767ac0 100644 --- a/keyboards/cx60/info.json +++ b/keyboards/cx60/info.json @@ -21,6 +21,10 @@ "caps_lock": "B5", "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "led_count": 14 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/dailycraft/owl8/info.json b/keyboards/dailycraft/owl8/info.json index b1bcacb60bc..194bd5bdb6e 100644 --- a/keyboards/dailycraft/owl8/info.json +++ b/keyboards/dailycraft/owl8/info.json @@ -18,21 +18,16 @@ "bootloader": "atmel-dfu", "matrix_pins": { "direct": [ - ["F4", "F7", "B3", "B6", "F5", "F6", "B1", "B2", "D4", "C6", "D7", "E6", null, null, null, null] + ["F4", "F7", "B3", "B6", "F5", "F6", "B1", "B2", "D4", "C6", "D7", "E6"] ] }, "layouts": { "LAYOUT": { "layout": [ - {"x": 0, "y": 0, "matrix": [0, 12]}, - {"x": 1, "y": 0, "matrix": [0, 13]}, - {"x": 2, "y": 0, "matrix": [0, 14]}, - {"x": 3, "y": 0, "matrix": [0, 15]}, - - {"x": 0, "y": 1.25, "matrix": [0, 8]}, - {"x": 1, "y": 1.25, "matrix": [0, 9]}, - {"x": 2, "y": 1.25, "matrix": [0, 10]}, - {"x": 3, "y": 1.25, "matrix": [0, 11]}, + {"x":0, "y":1.25, "matrix": [0, 8]}, + {"x":1, "y":1.25, "matrix": [0, 9]}, + {"x":2, "y":1.25, "matrix": [0, 10]}, + {"x":3, "y":1.25, "matrix": [0, 11]}, {"x": 0, "y": 2.5, "matrix": [0, 0]}, {"x": 1, "y": 2.5, "matrix": [0, 1]}, diff --git a/keyboards/dailycraft/owl8/keymaps/default/keymap.c b/keyboards/dailycraft/owl8/keymaps/default/keymap.c index e840263639d..7ff5519e5aa 100644 --- a/keyboards/dailycraft/owl8/keymaps/default/keymap.c +++ b/keyboards/dailycraft/owl8/keymaps/default/keymap.c @@ -25,25 +25,21 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, // for encoders KC_NO, KC_NO, KC_NO, KC_NO, // for ext keys MO(1), KC_BSPC, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), [_FN1] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8 ), [_FN2] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8 ), [_FN3] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8 @@ -64,5 +60,5 @@ bool encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_UP); } } - return true; + return false; } diff --git a/keyboards/dailycraft/owl8/keymaps/via/keymap.c b/keyboards/dailycraft/owl8/keymaps/via/keymap.c index 1a3bb0f0ae2..d010bbe10e9 100644 --- a/keyboards/dailycraft/owl8/keymaps/via/keymap.c +++ b/keyboards/dailycraft/owl8/keymaps/via/keymap.c @@ -25,103 +25,32 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, // for encoders KC_NO, KC_NO, KC_NO, KC_NO, // for ext keys MO(1), KC_BSPC, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), [_FN1] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8 ), [_FN2] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8 ), [_FN3] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8 ) }; -keyevent_t encoder1_ccw = { - .key = (keypos_t){.row = 0, .col = 12}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder1_cw = { - .key = (keypos_t){.row = 0, .col = 13}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder2_ccw = { - .key = (keypos_t){.row = 0, .col = 14}, - .pressed = false, - .type = KEY_EVENT +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } }; - -keyevent_t encoder2_cw = { - .key = (keypos_t){.row = 0, .col = 15}, - .pressed = false, - .type = KEY_EVENT -}; - -void matrix_scan_user(void) { - if (encoder1_ccw.pressed) { - encoder1_ccw.pressed = false; - encoder1_ccw.time = timer_read(); - action_exec(encoder1_ccw); - } - - if (encoder1_cw.pressed) { - encoder1_cw.pressed = false; - encoder1_cw.time = timer_read(); - action_exec(encoder1_cw); - } - - if (encoder2_ccw.pressed) { - encoder2_ccw.pressed = false; - encoder2_ccw.time = timer_read(); - action_exec(encoder2_ccw); - } - - if (encoder2_cw.pressed) { - encoder2_cw.pressed = false; - encoder2_cw.time = timer_read(); - action_exec(encoder2_cw); - } -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* First encoder */ - if (clockwise) { - encoder1_cw.pressed = true; - encoder1_cw.time = timer_read(); - action_exec(encoder1_cw); - } else { - encoder1_ccw.pressed = true; - encoder1_ccw.time = timer_read(); - action_exec(encoder1_ccw); - } - } else if (index == 1) { - if (clockwise) { - encoder2_cw.pressed = true; - encoder2_cw.time = timer_read(); - action_exec(encoder2_cw); - } else { - encoder2_ccw.pressed = true; - encoder2_ccw.time = timer_read(); - action_exec(encoder2_ccw); - } - } - - return true; -} +#endif diff --git a/keyboards/dailycraft/owl8/keymaps/via/rules.mk b/keyboards/dailycraft/owl8/keymaps/via/rules.mk index 1e5b99807cb..f1adcab005e 100644 --- a/keyboards/dailycraft/owl8/keymaps/via/rules.mk +++ b/keyboards/dailycraft/owl8/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/dailycraft/stickey4/info.json b/keyboards/dailycraft/stickey4/info.json index c8d58037188..156a6d63a1f 100644 --- a/keyboards/dailycraft/stickey4/info.json +++ b/keyboards/dailycraft/stickey4/info.json @@ -18,7 +18,7 @@ "bootloader": "atmel-dfu", "matrix_pins": { "direct": [ - ["D4", "C6", "D7", "E6", null, null, null, null] + ["D4", "C6", "D7", "E6"] ] }, "layouts": { @@ -27,12 +27,7 @@ {"x": 0, "y": 0, "matrix": [0, 0]}, {"x": 1, "y": 0, "matrix": [0, 1]}, {"x": 2, "y": 0, "matrix": [0, 2]}, - {"x": 3, "y": 0, "matrix": [0, 3]}, - - {"label": "Encoder 1 CCW", "x": 0, "y": 1, "matrix": [0, 4]}, - {"label": "Encoder 1 CW", "x": 1, "y": 1, "matrix": [0, 5]}, - {"label": "Encoder 2 CCW", "x": 2, "y": 1, "matrix": [0, 6]}, - {"label": "Encoder 2 CW", "x": 3, "y": 1, "matrix": [0, 7]} + {"x": 3, "y": 0, "matrix": [0, 3]} ] } } diff --git a/keyboards/dailycraft/stickey4/keymaps/default/keymap.c b/keyboards/dailycraft/stickey4/keymaps/default/keymap.c index 70de5dca448..40cfc22a0f5 100644 --- a/keyboards/dailycraft/stickey4/keymaps/default/keymap.c +++ b/keyboards/dailycraft/stickey4/keymaps/default/keymap.c @@ -25,19 +25,6 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT( - KC_A, KC_B, KC_C, KC_D, - KC_NO, KC_NO, KC_NO, KC_NO // for encoders - ), - [_FN1] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO - ), - [_FN2] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO - ), - [_FN3] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO + KC_A, KC_B, KC_C, KC_D ) }; diff --git a/keyboards/dailycraft/stickey4/keymaps/via/keymap.c b/keyboards/dailycraft/stickey4/keymaps/via/keymap.c index 30de32fa600..0e577fcf621 100644 --- a/keyboards/dailycraft/stickey4/keymaps/via/keymap.c +++ b/keyboards/dailycraft/stickey4/keymaps/via/keymap.c @@ -25,95 +25,24 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT( - KC_A, KC_B, KC_C, KC_D, - KC_NO, KC_NO, KC_NO, KC_NO // for encoders + KC_A, KC_B, KC_C, KC_D ), [_FN1] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ), [_FN2] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ), [_FN3] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ) }; -keyevent_t encoder1_ccw = { - .key = (keypos_t){.row = 0, .col = 4}, - .pressed = false, - .type = KEY_EVENT +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } }; - -keyevent_t encoder1_cw = { - .key = (keypos_t){.row = 0, .col = 5}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder2_ccw = { - .key = (keypos_t){.row = 0, .col = 6}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder2_cw = { - .key = (keypos_t){.row = 0, .col = 7}, - .pressed = false, - .type = KEY_EVENT -}; - -void matrix_scan_user(void) { - if (encoder1_ccw.pressed) { - encoder1_ccw.pressed = false; - encoder1_ccw.time = timer_read(); - action_exec(encoder1_ccw); - } - - if (encoder1_cw.pressed) { - encoder1_cw.pressed = false; - encoder1_cw.time = timer_read(); - action_exec(encoder1_cw); - } - - if (encoder2_ccw.pressed) { - encoder2_ccw.pressed = false; - encoder2_ccw.time = timer_read(); - action_exec(encoder2_ccw); - } - - if (encoder2_cw.pressed) { - encoder2_cw.pressed = false; - encoder2_cw.time = timer_read(); - action_exec(encoder2_cw); - } -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* First encoder */ - if (clockwise) { - encoder1_cw.pressed = true; - encoder1_cw.time = timer_read(); - action_exec(encoder1_cw); - } else { - encoder1_ccw.pressed = true; - encoder1_ccw.time = timer_read(); - action_exec(encoder1_ccw); - } - } else if (index == 1) { - if (clockwise) { - encoder2_cw.pressed = true; - encoder2_cw.time = timer_read(); - action_exec(encoder2_cw); - } else { - encoder2_ccw.pressed = true; - encoder2_ccw.time = timer_read(); - action_exec(encoder2_ccw); - } - } - - return true; -} +#endif diff --git a/keyboards/dailycraft/stickey4/keymaps/via/rules.mk b/keyboards/dailycraft/stickey4/keymaps/via/rules.mk index 1e5b99807cb..f1adcab005e 100644 --- a/keyboards/dailycraft/stickey4/keymaps/via/rules.mk +++ b/keyboards/dailycraft/stickey4/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/dailycraft/wings42/rev2/info.json b/keyboards/dailycraft/wings42/rev2/info.json index 09cf423e931..261157627ac 100644 --- a/keyboards/dailycraft/wings42/rev2/info.json +++ b/keyboards/dailycraft/wings42/rev2/info.json @@ -16,6 +16,15 @@ "split": { "soft_serial_pin": "D2" }, + "features": { + "encoder": true + }, + "encoder": { + "rotary": [ + { "pin_a": "B5", "pin_b": "B4" }, + { "pin_a": "B6", "pin_b": "B2" } + ] + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { @@ -41,9 +50,7 @@ {"matrix": [1, 3], "x": 3, "y": 1}, {"matrix": [1, 4], "x": 4, "y": 1}, {"matrix": [1, 5], "x": 5, "y": 1.125}, - {"matrix": [3, 1], "x": 6, "y": 1.625}, - {"matrix": [8, 2], "x": 8, "y": 1.625}, {"matrix": [6, 5], "x": 9, "y": 1.125}, {"matrix": [6, 4], "x": 10, "y": 1}, {"matrix": [6, 3], "x": 11, "y": 1}, @@ -57,9 +64,7 @@ {"matrix": [2, 3], "x": 3, "y": 2}, {"matrix": [2, 4], "x": 4, "y": 2}, {"matrix": [2, 5], "x": 5, "y": 2.125}, - {"matrix": [3, 2], "x": 6, "y": 2.625}, - {"matrix": [8, 1], "x": 8, "y": 2.625}, {"matrix": [7, 5], "x": 9, "y": 2.125}, {"matrix": [7, 4], "x": 10, "y": 2}, {"matrix": [7, 3], "x": 11, "y": 2}, diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c b/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c index 501b5d2e120..d809d59f4c1 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c +++ b/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c @@ -35,9 +35,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+---------+--------+---------+--------+--------. KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+---------+--------+---------+--------+--------| - KC_G_TAB, KC_A , KC_S , KC_D , KC_F , KC_G , KC_BSPC, KC_BSPC, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_G_BS, + KC_G_TAB, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_G_BS, //|--------+--------+--------+--------+--------+--------| |--------+---------+--------+---------+--------+--------| - KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_DEL , KC_DEL , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RCTL, + KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RCTL, //`--------+--------+--------+--------+--------+--------/ \--------+---------+--------+---------+--------+--------' KC_A_DEL,KC_S_EN ,KC_L_SPC, KC_R_ENT, KC_S_JA , KC_A_DEL // `+--------+--------+--------' `--------+---------+--------+' @@ -47,9 +47,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE, KC_AT , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LPRN, KC_HASH, KC_DLR , KC_DQT , KC_QUOT, KC_TILD, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_GRV , KC_RPRN, + KC_LPRN, KC_HASH, KC_DLR , KC_DQT , KC_QUOT, KC_TILD, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_GRV , KC_RPRN, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, _______, _______, _______, _______, + _______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' _______, _______, _______, _______, _______, QK_BOOT // `+--------+--------+--------' `--------+-------+--------+' @@ -59,9 +59,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______, + _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, + KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' QK_BOOT , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' @@ -71,9 +71,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' _______, _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c b/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c index 7349bf2411b..362164c5ec0 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c +++ b/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c @@ -35,9 +35,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+---------+--------+---------+--------+--------. KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+---------+--------+---------+--------+--------| - KC_G_TAB, KC_A , KC_S , KC_D , KC_F , KC_G , KC_BSPC, KC_BSPC, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_G_BS, + KC_G_TAB, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_G_BS, //|--------+--------+--------+--------+--------+--------| |--------+---------+--------+---------+--------+--------| - KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_DEL , KC_DEL , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RCTL, + KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RCTL, //`--------+--------+--------+--------+--------+--------/ \--------+---------+--------+---------+--------+--------' KC_A_DEL,KC_S_EN ,KC_L_SPC, KC_R_ENT, KC_S_JA , KC_A_DEL // `+--------+--------+--------' `--------+---------+--------+' @@ -47,9 +47,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE, KC_AT , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LPRN, KC_HASH, KC_DLR , KC_DQT , KC_QUOT, KC_TILD, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_GRV , KC_RPRN, + KC_LPRN, KC_HASH, KC_DLR , KC_DQT , KC_QUOT, KC_TILD, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_GRV , KC_RPRN, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, _______, _______, _______, _______, + _______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' _______, _______, _______, _______, _______, QK_BOOT // `+--------+--------+--------' `--------+-------+--------+' @@ -59,9 +59,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______, + _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, + KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' QK_BOOT , _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' @@ -71,156 +71,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------' _______, _______, _______, _______, _______, _______ // `+--------+--------+--------' `--------+--------+--------+' ), }; -keyevent_t encoder1_ccw = { - .key = (keypos_t){.row = 4, .col = 0}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder1_cw = { - .key = (keypos_t){.row = 4, .col = 1}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder2_ccw = { - .key = (keypos_t){.row = 4, .col = 2}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder2_cw = { - .key = (keypos_t){.row = 4, .col = 3}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder3_ccw = { - .key = (keypos_t){.row = 9, .col = 1}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder3_cw = { - .key = (keypos_t){.row = 9, .col = 0}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder4_ccw = { - .key = (keypos_t){.row = 9, .col = 3}, - .pressed = false, - .type = KEY_EVENT +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_BSPC, KC_DEL), ENCODER_CCW_CW(KC_BSPC, KC_DEL) }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } }; - -keyevent_t encoder4_cw = { - .key = (keypos_t){.row = 9, .col = 2}, - .pressed = false, - .type = KEY_EVENT -}; - - -void matrix_scan_user(void) { - if (encoder1_ccw.pressed) { - encoder1_ccw.pressed = false; - encoder1_ccw.time = timer_read(); - action_exec(encoder1_ccw); - } - - if (encoder1_cw.pressed) { - encoder1_cw.pressed = false; - encoder1_cw.time = timer_read(); - action_exec(encoder1_cw); - } - - if (encoder2_ccw.pressed) { - encoder2_ccw.pressed = false; - encoder2_ccw.time = timer_read(); - action_exec(encoder2_ccw); - } - - if (encoder2_cw.pressed) { - encoder2_cw.pressed = false; - encoder2_cw.time = timer_read(); - action_exec(encoder2_cw); - } - - if (encoder3_ccw.pressed) { - encoder3_ccw.pressed = false; - encoder3_ccw.time = timer_read(); - action_exec(encoder3_ccw); - } - - if (encoder3_cw.pressed) { - encoder3_cw.pressed = false; - encoder3_cw.time = timer_read(); - action_exec(encoder3_cw); - } - - if (encoder4_ccw.pressed) { - encoder4_ccw.pressed = false; - encoder4_ccw.time = timer_read(); - action_exec(encoder4_ccw); - } - - if (encoder4_cw.pressed) { - encoder4_cw.pressed = false; - encoder4_cw.time = timer_read(); - action_exec(encoder4_cw); - } -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - encoder1_cw.pressed = true; - encoder1_cw.time = timer_read(); - action_exec(encoder1_cw); - } else { - encoder1_ccw.pressed = true; - encoder1_ccw.time = timer_read(); - action_exec(encoder1_ccw); - } - } else if (index == 1) { - if (clockwise) { - encoder2_cw.pressed = true; - encoder2_cw.time = timer_read(); - action_exec(encoder2_cw); - } else { - encoder2_ccw.pressed = true; - encoder2_ccw.time = timer_read(); - action_exec(encoder2_ccw); - } - } else if (index == 2) { - if (clockwise) { - encoder3_cw.pressed = true; - encoder3_cw.time = timer_read(); - action_exec(encoder3_cw); - } else { - encoder3_ccw.pressed = true; - encoder3_ccw.time = timer_read(); - action_exec(encoder3_ccw); - } - } else if (index == 3) { - if (clockwise) { - encoder4_cw.pressed = true; - encoder4_cw.time = timer_read(); - action_exec(encoder4_cw); - } else { - encoder4_ccw.pressed = true; - encoder4_ccw.time = timer_read(); - action_exec(encoder4_ccw); - } - } - - return true; -} +#endif diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/via/rules.mk b/keyboards/dailycraft/wings42/rev2/keymaps/via/rules.mk index eea5e1e2a26..f1adcab005e 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/via/rules.mk +++ b/keyboards/dailycraft/wings42/rev2/keymaps/via/rules.mk @@ -1,2 +1,2 @@ -ENCODER_ENABLE = yes VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/daji/seis_cinco/rules.mk b/keyboards/daji/seis_cinco/rules.mk index 9e42693cb69..c3b8e77d77a 100644 --- a/keyboards/daji/seis_cinco/rules.mk +++ b/keyboards/daji/seis_cinco/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/db/db63/config.h b/keyboards/db/db63/config.h index 7a7d3584de7..c82ef78de8b 100644 --- a/keyboards/db/db63/config.h +++ b/keyboards/db/db63/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/db/db63/info.json b/keyboards/db/db63/info.json index c8004a2bae1..1faaf2becf2 100644 --- a/keyboards/db/db63/info.json +++ b/keyboards/db/db63/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/dekunukem/duckypad/config.h b/keyboards/dekunukem/duckypad/config.h index 692f679d24f..cc4c962462c 100644 --- a/keyboards/dekunukem/duckypad/config.h +++ b/keyboards/dekunukem/duckypad/config.h @@ -20,63 +20,11 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 15 -#define RGB_MATRIX_LED_COUNT 15 - #ifdef RGB_MATRIX_ENABLE - +#define RGB_MATRIX_LED_COUNT 15 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define RGB_MATRIX_DEFAULT_HUE 221 -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects -# 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 #define I2C1_SCL_PIN B8 diff --git a/keyboards/dekunukem/duckypad/duckypad.c b/keyboards/dekunukem/duckypad/duckypad.c index d03d284b959..7e486c45507 100644 --- a/keyboards/dekunukem/duckypad/duckypad.c +++ b/keyboards/dekunukem/duckypad/duckypad.c @@ -20,32 +20,6 @@ along with this program. If not, see . #include "quantum.h" -#ifdef RGB_MATRIX_ENABLE - -led_config_t g_led_config = { { - { 2, 1, 0, 3, 4, 5, 8, 7, 6, 9, 10, 11, 14, 13, 12, NO_LED, NO_LED } -}, { - {224, 0}, - {112, 0}, - {0, 0}, - {0, 16}, - {112, 16}, - {224, 16}, - {224, 32}, - {112, 32}, - {0, 32}, - {0, 48}, - {112, 48}, - {224, 48}, - {224, 64}, - {112, 64}, - {0, 64}, -}, { - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, -} }; - -#endif - void keyboard_pre_init_kb(void) { setPinOutput(A0); writePinHigh(A0); @@ -55,3 +29,21 @@ void keyboard_pre_init_kb(void) { keyboard_pre_init_user(); } + +#ifdef OLED_ENABLE +# define LOGO_SIZE 384 +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + static const char PROGMEM ducky_logo[LOGO_SIZE] = { + // clang-format off + 0, 0, 0, 0,128,128,128,128,128, 0, 0,252,252,252, 0, 0, 0,128,128,128, 0, 0, 0, 0, 0,128,128,128, 0, 0, 0, 0, 0,128,128,128,128,128, 0, 0, 0, 0, 0,252,252,252, 0, 0, 0, 0, 0,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0,128,128,128,128, 0,248,248,248, 56, 56, 56, 56, 56, 56,120,240,224,192, 0, 0,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128,128, 0, 0,252,252,252, 0, 0, 0, 0, 0,232, 24, 24,232, 0, 24, 48, 48, 24, 0,232, 24, 24,232, 0, 0, + 0,248,254,255,143, 7, 3, 3, 3, 7,142,255,255,255, 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,255,255,255, 0,248,254,255,143, 7, 3, 3, 3, 3,143, 7, 2, 0, 0,255,255,255,240,120,252,254,231,131, 1, 0, 1, 7, 63,254,240,192, 0,224,252,127, 31, 3, 0, 0,255,255,255,112,112,112,112,112,112, 56, 63, 31, 15,193,231,243,115, 51, 51, 51, 55,255,255,252, 0, 0,248,254,255,143, 7, 3, 3, 3, 7,142,255,255,255, 0, 0, 0, 0, 0, 21,127,127,252,252,252,253,253,252,252,252,255,255,255, 0, 0, + 0, 0, 3, 7, 15, 15, 14, 14, 14, 7, 3, 15, 15, 15, 0, 0, 0, 3, 7, 15, 15, 14, 14, 6, 3, 15, 15, 15, 0, 0, 3, 7, 7, 15, 14, 14, 14, 14, 7, 7, 2, 0, 0, 15, 15, 15, 0, 0, 0, 1, 3, 15, 15, 12,136,224,224,224,247,127,127, 31, 3, 0, 0, 0, 0, 0, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 14, 14, 14, 6, 3, 15, 15, 15, 0, 0, 0, 3, 7, 15, 15, 14, 14, 14, 7, 3, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7, 11, 3, 11, 7, 11, 7, 7, 31, 0, 0 + //clang-format on + }; + oled_write_raw_P(ducky_logo, LOGO_SIZE); + return false; +} +#endif diff --git a/keyboards/dekunukem/duckypad/info.json b/keyboards/dekunukem/duckypad/info.json index e5859b718a5..1c702e1b1b1 100644 --- a/keyboards/dekunukem/duckypad/info.json +++ b/keyboards/dekunukem/duckypad/info.json @@ -8,11 +8,79 @@ "pid": "0x4450", "device_version": "0.0.1" }, + "features": { + "extrakey": true, + "rgb_matrix": true, + "oled": true + }, "ws2812": { "pin": "A10" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "layout": [ + {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 0, "y": 16, "flags": 4}, + {"matrix": [0, 4], "x": 112, "y": 16, "flags": 4}, + {"matrix": [0, 5], "x": 224, "y": 16, "flags": 4}, + {"matrix": [0, 8], "x": 224, "y": 32, "flags": 4}, + {"matrix": [0, 7], "x": 112, "y": 32, "flags": 4}, + {"matrix": [0, 6], "x": 0, "y": 32, "flags": 4}, + {"matrix": [0, 9], "x": 0, "y": 48, "flags": 4}, + {"matrix": [0, 10], "x": 112, "y": 48, "flags": 4}, + {"matrix": [0, 11], "x": 224, "y": 48, "flags": 4}, + {"matrix": [0, 14], "x": 224, "y": 64, "flags": 4}, + {"matrix": [0, 13], "x": 112, "y": 64, "flags": 4}, + {"matrix": [0, 12], "x": 0, "y": 64, "flags": 4} + ], + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_color": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + } }, "processor": "STM32F072", "bootloader": "stm32-dfu", diff --git a/keyboards/dekunukem/duckypad/keymaps/default/keymap.c b/keyboards/dekunukem/duckypad/keymaps/default/keymap.c index 3b74640fe6d..482f816fb33 100644 --- a/keyboards/dekunukem/duckypad/keymaps/default/keymap.c +++ b/keyboards/dekunukem/duckypad/keymaps/default/keymap.c @@ -40,9 +40,10 @@ enum my_keycodes { Z12, Z13, Z14 }; -#define _DEFAULT 0 -#define _RGB 1 - +enum layers { + _DEFAULT, + _RGB +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* diff --git a/keyboards/dekunukem/duckypad/keymaps/via/keymap.c b/keyboards/dekunukem/duckypad/keymaps/via/keymap.c index 01baaeb5937..c3bb88353fd 100644 --- a/keyboards/dekunukem/duckypad/keymaps/via/keymap.c +++ b/keyboards/dekunukem/duckypad/keymaps/via/keymap.c @@ -20,9 +20,6 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -#define LOGO_SIZE 384 - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( KC_KP_1, KC_KP_2, KC_KP_3, @@ -31,43 +28,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_KP_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - 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 - ), - 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 - ), - 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 - ), + ) }; - -static void render_logo(void) { - static const char PROGMEM ducky_logo[LOGO_SIZE] = { - 0, 0, 0, 0,128,128,128,128,128, 0, 0,252,252,252, 0, 0, 0,128,128,128, 0, 0, 0, 0, 0,128,128,128, 0, 0, 0, 0, 0,128,128,128,128,128, 0, 0, 0, 0, 0,252,252,252, 0, 0, 0, 0, 0,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0,128,128,128,128, 0,248,248,248, 56, 56, 56, 56, 56, 56,120,240,224,192, 0, 0,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0,128,128,128,128,128, 0, 0,252,252,252, 0, 0, 0, 0, 0,232, 24, 24,232, 0, 24, 48, 48, 24, 0,232, 24, 24,232, 0, 0, - 0,248,254,255,143, 7, 3, 3, 3, 7,142,255,255,255, 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,255,255,255, 0,248,254,255,143, 7, 3, 3, 3, 3,143, 7, 2, 0, 0,255,255,255,240,120,252,254,231,131, 1, 0, 1, 7, 63,254,240,192, 0,224,252,127, 31, 3, 0, 0,255,255,255,112,112,112,112,112,112, 56, 63, 31, 15,193,231,243,115, 51, 51, 51, 55,255,255,252, 0, 0,248,254,255,143, 7, 3, 3, 3, 7,142,255,255,255, 0, 0, 0, 0, 0, 21,127,127,252,252,252,253,253,252,252,252,255,255,255, 0, 0, - 0, 0, 3, 7, 15, 15, 14, 14, 14, 7, 3, 15, 15, 15, 0, 0, 0, 3, 7, 15, 15, 14, 14, 6, 3, 15, 15, 15, 0, 0, 3, 7, 7, 15, 14, 14, 14, 14, 7, 7, 2, 0, 0, 15, 15, 15, 0, 0, 0, 1, 3, 15, 15, 12,136,224,224,224,247,127,127, 31, 3, 0, 0, 0, 0, 0, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 14, 14, 14, 6, 3, 15, 15, 15, 0, 0, 0, 3, 7, 15, 15, 14, 14, 14, 7, 3, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7, 11, 3, 11, 7, 11, 7, 7, 31, 0, 0 - }; - oled_write_raw_P(ducky_logo, LOGO_SIZE); -} - -bool oled_task_user(void) { - render_logo(); - return false; -} diff --git a/keyboards/dekunukem/duckypad/keymaps/via/rules.mk b/keyboards/dekunukem/duckypad/keymaps/via/rules.mk index 5085d50a04f..1e5b99807cb 100644 --- a/keyboards/dekunukem/duckypad/keymaps/via/rules.mk +++ b/keyboards/dekunukem/duckypad/keymaps/via/rules.mk @@ -1,3 +1 @@ VIA_ENABLE = yes -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -RGB_MATRIX_ENABLE = no diff --git a/keyboards/dekunukem/duckypad/rules.mk b/keyboards/dekunukem/duckypad/rules.mk index d9bd708a95f..6e7633bfe01 100644 --- a/keyboards/dekunukem/duckypad/rules.mk +++ b/keyboards/dekunukem/duckypad/rules.mk @@ -1,17 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output - -RGB_MATRIX_ENABLE = yes - -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 +# This file intentionally left blank diff --git a/keyboards/delikeeb/flatbread60/config.h b/keyboards/delikeeb/flatbread60/config.h index 545ce1fadb0..ce8ba5fef44 100644 --- a/keyboards/delikeeb/flatbread60/config.h +++ b/keyboards/delikeeb/flatbread60/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 19 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/delikeeb/flatbread60/info.json b/keyboards/delikeeb/flatbread60/info.json index e43a3458ea2..aea248d2481 100644 --- a/keyboards/delikeeb/flatbread60/info.json +++ b/keyboards/delikeeb/flatbread60/info.json @@ -8,6 +8,12 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 19, + "sleep": true + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/delikeeb/vaguettelite/config.h b/keyboards/delikeeb/vaguettelite/config.h index b2c1315f3ad..e063678b4f8 100644 --- a/keyboards/delikeeb/vaguettelite/config.h +++ b/keyboards/delikeeb/vaguettelite/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 9 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/delikeeb/vaguettelite/info.json b/keyboards/delikeeb/vaguettelite/info.json index b6ddb96725a..c1c065bb07b 100644 --- a/keyboards/delikeeb/vaguettelite/info.json +++ b/keyboards/delikeeb/vaguettelite/info.json @@ -19,6 +19,12 @@ {"pin_a": "F1", "pin_b": "F0"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 9, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/delikeeb/vanana/rev1/config.h b/keyboards/delikeeb/vanana/rev1/config.h index 984a14d94fd..eee7ef04b44 100644 --- a/keyboards/delikeeb/vanana/rev1/config.h +++ b/keyboards/delikeeb/vanana/rev1/config.h @@ -19,11 +19,6 @@ along with this program. If not, see . #define B7_AUDIO -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ //# define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/delikeeb/vanana/rev1/info.json b/keyboards/delikeeb/vanana/rev1/info.json index 4a7d4c77180..daf11e6efbd 100644 --- a/keyboards/delikeeb/vanana/rev1/info.json +++ b/keyboards/delikeeb/vanana/rev1/info.json @@ -3,6 +3,12 @@ "usb": { "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/delikeeb/vanana/rev2/config.h b/keyboards/delikeeb/vanana/rev2/config.h index 984a14d94fd..eee7ef04b44 100644 --- a/keyboards/delikeeb/vanana/rev2/config.h +++ b/keyboards/delikeeb/vanana/rev2/config.h @@ -19,11 +19,6 @@ along with this program. If not, see . #define B7_AUDIO -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ //# define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/delikeeb/vanana/rev2/info.json b/keyboards/delikeeb/vanana/rev2/info.json index e8ff47d8552..587dbaeddfd 100644 --- a/keyboards/delikeeb/vanana/rev2/info.json +++ b/keyboards/delikeeb/vanana/rev2/info.json @@ -3,6 +3,12 @@ "usb": { "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/delikeeb/waaffle/rev3/config.h b/keyboards/delikeeb/waaffle/rev3/config.h index 36ef7a27bf3..c4b1222c024 100644 --- a/keyboards/delikeeb/waaffle/rev3/config.h +++ b/keyboards/delikeeb/waaffle/rev3/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 10 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/delikeeb/waaffle/rev3/info.json b/keyboards/delikeeb/waaffle/rev3/info.json index b251334154a..4e7c48ba000 100644 --- a/keyboards/delikeeb/waaffle/rev3/info.json +++ b/keyboards/delikeeb/waaffle/rev3/info.json @@ -8,6 +8,12 @@ "pid": "0x0012", "device_version": "0.0.3" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/deltasplit75/v2/config.h b/keyboards/deltasplit75/v2/config.h index 4d2439ad3c1..9b7700e0139 100644 --- a/keyboards/deltasplit75/v2/config.h +++ b/keyboards/deltasplit75/v2/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 12 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/deltasplit75/v2/info.json b/keyboards/deltasplit75/v2/info.json index 857fa12e9a9..d583f3bb65b 100644 --- a/keyboards/deltasplit75/v2/info.json +++ b/keyboards/deltasplit75/v2/info.json @@ -15,6 +15,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/demiurge/config.h b/keyboards/demiurge/config.h index 2d3108fae32..bd58363c4bc 100755 --- a/keyboards/demiurge/config.h +++ b/keyboards/demiurge/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 21 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/demiurge/info.json b/keyboards/demiurge/info.json index 88c93813190..f7554aad547 100644 --- a/keyboards/demiurge/info.json +++ b/keyboards/demiurge/info.json @@ -17,6 +17,7 @@ "pin": "F1" }, "rgblight": { + "led_count": 21, "max_brightness": 153 }, "processor": "atmega32u4", diff --git a/keyboards/deng/thirty/rules.mk b/keyboards/deng/thirty/rules.mk index e8ce9e854be..d1753c1e6c4 100644 --- a/keyboards/deng/thirty/rules.mk +++ b/keyboards/deng/thirty/rules.mk @@ -1,5 +1,3 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/densus/alveus/mx/info.json b/keyboards/densus/alveus/mx/info.json new file mode 100644 index 00000000000..839c84fb453 --- /dev/null +++ b/keyboards/densus/alveus/mx/info.json @@ -0,0 +1,355 @@ +{ + "keyboard_name": "Alveus", + "manufacturer": "Mechlovin Studio", + "url": "", + "usb": { + "vid": "0xDE00", + "pid": "0x0F70", + "device_version": "0.0.1" + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "rows": ["B12", "B13", "B14", "A8", "A2"], + "cols": ["B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A15", "B9", "B8", "B7", "B6", "B5", "B4", "B3"] + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": true, + "command": true, + "nkro": true + }, + "indicators": { + "caps_lock": "A1", + "on_state": 0 + }, + "processor": "STM32F103", + "bootloader": "stm32duino", + "layout_aliases": { + "LAYOUT_tkl_nofrow_ansi": "LAYOUT_ansi", + "LAYOUT_tkl_nofrow_iso": "LAYOUT_iso", + "LAYOUT_tkl_nofrow_tsangan": "LAYOUT_tsangan" + }, + "layouts": { + "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": [2, 14], "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, "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, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.25, "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": [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, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 16.25, "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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_ansi": { + "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, 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, "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, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.25, "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": [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": 2.75}, + {"matrix": [3, 15], "x": 16.25, "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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_iso": { + "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, 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, "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": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.25, "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": [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": 2.75}, + {"matrix": [3, 15], "x": 16.25, "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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_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}, + {"matrix": [2, 14], "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, "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, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.25, "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": [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, 15], "x": 16.25, "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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + } + } +} diff --git a/keyboards/densus/alveus/mx/keymaps/default/keymap.c b/keyboards/densus/alveus/mx/keymaps/default/keymap.c new file mode 100644 index 00000000000..c785b42a7df --- /dev/null +++ b/keyboards/densus/alveus/mx/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +/* 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_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_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/keyboards/densus/alveus/mx/keymaps/via/keymap.c b/keyboards/densus/alveus/mx/keymaps/via/keymap.c new file mode 100644 index 00000000000..9106258c027 --- /dev/null +++ b/keyboards/densus/alveus/mx/keymaps/via/keymap.c @@ -0,0 +1,27 @@ +/* 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_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_HASH, 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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; + diff --git a/keyboards/densus/alveus/mx/keymaps/via/rules.mk b/keyboards/densus/alveus/mx/keymaps/via/rules.mk new file mode 100644 index 00000000000..43061db1dd4 --- /dev/null +++ b/keyboards/densus/alveus/mx/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/densus/alveus/mx/readme.md b/keyboards/densus/alveus/mx/readme.md new file mode 100644 index 00000000000..3a90c9b0f33 --- /dev/null +++ b/keyboards/densus/alveus/mx/readme.md @@ -0,0 +1,26 @@ +# Alveus + +![Alveus PCB](https://i.imgur.com/tZKcLiMh.png) + +A MX PCB for Alveus FRL keyboard. + +* Keyboard Maintainer: [Mechlovin' Studio](https://mechlovin.studio/) +* Hardware Supported: Alveus, APM32F103 +* Hardware Availability: [Densus](https://www.instagram.com/densusdesign/) + +Make example for this keyboard (after setting up your build environment): + + make densus/alveus/mx:default + +Flashing example for this keyboard: + + make densus/alveus/mx: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). + +Enter the bootloader in 4 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 +* **Bootloader reset**: Hold down the key at (0,13) in the matrix (Backspace) and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Hardware reset**: Press reset button (located on the bottom side of the PCB) \ No newline at end of file diff --git a/keyboards/densus/alveus/mx/rules.mk b/keyboards/densus/alveus/mx/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/densus/alveus/mx/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/dinofizz/fnrow/v1/rules.mk b/keyboards/dinofizz/fnrow/v1/rules.mk index 2f7ef9fbe89..a1e56ea4862 100644 --- a/keyboards/dinofizz/fnrow/v1/rules.mk +++ b/keyboards/dinofizz/fnrow/v1/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/dm9records/ergoinu/config.h b/keyboards/dm9records/ergoinu/config.h index 7ca2b8cded0..d1c1201a548 100644 --- a/keyboards/dm9records/ergoinu/config.h +++ b/keyboards/dm9records/ergoinu/config.h @@ -24,8 +24,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#define RGBLED_NUM 7 - #ifndef IOS_DEVICE_ENABLE #if RGBLED_NUM <= 7 #define RGBLIGHT_LIMIT_VAL 255 @@ -36,9 +34,6 @@ along with this program. If not, see . #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 - #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 500 #else diff --git a/keyboards/dm9records/ergoinu/info.json b/keyboards/dm9records/ergoinu/info.json index 1813baa2410..4f3b03b6f9e 100644 --- a/keyboards/dm9records/ergoinu/info.json +++ b/keyboards/dm9records/ergoinu/info.json @@ -16,6 +16,10 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "hue_steps": 10, + "led_count": 7 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/dmqdesign/spin/config.h b/keyboards/dmqdesign/spin/config.h index 2a1bafaacf7..cc43876148b 100644 --- a/keyboards/dmqdesign/spin/config.h +++ b/keyboards/dmqdesign/spin/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once -//Number of RGB LEDs -#define RGBLED_NUM 3 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/dmqdesign/spin/info.json b/keyboards/dmqdesign/spin/info.json index 52fc9f40ea2..aeeb19299e2 100644 --- a/keyboards/dmqdesign/spin/info.json +++ b/keyboards/dmqdesign/spin/info.json @@ -20,6 +20,9 @@ {"pin_a": "D6", "pin_b": "D4"} ] }, + "rgblight": { + "led_count": 3 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/aplyard/aplx6/rev2/config.h b/keyboards/dnworks/frltkl/config.h similarity index 82% rename from keyboards/aplyard/aplx6/rev2/config.h rename to keyboards/dnworks/frltkl/config.h index 2724ccf1171..77970ce4d34 100644 --- a/keyboards/aplyard/aplx6/rev2/config.h +++ b/keyboards/dnworks/frltkl/config.h @@ -1,11 +1,10 @@ /* -Copyright 2020 April Aplyard +Copyright 2023 zeix (@itsme-zeix) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -17,6 +16,5 @@ along with this program. If not, see . #pragma once -#define TAPPING_TERM 200 - -#define TAP_CODE_DELAY 50 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/dnworks/frltkl/info.json b/keyboards/dnworks/frltkl/info.json new file mode 100644 index 00000000000..dda394649b2 --- /dev/null +++ b/keyboards/dnworks/frltkl/info.json @@ -0,0 +1,113 @@ +{ + "keyboard_name": "DN FRLTKL", + "maintainer": "itsme-zeix", + "manufacturer": "dnworks", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "vid": "0x4C23", + "pid": "0x2935", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true + }, + "indicators": { + "caps_lock": "GP27", + "on_state": 1 + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "rows": ["GP4","GP3","GP2","GP1","GP29","GP28","GP19","GP20","GP10","GP11"], + "cols": ["GP26","GP25","GP24","GP23","GP22","GP21","GP6","GP5","GP0"] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [1, 0], "x": 0, "y": 0 }, + { "matrix": [0, 0], "x": 1, "y": 0 }, + { "matrix": [1, 1], "x": 2, "y": 0 }, + { "matrix": [0, 1], "x": 3, "y": 0 }, + { "matrix": [1, 2], "x": 4, "y": 0 }, + { "matrix": [0, 2], "x": 5, "y": 0 }, + { "matrix": [1, 3], "x": 6, "y": 0 }, + { "matrix": [0, 3], "x": 7, "y": 0 }, + { "matrix": [1, 4], "x": 8, "y": 0 }, + { "matrix": [0, 4], "x": 9, "y": 0 }, + { "matrix": [1, 5], "x": 10, "y": 0 }, + { "matrix": [0, 5], "x": 11, "y": 0 }, + { "matrix": [1, 6], "x": 12, "y": 0 }, + { "matrix": [0, 6], "x": 13, "y": 0 }, + { "matrix": [1, 7], "x": 14, "y": 0 }, + { "matrix": [0, 7], "x": 15.25, "y": 0 }, + { "matrix": [1, 8], "x": 16.25, "y": 0 }, + { "matrix": [0, 8], "x": 17.25, "y": 0 }, + + { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 1 }, + { "matrix": [3, 0], "x": 1.5, "y": 1 }, + { "matrix": [2, 1], "x": 2.5, "y": 1 }, + { "matrix": [3, 1], "x": 3.5, "y": 1 }, + { "matrix": [2, 2], "x": 4.5, "y": 1 }, + { "matrix": [3, 2], "x": 5.5, "y": 1 }, + { "matrix": [2, 3], "x": 6.5, "y": 1 }, + { "matrix": [3, 3], "x": 7.5, "y": 1 }, + { "matrix": [2, 4], "x": 8.5, "y": 1 }, + { "matrix": [3, 4], "x": 9.5, "y": 1 }, + { "matrix": [2, 5], "x": 10.5, "y": 1 }, + { "matrix": [3, 5], "x": 11.5, "y": 1 }, + { "matrix": [2, 6], "x": 12.5, "y": 1 }, + { "matrix": [3, 7], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 7], "x": 15.25, "y": 1 }, + { "matrix": [3, 8], "x": 16.25, "y": 1 }, + { "matrix": [2, 8], "x": 17.25, "y": 1 }, + + { "matrix": [4, 0], "w": 1.75, "x": 0, "y": 2 }, + { "matrix": [5, 0], "x": 1.75, "y": 2 }, + { "matrix": [4, 1], "x": 2.75, "y": 2 }, + { "matrix": [5, 1], "x": 3.75, "y": 2 }, + { "matrix": [4, 2], "x": 4.75, "y": 2 }, + { "matrix": [5, 2], "x": 5.75, "y": 2 }, + { "matrix": [4, 3], "x": 6.75, "y": 2 }, + { "matrix": [5, 3], "x": 7.75, "y": 2 }, + { "matrix": [4, 4], "x": 8.75, "y": 2 }, + { "matrix": [5, 4], "x": 9.75, "y": 2 }, + { "matrix": [4, 5], "x": 10.75, "y": 2 }, + { "matrix": [5, 5], "x": 11.75, "y": 2 }, + { "matrix": [4, 6], "w": 2.25, "x": 12.75, "y": 2 }, + + { "matrix": [6, 0], "w": 1.25, "x": 0, "y": 3 }, + { "matrix": [7, 0], "x": 1.25, "y": 3 }, + { "matrix": [6, 1], "x": 2.25, "y": 3 }, + { "matrix": [7, 1], "x": 3.25, "y": 3 }, + { "matrix": [6, 2], "x": 4.25, "y": 3 }, + { "matrix": [7, 2], "x": 5.25, "y": 3 }, + { "matrix": [6, 3], "x": 6.25, "y": 3 }, + { "matrix": [7, 3], "x": 7.25, "y": 3 }, + { "matrix": [6, 4], "x": 8.25, "y": 3 }, + { "matrix": [7, 4], "x": 9.25, "y": 3 }, + { "matrix": [6, 5], "x": 10.25, "y": 3 }, + { "matrix": [7, 5], "x": 11.25, "y": 3 }, + { "matrix": [6, 6], "w": 1.75, "x": 12.25, "y": 3 }, + + { "matrix": [7, 7], "x": 14, "y": 3 }, + { "matrix": [6, 8], "x": 16.25, "y": 3 }, + { "matrix": [8, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [9, 0], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [8, 1], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [9, 3], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [8, 5], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [9, 5], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [8, 6], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [9, 7], "w": 1.25, "x": 13.75, "y": 4 }, + { "matrix": [8, 7], "x": 15.25, "y": 4 }, + { "matrix": [9, 8], "x": 16.25, "y": 4 }, + { "matrix": [8, 8], "x": 17.25, "y": 4 } + ] + } + } +} diff --git a/keyboards/dnworks/frltkl/keymaps/default/keymap.c b/keyboards/dnworks/frltkl/keymaps/default/keymap.c new file mode 100644 index 00000000000..295066696d4 --- /dev/null +++ b/keyboards/dnworks/frltkl/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* +Copyright 2023 zeix (@itsme-zeix) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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_BSLS, 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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), + +[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_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), +}; diff --git a/keyboards/dnworks/frltkl/keymaps/via/keymap.c b/keyboards/dnworks/frltkl/keymaps/via/keymap.c new file mode 100644 index 00000000000..295066696d4 --- /dev/null +++ b/keyboards/dnworks/frltkl/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +/* +Copyright 2023 zeix (@itsme-zeix) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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_BSLS, 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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), + +[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_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), +}; diff --git a/keyboards/dnworks/frltkl/keymaps/via/rules.mk b/keyboards/dnworks/frltkl/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/dnworks/frltkl/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dnworks/frltkl/readme.md b/keyboards/dnworks/frltkl/readme.md new file mode 100644 index 00000000000..cc9946284a7 --- /dev/null +++ b/keyboards/dnworks/frltkl/readme.md @@ -0,0 +1,25 @@ +# FRLTKL + +PCB that supports FRLTKLs designed by dnworks, such as DNDD and HITC. + +* Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix) +* Hardware Supported: DNDD Solder PCB rev1 & HITC Solder PCB rev1 +* Hardware Availability: [dnworks.co](https://dnworks.co/) + +Make example for this keyboard (after setting up your build environment): + + make dnworks/frltkl:default + +Flashing example for this keyboard: + + make dnworks/frltkl: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 `RESET` button twice or short the `USB_BOOT` and `GND` pads and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/dnworks/frltkl/rules.mk b/keyboards/dnworks/frltkl/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/dnworks/frltkl/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/dnworks/sbl/info.json b/keyboards/dnworks/sbl/info.json index cf9f4a2dfdc..81461ead4d5 100644 --- a/keyboards/dnworks/sbl/info.json +++ b/keyboards/dnworks/sbl/info.json @@ -1,6 +1,6 @@ { "keyboard_name": "SBL", - "maintainer": "zeix", + "maintainer": "itsme-zeix", "manufacturer": "dnworks", "processor": "RP2040", "bootloader": "rp2040", @@ -26,76 +26,921 @@ "rows": ["GP6","GP5","GP4","GP0","GP12"], "cols": ["GP28","GP27","GP26","GP25","GP24","GP23","GP22","GP3","GP2","GP1","GP8","GP9","GP10","GP11","GP7"] }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], "layouts": { - "LAYOUT": { + "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": [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, 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": [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, 13], "x": 14, "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": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi": { + "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, 14], "x": 13, "y": 0, "w": 2}, + + {"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, 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": [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": 2.75}, + + {"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": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "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, 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, 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": [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": [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": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_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, 14], "x": 13, "y": 0, "w": 2}, + + {"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, 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": [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": 2.75}, + + {"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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "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, 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, 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": [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": [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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "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, 14], "x": 13, "y": 0, "w": 2}, + + {"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, 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": [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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "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, 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, 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": [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": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso": { + "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, 14], "x": 13, "y": 0, "w": 2}, + + {"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": [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": 1, "w": 1.25, "h": 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": 2.75}, + + {"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": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "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, 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": [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": 1, "w": 1.25, "h": 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, 13], "x": 14, "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": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_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, 14], "x": 13, "y": 0, "w": 2}, + + {"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": [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": 1, "w": 1.25, "h": 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": 2.75}, + + {"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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "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, 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": [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": 1, "w": 1.25, "h": 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, 13], "x": 14, "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": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl": { + "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, 14], "x": 13, "y": 0, "w": 2}, + + {"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": [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": 1, "w": 1.25, "h": 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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_bs_rshift": { "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, 0], "w": 1.5, "x": 0, "y": 1 }, - { "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], "w": 1.5, "x": 13.5, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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": 16, "y": 2 }, - { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, - { "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], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - { "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, - { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, - { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, - { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, - { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + {"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, 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": [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": 1, "w": 1.25, "h": 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, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} ] } - } } diff --git a/keyboards/dnworks/sbl/keymaps/default/keymap.c b/keyboards/dnworks/sbl/keymaps/default/keymap.c index 91c381d8327..f9b8bc13f48 100644 --- a/keyboards/dnworks/sbl/keymaps/default/keymap.c +++ b/keyboards/dnworks/sbl/keymaps/default/keymap.c @@ -17,14 +17,14 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( +[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_NONUS_HASH, 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, MO(1), KC_RCTL), -[1] = LAYOUT( +[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_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, diff --git a/keyboards/dnworks/sbl/keymaps/via/keymap.c b/keyboards/dnworks/sbl/keymaps/via/keymap.c index 91c381d8327..f9b8bc13f48 100644 --- a/keyboards/dnworks/sbl/keymaps/via/keymap.c +++ b/keyboards/dnworks/sbl/keymaps/via/keymap.c @@ -17,14 +17,14 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( +[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_NONUS_HASH, 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, MO(1), KC_RCTL), -[1] = LAYOUT( +[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_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, diff --git a/keyboards/dnworks/sbl/matrix_diagram.md b/keyboards/dnworks/sbl/matrix_diagram.md new file mode 100644 index 00000000000..a3993e18d0b --- /dev/null +++ b/keyboards/dnworks/sbl/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for dnworks SBL + +``` + ┌───────┐ + 2u Backspace │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 │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ +│40 │41 │42 │46 │4A │4B │4C │4D │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + ┌───┬─────┬───────────────────────┬─────┬───┐ + │41 │42 │46 │4A │4B │ True HHKB + └───┴─────┴───────────────────────┴─────┴───┘ +``` diff --git a/keyboards/do60/config.h b/keyboards/do60/config.h index 21160e0a8da..16b0a506b7c 100644 --- a/keyboards/do60/config.h +++ b/keyboards/do60/config.h @@ -29,14 +29,8 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 15 -#define RGBLIGHT_VAL_STEP 15 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define TAPPING_TERM 200 diff --git a/keyboards/do60/info.json b/keyboards/do60/info.json index 9267a981412..2b2b4aaa3bb 100644 --- a/keyboards/do60/info.json +++ b/keyboards/do60/info.json @@ -21,6 +21,12 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 15, + "brightness_steps": 15, + "led_count": 20 + }, "ws2812": { "pin": "F5" }, diff --git a/keyboards/doio/kb30/info.json b/keyboards/doio/kb30/info.json index 3f3fa1c3327..71a300b9cd8 100644 --- a/keyboards/doio/kb30/info.json +++ b/keyboards/doio/kb30/info.json @@ -2,7 +2,7 @@ "keyboard_name": "KB30-01", "manufacturer": "DOIO", "url": "", - "maintainer": "Alice", + "maintainer": "DOIO2022", "usb": { "vid": "0xD010", "pid": "0x3001", @@ -49,33 +49,31 @@ {"matrix": [1, 5], "x": 5.25, "y": 1}, {"matrix": [1, 6], "x": 6.25, "y": 1}, - {"matrix": [2, 0], "x": 8.25, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 1], "x": 0, "y": 2}, - {"matrix": [2, 2], "x": 1, "y": 2}, - {"matrix": [2, 3], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, - {"matrix": [2, 4], "x": 4.25, "y": 2}, - {"matrix": [2, 5], "x": 5.25, "y": 2}, - {"matrix": [3, 0], "x": 6.25, "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, "h": 2}, - {"matrix": [3, 1], "x": 11, "y": 2}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, - {"matrix": [3, 2], "x": 0, "y": 3}, - {"matrix": [3, 3], "x": 1, "y": 3}, - {"matrix": [3, 5], "x": 2, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2}, + {"matrix": [4, 1], "x": 2, "y": 4}, - {"matrix": [4, 0], "x": 4.25, "y": 3, "h": 2}, - {"matrix": [4, 1], "x": 5.25, "y": 3}, + {"matrix": [4, 2], "x": 4.25, "y": 4}, + {"matrix": [4, 3], "x": 5.25, "y": 4}, + {"matrix": [4, 4], "x": 6.25, "y": 4}, - {"matrix": [4, 2], "x": 9, "y": 4}, - - {"matrix": [4, 3], "x": 0, "y": 4, "w": 2}, - {"matrix": [4, 4], "x": 2, "y": 4}, - - {"matrix": [5, 4], "x": 4.25, "y": 4}, - {"matrix": [5, 5], "x": 5.25, "y": 4}, - {"matrix": [5, 6], "x": 6.25, "y": 4} + {"matrix": [5, 4], "x": 7.75, "y": 1}, + {"matrix": [5, 5], "x": 9.75, "y": 1}, + {"matrix": [5, 6], "x": 7.75, "y": 2, "w": 3, "h": 3} ] } } diff --git a/keyboards/doio/kb30/keymaps/default/keymap.c b/keyboards/doio/kb30/keymaps/default/keymap.c index fb06acfd803..2e385d24e30 100644 --- a/keyboards/doio/kb30/keymaps/default/keymap.c +++ b/keyboards/doio/kb30/keymaps/default/keymap.c @@ -15,65 +15,47 @@ * along with this program. If not, see . */ - #include QMK_KEYBOARD_H - enum layer_names { -_LAY0, -_LAY1, -_LAY2, -_LAY3 + _LAY0, + _LAY1, + _LAY2, + _LAY3 }; - - - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAY0] = LAYOUT( - KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PSCR, KC_SCRL, KC_PAUSE, - KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, - KC_P4, KC_P5, KC_P6, KC_DEL, KC_END, KC_PGDN, - KC_P1, KC_P2, KC_P3, LT(3,KC_PENT), KC_UP, - KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, - KC_MPLY, TO(1), KC_TRNS), + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PSCR, KC_SCRL, KC_PAUS, + KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, + KC_P4, KC_P5, KC_P6, KC_DEL, KC_END, KC_PGDN, + KC_P1, KC_P2, KC_P3, LT(3,KC_PENT), KC_UP, + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, + KC_MPLY, TO(1), KC_TRNS), [_LAY1] = 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, TO(2), KC_TRNS), [_LAY2] = 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, TO(3), KC_TRNS), [_LAY3] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_SPI, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_SPD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, - KC_TRNS, KC_TRNS, RGB_VAD, RGB_TOG, RGB_VAI, - KC_TRNS, TO(0), KC_TRNS) + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_SPI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_SPD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, + KC_TRNS, KC_TRNS, RGB_VAD, RGB_TOG, RGB_VAI, + KC_TRNS, TO(0), KC_TRNS) }; - - - - - - - - - - - - #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_LAY0] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, diff --git a/keyboards/doio/kb30/keymaps/via/keymap.c b/keyboards/doio/kb30/keymaps/via/keymap.c index 2890fe604a1..2e385d24e30 100644 --- a/keyboards/doio/kb30/keymaps/via/keymap.c +++ b/keyboards/doio/kb30/keymaps/via/keymap.c @@ -15,54 +15,47 @@ * along with this program. If not, see . */ - #include QMK_KEYBOARD_H - enum layer_names { -_LAY0, -_LAY1, -_LAY2, -_LAY3 + _LAY0, + _LAY1, + _LAY2, + _LAY3 }; - - - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAY0] = LAYOUT( - KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PSCR, KC_SCRL, KC_PAUSE, - KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, - KC_P4, KC_P5, KC_P6, KC_DEL, KC_END, KC_PGDN, - KC_P1, KC_P2, KC_P3, LT(3,KC_PENT), KC_UP, - KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, - KC_MPLY, TO(1), KC_TRNS), + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PSCR, KC_SCRL, KC_PAUS, + KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, + KC_P4, KC_P5, KC_P6, KC_DEL, KC_END, KC_PGDN, + KC_P1, KC_P2, KC_P3, LT(3,KC_PENT), KC_UP, + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, + KC_MPLY, TO(1), KC_TRNS), [_LAY1] = 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, TO(2), KC_TRNS), [_LAY2] = 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, TO(3), KC_TRNS), [_LAY3] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_SPI, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_SPD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, - KC_TRNS, KC_TRNS, RGB_VAD, RGB_TOG, RGB_VAI, - KC_TRNS, TO(0), KC_TRNS) + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_SPI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_SPD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, + KC_TRNS, KC_TRNS, RGB_VAD, RGB_TOG, RGB_VAI, + KC_TRNS, TO(0), KC_TRNS) }; - #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_LAY0] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, diff --git a/keyboards/doio/kb30/readme.md b/keyboards/doio/kb30/readme.md new file mode 100644 index 00000000000..9e66c8993fa --- /dev/null +++ b/keyboards/doio/kb30/readme.md @@ -0,0 +1,27 @@ +# Megalodon DOIO 30% Designer Keyboard + +![Megalodon DOIO 30% Designer Keyboard](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/doio/kb30/KB30-01-_0000_778b3a43-228a-433d-94ae-9129f20b2ede_1024xc.jpg) + +A hotswappable 30-key macropad with 3 rotary encoders (2 are clickable), an OLED screen, and RGB lighting. + +* Keyboard Maintainer: [DOIO2022](https://github.com/DOIO2022) +* Hardware Supported: Megalodon DOIO 30% Designer Keyboard with STM32F103 +* Hardware Availability: [KeebMonkey](https://www.keebmonkey.com/products/megalodon-doio-30-designer-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make doio/kb30:default + +## Accessing Bootloader Mode and Flashing + +To access Bootloader Mode, do one of the following: + +* **Bootmagic reset**: Hold the top left key of the keyboard while connecting the USB cable. +* **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. + +Flashing example for this keyboard: + + make doio/kb30: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/doio/kb30/rules.mk b/keyboards/doio/kb30/rules.mk index b12899890e4..a6ad4b74cae 100644 --- a/keyboards/doio/kb30/rules.mk +++ b/keyboards/doio/kb30/rules.mk @@ -15,5 +15,3 @@ OLED_ENABLE = yes OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/doio/kb38/info.json b/keyboards/doio/kb38/info.json index 3f97ac6842a..0601ba881ca 100644 --- a/keyboards/doio/kb38/info.json +++ b/keyboards/doio/kb38/info.json @@ -94,51 +94,51 @@ "LAYOUT": { "layout": [ {"matrix": [0, 0], "label": "ESC", "x": 0, "y": 0}, - {"matrix": [0, 1], "label": "BSPC", "x": 1, "y": 0}, - {"matrix": [0, 2], "label": "RGB BACK", "x": 2, "y": 0}, - {"matrix": [0, 3], "label": "RGB OFF", "x": 3, "y": 0}, - {"matrix": [0, 4], "label": "RGB FORW", "x": 4, "y": 0}, - {"matrix": [0, 5], "label": "MAKE", "x": 5, "y": 0}, - {"matrix": [0, 6], "label": "REBOOT", "x": 6, "y": 0}, - {"matrix": [0, 7], "label": "BOOTLOAD", "x": 7, "y": 0}, + {"matrix": [0, 1], "label": "BSPC", "x": 2, "y": 0, "w": 2}, + {"matrix": [0, 2], "label": "RGB BACK", "x": 4.25, "y": 0}, + {"matrix": [0, 3], "label": "RGB OFF", "x": 5.25, "y": 0}, + {"matrix": [0, 4], "label": "RGB FORW", "x": 6.25, "y": 0}, + {"matrix": [0, 5], "label": "MAKE", "x": 7.5, "y": 0}, + {"matrix": [0, 6], "label": "REBOOT", "x": 8.5, "y": 0}, + {"matrix": [0, 7], "label": "BOOTLOAD", "x": 9.5, "y": 0}, - {"matrix": [1, 0], "label": "NUMLOCK", "x": 0, "y": 1}, - {"matrix": [1, 1], "label": "PSLS", "x": 1, "y": 1}, - {"matrix": [1, 2], "label": "PAST", "x": 2, "y": 1}, - {"matrix": [1, 3], "label": "PMNS", "x": 3, "y": 1}, - {"matrix": [1, 4], "label": "PAUS", "x": 3, "y": 1}, - {"matrix": [1, 5], "label": "SCRL", "x": 3, "y": 1}, - {"matrix": [1, 6], "label": "PSCR", "x": 3, "y": 1}, + {"matrix": [1, 0], "label": "NUMLOCK", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "PSLS", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "PAST", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "PMNS", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "PAUS", "x": 4.25, "y": 1.25}, + {"matrix": [1, 5], "label": "SCRL", "x": 5.25, "y": 1.25}, + {"matrix": [1, 6], "label": "PSCR", "x": 6.25, "y": 1.25}, - {"matrix": [2, 0], "label": "7", "x": 0, "y": 2}, - {"matrix": [2, 1], "label": "8", "x": 1, "y": 2}, - {"matrix": [2, 2], "label": "9", "x": 2, "y": 2}, - {"matrix": [2, 3], "label": "PPLS", "x": 3, "y": 2}, - {"matrix": [2, 4], "label": "INS", "x": 3, "y": 2}, - {"matrix": [2, 5], "label": "HOME", "x": 3, "y": 2}, - {"matrix": [2, 6], "label": "PGUP", "x": 3, "y": 2}, + {"matrix": [2, 0], "label": "7", "x": 0, "y": 2.25}, + {"matrix": [2, 1], "label": "8", "x": 1, "y": 2.25}, + {"matrix": [2, 2], "label": "9", "x": 2, "y": 2.25}, + {"matrix": [2, 3], "label": "PPLS", "x": 3, "y": 2.25, "h": 2}, + {"matrix": [2, 4], "label": "INS", "x": 4.25, "y": 2.25}, + {"matrix": [2, 5], "label": "HOME", "x": 5.25, "y": 2.25}, + {"matrix": [2, 6], "label": "PGUP", "x": 6.25, "y": 2.25}, - {"matrix": [3, 0], "label": "4", "x": 0, "y": 3}, - {"matrix": [3, 1], "label": "5", "x": 1, "y": 3}, - {"matrix": [3, 2], "label": "6", "x": 2, "y": 3}, - {"matrix": [3, 3], "label": "END", "x": 3, "y": 3}, - {"matrix": [3, 4], "label": "DEL", "x": 3, "y": 3}, - {"matrix": [3, 5], "label": "PGDN", "x": 3, "y": 3}, + {"matrix": [3, 0], "label": "4", "x": 0, "y": 3.25}, + {"matrix": [3, 1], "label": "5", "x": 1, "y": 3.25}, + {"matrix": [3, 2], "label": "6", "x": 2, "y": 3.25}, + {"matrix": [3, 3], "label": "END", "x": 4.25, "y": 3.25}, + {"matrix": [3, 4], "label": "DEL", "x": 5.25, "y": 3.25}, + {"matrix": [3, 5], "label": "PGDN", "x": 6.25, "y": 3.25}, - {"matrix": [4, 0], "label": "1", "x": 0, "y": 4}, - {"matrix": [4, 1], "label": "2", "x": 1, "y": 4}, - {"matrix": [4, 2], "label": "3", "x": 2, "y": 4}, - {"matrix": [4, 3], "label": "PENT", "x": 3, "y": 4}, - {"matrix": [4, 5], "label": "UP", "x": 3, "y": 4}, + {"matrix": [4, 0], "label": "1", "x": 0, "y": 4.25}, + {"matrix": [4, 1], "label": "2", "x": 1, "y": 4.25}, + {"matrix": [4, 2], "label": "3", "x": 2, "y": 4.25}, + {"matrix": [4, 3], "label": "PENT", "x": 3, "y": 4.25, "h": 2}, + {"matrix": [4, 5], "label": "UP", "x": 5.25, "y": 4.25}, - {"matrix": [5, 0], "label": "0", "x": 0, "y": 5}, - {"matrix": [5, 1], "label": "PDOT", "x": 1, "y": 5}, - {"matrix": [5, 2], "label": "LEFT", "x": 2, "y": 5}, - {"matrix": [5, 3], "label": "DOWN", "x": 3, "y": 5}, - {"matrix": [5, 4], "label": "RIGHT", "x": 4, "y": 5}, - {"matrix": [5, 5], "label": "KNOB_L", "x": 3, "y": 5}, - {"matrix": [5, 6], "label": "KNOB_R", "x": 3, "y": 5}, - {"matrix": [5, 7], "label": "KNOB_D", "x": 3, "y": 5} + {"matrix": [5, 0], "label": "0", "x": 0, "y": 5.25, "w": 2}, + {"matrix": [5, 1], "label": "PDOT", "x": 2, "y": 5.25}, + {"matrix": [5, 2], "label": "LEFT", "x": 4.25, "y": 5.25}, + {"matrix": [5, 3], "label": "DOWN", "x": 5.25, "y": 5.25}, + {"matrix": [5, 4], "label": "RIGHT", "x": 6.25, "y": 5.25}, + {"matrix": [5, 5], "label": "KNOB_L", "x": 7.5, "y": 2.25}, + {"matrix": [5, 6], "label": "KNOB_R", "x": 9.5, "y": 2.25}, + {"matrix": [5, 7], "label": "KNOB_D", "x": 7.5, "y": 3.25, "w": 3, "h": 3} ] } } diff --git a/keyboards/doio/kb38/keymaps/default/keymap.c b/keyboards/doio/kb38/keymaps/default/keymap.c index 2496fef0831..b2fd7d2273d 100644 --- a/keyboards/doio/kb38/keymaps/default/keymap.c +++ b/keyboards/doio/kb38/keymaps/default/keymap.c @@ -27,35 +27,35 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───┘ └───────┘└───┴───┴───┘└───┴───┴───┘ * ┌───┬───┬───┬───┐┌───┬───┬───┐ * │NUM│ / │ * │ - ││PAS│SCR│PSC│ - * ├───┼───┼───┼───┤├───┼───┼───│ + * ├───┼───┼───┼───┤├───┼───┼───┤ * │ 7 │ 8 │ 9 │ ││INS│HOM│PGU│ - * ├───┼───┼───│ + │├───┼───┼───│ + * ├───┼───┼───┤ + │├───┼───┼───┤ * │ 4 │ 5 │ 6 │ ││END│DEL│PGD│ * ├───┼───┼───┼───┤└───┼───┼───┘ - * │ 1 │ 2 │ 3 │ E │ │UP │ - * ├───┼───┼───│ N │┌───┼───┼───┐┌───┬───┬───┐ + * │ 1 │ 2 │ 3 │ E │ │UP │ + * ├───┴───┼───┤ N │┌───┼───┼───┐┌───┬───┬───┐ * │ 0 │DEL│ T ││LFT│DWN│RHT││ O │ O │ O │ - * └───┴───┴───┴───┘└───┴───┴───┘└───┴───┴───┘ + * └───────┴───┴───┘└───┴───┴───┘└───┴───┴───┘ */ [_QWERTY] = LAYOUT( - MO(1), KC_BSPC, RGB_RMOD, RGB_TOG, RGB_MOD, KC_F1, KC_F2, KC_F3, - KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PAUS, KC_SCRL, KC_PSCR, - KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, - KC_P4, KC_P5, KC_P6, KC_END, KC_DEL, KC_PGDN, - KC_P1, KC_P2, KC_P3, KC_PENT, KC_UP, - KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, KC_B + MO(1), KC_BSPC, RGB_RMOD, RGB_TOG, RGB_MOD, KC_F1, KC_F2, KC_F3, + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PAUS, KC_SCRL, KC_PSCR, + KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, + KC_P4, KC_P5, KC_P6, KC_END, KC_DEL, KC_PGDN, + KC_P1, KC_P2, KC_P3, KC_PENT, KC_UP, + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, KC_B ), [_LAYERTWO] = LAYOUT( - _______, KC_BSPC, RGB_RMOD, RGB_TOG, RGB_MOD, KC_A, QK_REBOOT, QK_BOOTLOADER, - KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PAUS, KC_SCRL, KC_PSCR, - KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, - KC_P4, KC_P5, KC_P6, KC_END, KC_DEL, KC_PGDN, - KC_P1, KC_P2, KC_P3, KC_PENT, KC_UP, - KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, KC_B + _______, KC_BSPC, RGB_RMOD, RGB_TOG, RGB_MOD, KC_A, QK_RBT, QK_BOOT, + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PAUS, KC_SCRL, KC_PSCR, + KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, + KC_P4, KC_P5, KC_P6, KC_END, KC_DEL, KC_PGDN, + KC_P1, KC_P2, KC_P3, KC_PENT, KC_UP, + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, KC_B ) }; /*NOTE FOR PERSON MODIFYING KEYMAP The large knob press is mapped as KC_B, despite it not having one. I'm not quite sure why, but the only reason it can't be clicked is because the potentiometer is different. -If you were to replace it with one that can be clicked, it would work. I shorted it and it does work.*/ \ No newline at end of file +If you were to replace it with one that can be clicked, it would work. I shorted it and it does work.*/ diff --git a/keyboards/doio/kb38/readme.md b/keyboards/doio/kb38/readme.md index fef8a33f8f1..7456316f159 100644 --- a/keyboards/doio/kb38/readme.md +++ b/keyboards/doio/kb38/readme.md @@ -1,5 +1,7 @@ # doio/kb38 +![Megalodon DOIO Triple Knob 38%](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/doio/kb38/2022-06-2917-52-00_A_R8_S4_1024xc.jpg) + QMK for Megalodon DOIO Triple Knob 38% with OLED Screen. * Keyboard Maintainer: [Katrina](https://github.com/PepperKats) diff --git a/keyboards/donutcables/budget96/config.h b/keyboards/donutcables/budget96/config.h index 398b0be3c84..ace3594f483 100644 --- a/keyboards/donutcables/budget96/config.h +++ b/keyboards/donutcables/budget96/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 18 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/donutcables/budget96/info.json b/keyboards/donutcables/budget96/info.json index 98c878d12fc..263174c8bac 100644 --- a/keyboards/donutcables/budget96/info.json +++ b/keyboards/donutcables/budget96/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/doodboard/duckboard/info.json b/keyboards/doodboard/duckboard/info.json index 367a9b7d72c..3d457701121 100644 --- a/keyboards/doodboard/duckboard/info.json +++ b/keyboards/doodboard/duckboard/info.json @@ -18,6 +18,12 @@ {"pin_a": "F5", "pin_b": "F6", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 20 + }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/doodboard/duckboard_r2/info.json b/keyboards/doodboard/duckboard_r2/info.json index 00d0fc64521..4c47e9a70ea 100644 --- a/keyboards/doodboard/duckboard_r2/info.json +++ b/keyboards/doodboard/duckboard_r2/info.json @@ -18,6 +18,12 @@ {"pin_a": "F6", "pin_b": "F5", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 20 + }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/doppelganger/config.h b/keyboards/doppelganger/config.h index b61d8905839..a18b4847465 100644 --- a/keyboards/doppelganger/config.h +++ b/keyboards/doppelganger/config.h @@ -21,9 +21,6 @@ along with this program. If not, see . // #define USE_I2C -#define RGBLED_NUM 2 -#define RGBLIGHT_SPLIT - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/doppelganger/info.json b/keyboards/doppelganger/info.json index 49c3ac1bfac..ea53bfb9156 100644 --- a/keyboards/doppelganger/info.json +++ b/keyboards/doppelganger/info.json @@ -23,6 +23,7 @@ } }, "rgblight": { + "led_count": 2, "split_count": [1, 1] }, "ws2812": { diff --git a/keyboards/doro67/rgb/config.h b/keyboards/doro67/rgb/config.h index cca3e4d26fb..e18a2313807 100644 --- a/keyboards/doro67/rgb/config.h +++ b/keyboards/doro67/rgb/config.h @@ -70,8 +70,6 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#define RGBLED_NUM 67 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/dotmod/dymium65/info.json b/keyboards/dotmod/dymium65/info.json index 5149dd897fc..83e2951baa9 100644 --- a/keyboards/dotmod/dymium65/info.json +++ b/keyboards/dotmod/dymium65/info.json @@ -77,10 +77,10 @@ {"matrix": [1, 10], "x": 10, "y": 0}, {"matrix": [1, 11], "x": 11, "y": 0}, {"matrix": [1, 12], "x": 12, "y": 0}, - {"matrix": [1, 13], "w": 2, "x": 13, "y": 0}, - {"matrix": [4, 15], "x": 16, "y": 0}, + {"matrix": [1, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [4, 15], "x": 15.25, "y": 0}, - {"matrix": [2, 0], "w": 1.5, "x": 0, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [2, 1], "x": 1.5, "y": 1}, {"matrix": [2, 2], "x": 2.5, "y": 1}, {"matrix": [2, 3], "x": 3.5, "y": 1}, @@ -93,10 +93,10 @@ {"matrix": [2, 10], "x": 10.5, "y": 1}, {"matrix": [2, 11], "x": 11.5, "y": 1}, {"matrix": [2, 12], "x": 12.5, "y": 1}, - {"matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 1}, - {"matrix": [3, 14], "x": 16, "y": 1}, + {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 14], "x": 15.25, "y": 1.25}, - {"matrix": [3, 0], "w": 1.75, "x": 0, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [3, 1], "x": 1.75, "y": 2}, {"matrix": [3, 2], "x": 2.75, "y": 2}, {"matrix": [3, 3], "x": 3.75, "y": 2}, @@ -108,10 +108,10 @@ {"matrix": [3, 9], "x": 9.75, "y": 2}, {"matrix": [3, 10], "x": 10.75, "y": 2}, {"matrix": [3, 11], "x": 11.75, "y": 2}, - {"matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 2}, - {"matrix": [3, 15], "x": 16, "y": 2}, + {"matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 15], "x": 15.25, "y": 2.25}, - {"matrix": [4, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [4, 2], "x": 2.25, "y": 3}, {"matrix": [4, 3], "x": 3.25, "y": 3}, {"matrix": [4, 4], "x": 4.25, "y": 3}, @@ -122,19 +122,19 @@ {"matrix": [4, 9], "x": 9.25, "y": 3}, {"matrix": [4, 10], "x": 10.25, "y": 3}, {"matrix": [4, 11], "x": 11.25, "y": 3}, - {"matrix": [4, 13], "w": 1.75, "x": 12.25, "y": 3}, - {"matrix": [4, 14], "x": 15.25, "y": 3}, + {"matrix": [4, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [4, 14], "x": 14.25, "y": 3.25}, - {"matrix": [5, 0], "w": 1.25, "x": 0, "y": 4}, - {"matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 4}, - {"matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 4}, - {"matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 4}, + {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 4, "w": 6.25}, {"matrix": [5, 9], "x": 10, "y": 4}, {"matrix": [5, 10], "x": 11, "y": 4}, {"matrix": [5, 12], "x": 12, "y": 4}, - {"matrix": [5, 13], "x": 14.25, "y": 4}, - {"matrix": [5, 14], "x": 15.25, "y": 4}, - {"matrix": [5, 15], "x": 16.25, "y": 4} + {"matrix": [5, 13], "x": 13.25, "y": 4.25}, + {"matrix": [5, 14], "x": 14.25, "y": 4.25}, + {"matrix": [5, 15], "x": 15.25, "y": 4.25} ] } } diff --git a/keyboards/dp3000/config.h b/keyboards/dp3000/config.h new file mode 100644 index 00000000000..26e9f037f58 --- /dev/null +++ b/keyboards/dp3000/config.h @@ -0,0 +1,25 @@ +/* + * Copyright 2023 deddia permana (@depermana12) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General 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 RGB_MATRIX_LED_COUNT 8 +#define RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYRELEASES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/dp3000/dp3000.c b/keyboards/dp3000/dp3000.c new file mode 100644 index 00000000000..3d99670fe36 --- /dev/null +++ b/keyboards/dp3000/dp3000.c @@ -0,0 +1,34 @@ +/* Copyright 2023 deddia permana (@depermana12) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public 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" + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + oled_write_P(PSTR("LAYER: "), false); + oled_write_char('0' + get_highest_layer(layer_state), false); + + led_t led_state = host_keyboard_led_state(); + oled_set_cursor(0, 1); + oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_set_cursor(0, 2); + oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_set_cursor(0, 3); + oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + + return false; +} diff --git a/keyboards/dp3000/info.json b/keyboards/dp3000/info.json new file mode 100644 index 00000000000..c7348c81a89 --- /dev/null +++ b/keyboards/dp3000/info.json @@ -0,0 +1,98 @@ +{ + "manufacturer": "depermana12", + "keyboard_name": "dp3000", + "maintainer": "depermana12", + "diode_direction": "COL2ROW", + "development_board": "promicro", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "encoder": true, + "rgb_matrix": true, + "oled": true, + "mousekey": false, + "nkro": false + }, + "build": { + "lto": true + }, + "url": "https://github.com/depermana12", + "usb": { + "device_version": "1.0.1", + "vid": "0x4450", + "pid": "0x6470" + }, + "encoder": { + "rotary": [ + { "pin_a": "B2", "pin_b": "B1"}, + { "pin_a": "F4", "pin_b": "F5"} + ] + }, + "ws2812": { + "pin": "B5" + }, + "rgb_matrix":{ + "driver":"WS2812", + "max_brightness": 180, + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron":true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_multinexus": true, + "splash": true, + "solid_splash": true + }, + "layout":[ + { "matrix": [1, 0], "x": 0, "y": 32, "flags":4 }, + { "matrix": [1, 1], "x": 25, "y": 32, "flags":4 }, + { "matrix": [1, 2], "x": 37, "y": 32, "flags":4 }, + { "matrix": [1, 3], "x": 75, "y": 32, "flags":4 }, + { "matrix": [2, 0], "x": 75, "y": 16, "flags":4 }, + { "matrix": [2, 1], "x": 37, "y": 16, "flags":4 }, + { "matrix": [2, 2], "x": 25, "y": 16, "flags":4 }, + { "matrix": [2, 3], "x": 0, "y": 16, "flags":4 } + ] + }, + "matrix_pins": { + "cols": ["D4", "D7", "B4", "C6"], + "rows": ["F6", "F7", "B3"] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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 } + ] + } + } +} diff --git a/keyboards/dp3000/keymaps/default/keymap.c b/keyboards/dp3000/keymaps/default/keymap.c new file mode 100644 index 00000000000..6d3561edbc5 --- /dev/null +++ b/keyboards/dp3000/keymaps/default/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2023 deddia permana (@depermana12) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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] = { + /* + * ┌─────────┐ ┌─────────┐ + * │ mute │ │ MO(1) │ + * ├─────────┼─────────┬─────────┼─────────┤ + * │ 1 │ 2 │ 3 │ 4 │ + * ├─────────┼─────────┼─────────┼─────────┤ + * │ 5 │ 6 │ 7 │ 8 │ + * └─────────┴─────────┴─────────┴─────────┘ + */ + [0] = LAYOUT( + KC_MUTE, MO(1), + KC_1, KC_2, KC_3, KC_4, + KC_5, KC_6, KC_7, KC_8 + ), + [1] = LAYOUT( + QK_BOOT, _______, + KC_1, KC_2, KC_3, KC_4, + TO(0), TO(2), TO(3), RGB_TOG + ), + [2] = LAYOUT( + _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + [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), ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, + [1] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT)}, +}; +#endif diff --git a/keyboards/dp3000/keymaps/default/rules.mk b/keyboards/dp3000/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/dp3000/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/dp3000/keymaps/via/keymap.c b/keyboards/dp3000/keymaps/via/keymap.c new file mode 100644 index 00000000000..6d3561edbc5 --- /dev/null +++ b/keyboards/dp3000/keymaps/via/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2023 deddia permana (@depermana12) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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] = { + /* + * ┌─────────┐ ┌─────────┐ + * │ mute │ │ MO(1) │ + * ├─────────┼─────────┬─────────┼─────────┤ + * │ 1 │ 2 │ 3 │ 4 │ + * ├─────────┼─────────┼─────────┼─────────┤ + * │ 5 │ 6 │ 7 │ 8 │ + * └─────────┴─────────┴─────────┴─────────┘ + */ + [0] = LAYOUT( + KC_MUTE, MO(1), + KC_1, KC_2, KC_3, KC_4, + KC_5, KC_6, KC_7, KC_8 + ), + [1] = LAYOUT( + QK_BOOT, _______, + KC_1, KC_2, KC_3, KC_4, + TO(0), TO(2), TO(3), RGB_TOG + ), + [2] = LAYOUT( + _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + [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), ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, + [1] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT)}, +}; +#endif diff --git a/keyboards/dp3000/keymaps/via/rules.mk b/keyboards/dp3000/keymaps/via/rules.mk new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/dp3000/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/dp3000/readme.md b/keyboards/dp3000/readme.md new file mode 100644 index 00000000000..3844a66757d --- /dev/null +++ b/keyboards/dp3000/readme.md @@ -0,0 +1,27 @@ +# DP3000 + +![dp3000 macropad](https://i.imgur.com/uBHS8EYh.jpg) + +dp3000 is a simple yet elegant macropad, 2x4 (8 keys), dual encoder, embedded with an Atmel 32u4 chip, powered by QMK. + +* Keyboard Maintainer: [Deddia Permana](https://github.com/depermana12) +* Hardware Supported: DP3000 PCB, ATmega32u4 +* Hardware Availability: [tokopedia.com/gundamtricks](https://www.tokopedia.com/gundamtricks) + +Make example for this keyboard (after setting up your build environment): + + make dp3000:default + +Flashing example for this keyboard: + + make dp3000: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 reset button twice, located in front of the first rotary encoder (left rotary encoder) +* Keycode in layout: Press the key mapped to QK_BOOT if it is available diff --git a/keyboards/dp3000/rules.mk b/keyboards/dp3000/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/dp3000/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/dp60/config.h b/keyboards/dp60/config.h index b1518cb5fb2..7ccd630c746 100644 --- a/keyboards/dp60/config.h +++ b/keyboards/dp60/config.h @@ -33,7 +33,6 @@ //#define NO_PRINT //rgb light setting -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -44,9 +43,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 //rgb matrix setting #define DRIVER_ADDR_1 0b1110100 diff --git a/keyboards/dp60/info.json b/keyboards/dp60/info.json index 625ca2a2385..4433544708b 100644 --- a/keyboards/dp60/info.json +++ b/keyboards/dp60/info.json @@ -8,6 +8,11 @@ "pid": "0x00BE", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "D7" }, diff --git a/keyboards/draculad/config.h b/keyboards/draculad/config.h index a9f78283d0c..233c7b35ec6 100644 --- a/keyboards/draculad/config.h +++ b/keyboards/draculad/config.h @@ -26,12 +26,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_BREATHING -#define RGBLED_NUM 10 -#define RGBLIGHT_SPLIT -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP #define EE_HANDS diff --git a/keyboards/draculad/info.json b/keyboards/draculad/info.json index 57250d57efe..3c2b022be63 100644 --- a/keyboards/draculad/info.json +++ b/keyboards/draculad/info.json @@ -8,6 +8,13 @@ "pid": "0x1B1E", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true, + "split": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/draytronics/daisy/config.h b/keyboards/draytronics/daisy/config.h index 7b129153937..398395b40ae 100644 --- a/keyboards/draytronics/daisy/config.h +++ b/keyboards/draytronics/daisy/config.h @@ -18,8 +18,6 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -39,11 +37,6 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //Underglow - #define RGBLED_NUM 4 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/draytronics/daisy/info.json b/keyboards/draytronics/daisy/info.json index ae0579b6678..ad5244159e7 100644 --- a/keyboards/draytronics/daisy/info.json +++ b/keyboards/draytronics/daisy/info.json @@ -19,6 +19,15 @@ {"pin_a": "D0", "pin_b": "D1"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/draytronics/elise/config.h b/keyboards/draytronics/elise/config.h index 9d350995526..717fe910e84 100644 --- a/keyboards/draytronics/elise/config.h +++ b/keyboards/draytronics/elise/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE // ws2812 options - #define RGBLED_NUM 7 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/draytronics/elise/info.json b/keyboards/draytronics/elise/info.json index 81be5cffd7c..4da4c88e117 100644 --- a/keyboards/draytronics/elise/info.json +++ b/keyboards/draytronics/elise/info.json @@ -13,6 +13,12 @@ "rows": ["B2", "B3", "B1", "F0", "F1"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "sleep": true + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/draytronics/elise_v2/config.h b/keyboards/draytronics/elise_v2/config.h index fdbdb23ce42..717fe910e84 100644 --- a/keyboards/draytronics/elise_v2/config.h +++ b/keyboards/draytronics/elise_v2/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE // ws2812 options - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/draytronics/elise_v2/info.json b/keyboards/draytronics/elise_v2/info.json index faef95cbee0..eefce17778c 100644 --- a/keyboards/draytronics/elise_v2/info.json +++ b/keyboards/draytronics/elise_v2/info.json @@ -8,6 +8,12 @@ "pid": "0x454C", "device_version": "2.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/drop/thekey/v2/config.h b/keyboards/drop/thekey/v2/config.h deleted file mode 100644 index ca6944c2c9a..00000000000 --- a/keyboards/drop/thekey/v2/config.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2023 Massdrop, Inc. -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define RGBLIGHT_LED_MAP {4, 0, 1, 2, 3} diff --git a/keyboards/drop/thekey/v2/info.json b/keyboards/drop/thekey/v2/info.json index 7870599fe18..ced9901bea0 100644 --- a/keyboards/drop/thekey/v2/info.json +++ b/keyboards/drop/thekey/v2/info.json @@ -25,6 +25,7 @@ "diode_direction": "ROW2COL", "rgblight": { "led_count": 5, + "led_map": [4, 0, 1, 2, 3], "sleep": true, "animations": { "alternating": true, diff --git a/keyboards/duck/eagle_viper/v2/config.h b/keyboards/duck/eagle_viper/v2/config.h index e39099ef56f..68f0ffa60fd 100644 --- a/keyboards/duck/eagle_viper/v2/config.h +++ b/keyboards/duck/eagle_viper/v2/config.h @@ -34,6 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 17 - -#define TAPPING_TERM 200 diff --git a/keyboards/duck/eagle_viper/v2/info.json b/keyboards/duck/eagle_viper/v2/info.json index 4d6019ddba0..0352ab47603 100644 --- a/keyboards/duck/eagle_viper/v2/info.json +++ b/keyboards/duck/eagle_viper/v2/info.json @@ -12,6 +12,9 @@ "bootmagic": { "matrix": [4, 10] }, + "rgblight": { + "led_count": 17 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/jetfire/config.h b/keyboards/duck/jetfire/config.h index 95459e67b1a..426f673b05f 100644 --- a/keyboards/duck/jetfire/config.h +++ b/keyboards/duck/jetfire/config.h @@ -35,7 +35,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 23 /* * Feature disable options diff --git a/keyboards/duck/jetfire/info.json b/keyboards/duck/jetfire/info.json index 287ab0ac4ab..8c0a02dd7b4 100644 --- a/keyboards/duck/jetfire/info.json +++ b/keyboards/duck/jetfire/info.json @@ -15,6 +15,9 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 23 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/lightsaver/config.h b/keyboards/duck/lightsaver/config.h index cb5a419f566..07a54c3ca87 100644 --- a/keyboards/duck/lightsaver/config.h +++ b/keyboards/duck/lightsaver/config.h @@ -34,6 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 17 - -#define TAPPING_TERM 200 diff --git a/keyboards/duck/lightsaver/info.json b/keyboards/duck/lightsaver/info.json index 296820d7caf..6c77c26bf06 100644 --- a/keyboards/duck/lightsaver/info.json +++ b/keyboards/duck/lightsaver/info.json @@ -15,6 +15,9 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 17 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/octagon/v1/config.h b/keyboards/duck/octagon/v1/config.h index 9b557edaba3..f0e8b748f09 100644 --- a/keyboards/duck/octagon/v1/config.h +++ b/keyboards/duck/octagon/v1/config.h @@ -34,6 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 17 - -#define TAPPING_TERM 200 diff --git a/keyboards/duck/octagon/v1/info.json b/keyboards/duck/octagon/v1/info.json index 8186ce878ef..2f07bbcb6d9 100644 --- a/keyboards/duck/octagon/v1/info.json +++ b/keyboards/duck/octagon/v1/info.json @@ -15,6 +15,9 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 17 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/octagon/v1/v1.c b/keyboards/duck/octagon/v1/v1.c index dc3b7fc7286..35aea54456f 100644 --- a/keyboards/duck/octagon/v1/v1.c +++ b/keyboards/duck/octagon/v1/v1.c @@ -43,8 +43,8 @@ void backlight_set(uint8_t level) { bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if(res) { - backlight_os_state & (1<. #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 17 - -#define TAPPING_TERM 200 diff --git a/keyboards/duck/octagon/v2/info.json b/keyboards/duck/octagon/v2/info.json index f3bd30fbe57..53c8c629a65 100644 --- a/keyboards/duck/octagon/v2/info.json +++ b/keyboards/duck/octagon/v2/info.json @@ -15,6 +15,9 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 17 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/octagon/v2/v2.c b/keyboards/duck/octagon/v2/v2.c index 612df9aa3e2..7a3ad76027f 100644 --- a/keyboards/duck/octagon/v2/v2.c +++ b/keyboards/duck/octagon/v2/v2.c @@ -101,17 +101,17 @@ bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if(res) { bool status[7] = { - backlight_os_state & (1<. #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 18 - -#define TAPPING_TERM 200 diff --git a/keyboards/duck/orion/v3/info.json b/keyboards/duck/orion/v3/info.json index eff1e5f88cf..d7de16e7c94 100644 --- a/keyboards/duck/orion/v3/info.json +++ b/keyboards/duck/orion/v3/info.json @@ -16,6 +16,9 @@ "bootmagic": { "matrix": [4, 10] }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/tcv3/config.h b/keyboards/duck/tcv3/config.h index 13f2d761398..ed75effe400 100644 --- a/keyboards/duck/tcv3/config.h +++ b/keyboards/duck/tcv3/config.h @@ -34,4 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 17 diff --git a/keyboards/duck/tcv3/info.json b/keyboards/duck/tcv3/info.json index 69f1033d222..6b4a6505963 100644 --- a/keyboards/duck/tcv3/info.json +++ b/keyboards/duck/tcv3/info.json @@ -11,6 +11,9 @@ "bootmagic": { "matrix": [5, 10] }, + "rgblight": { + "led_count": 17 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/duck/tcv3/tcv3.c b/keyboards/duck/tcv3/tcv3.c index ab89e180c0f..87b22443e47 100644 --- a/keyboards/duck/tcv3/tcv3.c +++ b/keyboards/duck/tcv3/tcv3.c @@ -24,69 +24,6 @@ enum BACKLIGHT_AREAS { BACKLIGHT_SWITCH = 0b0001111 }; -// uint8_t backlight_rgb_r = 255; -// uint8_t backlight_rgb_g = 0; -// uint8_t backlight_rgb_b = 0; -// uint8_t backlight_os_state = 0; -// uint32_t backlight_layer_state = 0; - -// void backlight_toggle_rgb(bool enabled) -// { -// if(enabled) { -// uint8_t rgb[17][3] = { -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b}, -// {backlight_rgb_r, backlight_rgb_g, backlight_rgb_b} -// }; -// backlight_set_rgb(rgb); -// } else { -// uint8_t rgb[17][3] = { -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0}, -// {0, 0, 0} -// }; -// backlight_set_rgb(rgb); -// } -// } - -// void backlight_set_rgb(uint8_t cfg[17][3]) -// { -// cli(); -// for(uint8_t i = 0; i < 17; ++i) { -// send_color(cfg[i][0], cfg[i][1], cfg[i][2], Device_PCBRGB); -// } -// sei(); -// show(); -// } - // Q5, Q6, Q7 is connected to B1 - alphas // Q8, Q9 is connected to B2 - frow // Q1, Q2, Q3 is connected to B3 - mods @@ -99,26 +36,6 @@ void backlight_set(uint8_t level) { level & BACKLIGHT_MACRO ? (PORTE |= 0b01000000) : (PORTE &= ~0b01000000); } -// // Port from backlight_update_state -// bool led_update_kb(led_t led_state) { -// bool res = led_update_user(led_state); -// if(res) { -// bool status[7] = { -// backlight_os_state & (1<. -*/ -#pragma once - -/* Reduce tapdance required taps from 5 to 2 */ -#define TAPPING_TOGGLE 2 diff --git a/keyboards/dumbpad/v3x/config.h b/keyboards/dumbpad/v3x/config.h index 1944244c3bd..7667bb39d06 100644 --- a/keyboards/dumbpad/v3x/config.h +++ b/keyboards/dumbpad/v3x/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . // Cleanup RGB #ifdef RGB_MATRIX_ENABLE -#define RGB_MATRIX_TIMEOUT 300000 // 5 minutes (5 * 60 * 1000ms) #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain diff --git a/keyboards/dumbpad/v3x/info.json b/keyboards/dumbpad/v3x/info.json index 5be344c17b0..463fa5ec9c9 100644 --- a/keyboards/dumbpad/v3x/info.json +++ b/keyboards/dumbpad/v3x/info.json @@ -6,7 +6,8 @@ "device_version": "0.1.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "timeout": 300000 }, "matrix_pins": { "cols": ["C6", "D7", "E6", "B4", "B5"], diff --git a/keyboards/dyz/dyz40/config.h b/keyboards/dyz/dyz40/config.h index 87e057133dc..7e7ca8b6949 100644 --- a/keyboards/dyz/dyz40/config.h +++ b/keyboards/dyz/dyz40/config.h @@ -17,6 +17,4 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 // Need this delay for some keys like VOLD/VOLU to work - #define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/dyz/dyz40/info.json b/keyboards/dyz/dyz40/info.json index bb54647fedc..fdd14a7c428 100644 --- a/keyboards/dyz/dyz40/info.json +++ b/keyboards/dyz/dyz40/info.json @@ -13,6 +13,9 @@ {"pin_a": "D1", "pin_b": "D0"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "rgblight": { "led_count": 13, "hue_steps": 10, diff --git a/keyboards/dyz/dyz60/config.h b/keyboards/dyz/dyz60/config.h index 87e057133dc..7e7ca8b6949 100644 --- a/keyboards/dyz/dyz60/config.h +++ b/keyboards/dyz/dyz60/config.h @@ -17,6 +17,4 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 // Need this delay for some keys like VOLD/VOLU to work - #define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/dyz/dyz60/info.json b/keyboards/dyz/dyz60/info.json index 05e0a2dae71..28300d79143 100644 --- a/keyboards/dyz/dyz60/info.json +++ b/keyboards/dyz/dyz60/info.json @@ -39,6 +39,9 @@ {"pin_a": "D0", "pin_b": "D1"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "indicators": { "caps_lock": "F1" }, diff --git a/keyboards/dyz/dyz60_hs/config.h b/keyboards/dyz/dyz60_hs/config.h index 4dd98dcbdfe..7e7ca8b6949 100644 --- a/keyboards/dyz/dyz60_hs/config.h +++ b/keyboards/dyz/dyz60_hs/config.h @@ -17,5 +17,4 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 // Need this delay for some keys like VOLD/VOLU to work #define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/dyz/dyz60_hs/info.json b/keyboards/dyz/dyz60_hs/info.json index c23b0dca6a5..598f236980b 100644 --- a/keyboards/dyz/dyz60_hs/info.json +++ b/keyboards/dyz/dyz60_hs/info.json @@ -37,6 +37,9 @@ "pid": "0x001A", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_tsangan_hhkb", "60_iso", "60_iso_split_bs_rshift"], diff --git a/keyboards/dyz/dyz_tkl/config.h b/keyboards/dyz/dyz_tkl/config.h index 87e057133dc..7e7ca8b6949 100644 --- a/keyboards/dyz/dyz_tkl/config.h +++ b/keyboards/dyz/dyz_tkl/config.h @@ -17,6 +17,4 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 // Need this delay for some keys like VOLD/VOLU to work - #define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/dyz/dyz_tkl/info.json b/keyboards/dyz/dyz_tkl/info.json index c44e9b585cd..298611a742f 100644 --- a/keyboards/dyz/dyz_tkl/info.json +++ b/keyboards/dyz/dyz_tkl/info.json @@ -34,6 +34,9 @@ "indicators": { "caps_lock": "D2" }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["tkl_f13_ansi", "tkl_f13_iso"], diff --git a/keyboards/dyz/selka40/config.h b/keyboards/dyz/selka40/config.h index 87e057133dc..7e7ca8b6949 100644 --- a/keyboards/dyz/selka40/config.h +++ b/keyboards/dyz/selka40/config.h @@ -17,6 +17,4 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 // Need this delay for some keys like VOLD/VOLU to work - #define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/dyz/selka40/info.json b/keyboards/dyz/selka40/info.json index 8fe32e5071c..95ac00a8831 100644 --- a/keyboards/dyz/selka40/info.json +++ b/keyboards/dyz/selka40/info.json @@ -39,6 +39,9 @@ {"pin_a": "D6", "pin_b": "D7"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "indicators": { "caps_lock": "B1", "num_lock": "B3", diff --git a/keyboards/dz60/config.h b/keyboards/dz60/config.h index 98673bdef01..f6a95047ff0 100644 --- a/keyboards/dz60/config.h +++ b/keyboards/dz60/config.h @@ -10,11 +10,6 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/dz60/info.json b/keyboards/dz60/info.json index 4c5fb59d2e6..6d35b3255e1 100644 --- a/keyboards/dz60/info.json +++ b/keyboards/dz60/info.json @@ -21,6 +21,12 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/dz60/keymaps/muzfuz/keymap.c b/keyboards/dz60/keymaps/muzfuz/keymap.c index 36b843d4598..1a71b9bb868 100644 --- a/keyboards/dz60/keymaps/muzfuz/keymap.c +++ b/keyboards/dz60/keymaps/muzfuz/keymap.c @@ -25,38 +25,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { DDRB |= (1 << 2); PORTB &= ~(1 << 2); } else { DDRB &= ~(1 << 2); PORTB &= ~(1 << 2); } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - + return false; } bool process_record_user(uint16_t keycode, keyrecord_t *record) diff --git a/keyboards/dztech/bocc/config.h b/keyboards/dztech/bocc/config.h index ba8626e95c8..e9e3ebcb755 100644 --- a/keyboards/dztech/bocc/config.h +++ b/keyboards/dztech/bocc/config.h @@ -25,11 +25,6 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/dztech/bocc/info.json b/keyboards/dztech/bocc/info.json index 525ec939477..8d333c90635 100644 --- a/keyboards/dztech/bocc/info.json +++ b/keyboards/dztech/bocc/info.json @@ -17,6 +17,12 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/dztech/duo_s/config.h b/keyboards/dztech/duo_s/config.h index 4685510d8b9..2926c301934 100644 --- a/keyboards/dztech/duo_s/config.h +++ b/keyboards/dztech/duo_s/config.h @@ -28,11 +28,6 @@ #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6) #define RGBLIGHT_DEFAULT_SPD 15 -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/dztech/duo_s/info.json b/keyboards/dztech/duo_s/info.json index 3d806edf412..b1d5bd45b55 100644 --- a/keyboards/dztech/duo_s/info.json +++ b/keyboards/dztech/duo_s/info.json @@ -8,6 +8,13 @@ "pid": "0x1012", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c index 8d58eed10ec..e446178b62b 100644 --- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c @@ -25,7 +25,6 @@ enum dz60rgb_keycodes { #define _V_V_V_ KC_TRNS #define LT_CAPS LT(_NAV, KC_CAPS) #define LT_DEL LT(_RGB, KC_DEL) -extern bool autoshift_enabled; #define MT_SLSH RSFT_T(KC_SLSH) #define MT_APP RALT_T(KC_APP) #define LM_LALT LM(_FNM, MOD_LALT) @@ -92,12 +91,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; bool rgb_matrix_indicators_user(void) { - uint8_t this_led = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); if (!g_suspend_state && rgb_matrix_config.enable) { switch (get_highest_layer(layer_state)) { case _NAV: - if (this_led & (1 << USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { rgb_matrix_set_color(13, 0xFF, 0x00, 0x00); rgb_matrix_set_color(19, 0xFF, 0xFF, 0x00); } else { @@ -204,17 +203,11 @@ bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(41, 0xFF, 0x00, 0x40); // ctrl+delete rgb_matrix_set_color(43, 0xFF, 0x00, 0x40); // ctrl+slash - if (this_led & (1 << !autoshift_enabled)) { - rgb_matrix_set_color(0, 0xFF, 0x00, 0x00); // AS_TOGG - } else { - rgb_matrix_set_color(0, 0xFF, 0xFF, 0x00); - } - break; } } - if (this_led & (1 << USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } return false; diff --git a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c index 4dca4d2396b..52b7643850e 100644 --- a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c @@ -58,7 +58,7 @@ void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { } bool rgb_matrix_indicators_user(void) { - uint8_t this_led = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); if (!g_suspend_state && rgb_matrix_config.enable) { switch (get_highest_layer(layer_state)) { @@ -73,13 +73,13 @@ bool rgb_matrix_indicators_user(void) { } } - if (this_led & (1 << USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } switch (get_highest_layer(layer_state)) { case _LAYER3: - if (this_led & (1 << USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { rgb_matrix_set_color(13, 0xFF, 0x00, 0x00); } else { rgb_matrix_set_color(13, 0x00, 0x00, 0x00); @@ -152,22 +152,3 @@ bool rgb_matrix_indicators_user(void) { } return false; } - - - - - -void matrix_init_user(void) -{ - //user initialization -} - -void matrix_scan_user(void) -{ - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t* record) -{ - return true; -} diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c index 7f3b24de74e..e5f5083ee5f 100644 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c +++ b/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c @@ -85,7 +85,7 @@ void highlight_layer3(void){ } bool rgb_matrix_indicators_user(void) { - uint8_t this_led = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); if (!g_suspend_state) { switch (get_highest_layer(layer_state)) { case 3: @@ -94,7 +94,7 @@ bool rgb_matrix_indicators_user(void) { break; } } - if ( this_led & (1< + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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_NUHS, 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_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/keyboards/dztech/pluto/keymaps/via/keymap.c b/keyboards/dztech/pluto/keymaps/via/keymap.c new file mode 100644 index 00000000000..9edd2f178f0 --- /dev/null +++ b/keyboards/dztech/pluto/keymaps/via/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2023 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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_NUHS, 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_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/keyboards/dztech/pluto/keymaps/via/rules.mk b/keyboards/dztech/pluto/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/dztech/pluto/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dztech/pluto/readme.md b/keyboards/dztech/pluto/readme.md new file mode 100644 index 00000000000..e4db0deb39f --- /dev/null +++ b/keyboards/dztech/pluto/readme.md @@ -0,0 +1,30 @@ +# PLUTO + +![PLUTO](https://i.imgur.com/BWVvKMO.jpg) + +The main purpose of this board is to introduce more people to the best layout. +This board was originally designed to be O-ring gasket mount only, Top mount was added to make the board whole. +Sticking with a mimal design, the engraving of planets was replaced with the Logo surrounding with pluto moons and planets. +Pluto now also features an accent Piece with an engraving of Pluto Symbol below the nav cluster. + +* Keyboard Maintainer: [DZTECH](https://github.com/moyi4681) +* Hardware Supported: DZTECH +* Hardware Availability: KBDFANS + +Make example for this keyboard (after setting up your build environment): + + make dztech/pluto:default + +Flashing example for this keyboard: + + make dztech/pluto: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/dztech/pluto/rules.mk b/keyboards/dztech/pluto/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/dztech/pluto/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/ealdin/quadrant/config.h b/keyboards/ealdin/quadrant/config.h index f5d4e037d9f..73073023ab2 100644 --- a/keyboards/ealdin/quadrant/config.h +++ b/keyboards/ealdin/quadrant/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 7 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ealdin/quadrant/info.json b/keyboards/ealdin/quadrant/info.json index be9249cca48..e2da03bd50b 100644 --- a/keyboards/ealdin/quadrant/info.json +++ b/keyboards/ealdin/quadrant/info.json @@ -18,6 +18,12 @@ {"pin_a": "D5", "pin_b": "F1"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/eason/aeroboard/config.h b/keyboards/eason/aeroboard/config.h index 5ba690ee955..877ce5ac96c 100644 --- a/keyboards/eason/aeroboard/config.h +++ b/keyboards/eason/aeroboard/config.h @@ -13,7 +13,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 5 diff --git a/keyboards/eason/aeroboard/info.json b/keyboards/eason/aeroboard/info.json index c7383aa160c..68707d82fa4 100644 --- a/keyboards/eason/aeroboard/info.json +++ b/keyboards/eason/aeroboard/info.json @@ -2,13 +2,16 @@ "keyboard_name": "AeroBoard", "manufacturer": "Eason", "url": "", - "maintainer": "Eason", + "maintainer": "EasonQian1", "usb": { "vid": "0x8954", "pid": "0x8870", "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" @@ -21,12 +24,96 @@ "processor": "STM32F103", "bootloader": "stm32duino", "layouts": { - "LAYOUT": { + "LAYOUT_7u_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 2], "x": 1.75, "y": 0}, + {"matrix": [0, 1], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + {"matrix": [0, 6], "x": 6.75, "y": 0}, + {"matrix": [0, 7], "x": 7.75, "y": 0}, + {"matrix": [0, 8], "x": 8.75, "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": 13.75, "y": 0}, + {"matrix": [0, 14], "x": 14.75, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + + {"matrix": [1, 2], "x": 1.75, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3.25, "y": 1}, + {"matrix": [1, 3], "x": 4.25, "y": 1}, + {"matrix": [1, 4], "x": 5.25, "y": 1}, + {"matrix": [1, 5], "x": 6.25, "y": 1}, + {"matrix": [1, 6], "x": 7.25, "y": 1}, + {"matrix": [1, 7], "x": 8.25, "y": 1}, + {"matrix": [1, 8], "x": 9.25, "y": 1}, + {"matrix": [1, 9], "x": 10.25, "y": 1}, + {"matrix": [1, 10], "x": 11.25, "y": 1}, + {"matrix": [1, 11], "x": 12.25, "y": 1}, + {"matrix": [1, 12], "x": 13.25, "y": 1}, + {"matrix": [1, 13], "x": 14.25, "y": 1}, + {"matrix": [1, 14], "x": 15.25, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + + {"matrix": [2, 1], "x": 1.75, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3.5, "y": 2}, + {"matrix": [2, 3], "x": 4.5, "y": 2}, + {"matrix": [2, 4], "x": 5.5, "y": 2}, + {"matrix": [2, 5], "x": 6.5, "y": 2}, + {"matrix": [2, 6], "x": 7.5, "y": 2}, + {"matrix": [2, 7], "x": 8.5, "y": 2}, + {"matrix": [2, 8], "x": 9.5, "y": 2}, + {"matrix": [2, 9], "x": 10.5, "y": 2}, + {"matrix": [2, 10], "x": 11.5, "y": 2}, + {"matrix": [2, 11], "x": 12.5, "y": 2}, + {"matrix": [2, 12], "x": 13.5, "y": 2}, + {"matrix": [2, 14], "x": 14.5, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + + {"matrix": [3, 1], "x": 1.75, "y": 3, "w": 2.25}, + {"matrix": [3, 3], "x": 4, "y": 3}, + {"matrix": [3, 4], "x": 5, "y": 3}, + {"matrix": [3, 5], "x": 6, "y": 3}, + {"matrix": [3, 6], "x": 7, "y": 3}, + {"matrix": [3, 7], "x": 8, "y": 3}, + {"matrix": [3, 8], "x": 9, "y": 3}, + {"matrix": [3, 9], "x": 10, "y": 3}, + {"matrix": [3, 10], "x": 11, "y": 3}, + {"matrix": [3, 11], "x": 12, "y": 3}, + {"matrix": [3, 12], "x": 13, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 15.75, "y": 3}, + {"matrix": [3, 15], "x": 16.75, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + + {"matrix": [4, 1], "x": 1.75, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 5.5, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.5}, + + {"matrix": [4, 13], "x": 14.75, "y": 4}, + {"matrix": [4, 14], "x": 15.75, "y": 4}, + {"matrix": [4, 15], "x": 16.75, "y": 4} + ] + }, + "LAYOUT_split_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.75, "y": 0}, - {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 2], "x": 1.75, "y": 0}, + {"matrix": [0, 1], "x": 2.75, "y": 0}, {"matrix": [0, 3], "x": 3.75, "y": 0}, {"matrix": [0, 4], "x": 4.75, "y": 0}, {"matrix": [0, 5], "x": 5.75, "y": 0}, @@ -43,8 +130,8 @@ {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1.75, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 3.25, "y": 1}, + {"matrix": [1, 2], "x": 1.75, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3.25, "y": 1}, {"matrix": [1, 3], "x": 4.25, "y": 1}, {"matrix": [1, 4], "x": 5.25, "y": 1}, {"matrix": [1, 5], "x": 6.25, "y": 1}, diff --git a/keyboards/eason/aeroboard/keymaps/default/keymap.c b/keyboards/eason/aeroboard/keymaps/default/keymap.c index 61f2a903641..2e6d012fba9 100644 --- a/keyboards/eason/aeroboard/keymaps/default/keymap.c +++ b/keyboards/eason/aeroboard/keymaps/default/keymap.c @@ -5,19 +5,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_1, KC_GRV, 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_MINS, KC_Q, KC_TAB, 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_PLUS, KC_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, - 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, MO(1), - KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - KC_HOME, KC_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_PSCR, - _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,QK_BOOT, KC_PAUS, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,_______, KC_VOLU, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ), + [0] = LAYOUT_split_space( + 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_MINS, KC_TAB, KC_Q, 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_PLUS, KC_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, + 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, MO(1), + KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_split_space( + KC_HOME, _______, KC_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_PSCR, + _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_PAUS, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, KC_VOLU, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), }; diff --git a/keyboards/eason/aeroboard/keymaps/via/keymap.c b/keyboards/eason/aeroboard/keymaps/via/keymap.c index 614c3daa025..0c410242ef8 100644 --- a/keyboards/eason/aeroboard/keymaps/via/keymap.c +++ b/keyboards/eason/aeroboard/keymaps/via/keymap.c @@ -5,32 +5,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_ESC, KC_1, KC_GRV, 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_MINS, KC_Q, KC_TAB, 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_PLUS, KC_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, - 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, MO(1), - KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - KC_HOME, KC_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_PSCR, - _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,QK_BOOT, KC_PAUS, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,_______, KC_VOLU, _______, - _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT - ), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______,_______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + [0] = LAYOUT_split_space( + 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_MINS, KC_TAB, KC_Q, 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_PLUS, KC_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, + 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, MO(1), + KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_split_space( + KC_HOME, _______, KC_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_PSCR, + _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, KC_PAUS, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, KC_VOLU, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + [2] = LAYOUT_split_space( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_split_space( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + }; diff --git a/keyboards/eason/aeroboard/rules.mk b/keyboards/eason/aeroboard/rules.mk index 9f38d0d71b4..f8a65f43e91 100644 --- a/keyboards/eason/aeroboard/rules.mk +++ b/keyboards/eason/aeroboard/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SLEEP_LED_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/eason/capsule65/config.h b/keyboards/eason/capsule65/config.h index cfe3e84fda0..6f3b87c58e1 100644 --- a/keyboards/eason/capsule65/config.h +++ b/keyboards/eason/capsule65/config.h @@ -26,7 +26,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/eason/capsule65/info.json b/keyboards/eason/capsule65/info.json index 6496a6be719..108732af6e4 100644 --- a/keyboards/eason/capsule65/info.json +++ b/keyboards/eason/capsule65/info.json @@ -16,6 +16,11 @@ "indicators": { "caps_lock": "F6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/eason/greatsword80/info.json b/keyboards/eason/greatsword80/info.json index d198d65f2aa..74c469f7ced 100644 --- a/keyboards/eason/greatsword80/info.json +++ b/keyboards/eason/greatsword80/info.json @@ -8,6 +8,10 @@ "pid": "0x998F", "device_version": "0.0.1" }, + "indicators": { + "caps_lock": "F0", + "on_state": 0 + }, "matrix_pins": { "cols": ["D6", "D7", "B4", "B5", "B6", "C6", "C7", "E2", "F7", "F6", "F5", "F4", "B0", "B1", "B2", "B3"], "rows": ["D0", "D1", "D2", "D3", "D5", "D4"] diff --git a/keyboards/ebastler/e80_1800/config.h b/keyboards/ebastler/e80_1800/config.h index b0726f908a7..baa70731768 100644 --- a/keyboards/ebastler/e80_1800/config.h +++ b/keyboards/ebastler/e80_1800/config.h @@ -16,8 +16,6 @@ #define BACKLIGHT_PWM_DRIVER PWMD1 #define BACKLIGHT_PWM_CHANNEL 2 -#define BACKLIGHT_PAL_MODE 2 - #ifdef OLED_ENABLE diff --git a/keyboards/ebastler/isometria_75/rev1/config.h b/keyboards/ebastler/isometria_75/rev1/config.h index 68f54a8014d..18f4f1f4d6c 100644 --- a/keyboards/ebastler/isometria_75/rev1/config.h +++ b/keyboards/ebastler/isometria_75/rev1/config.h @@ -20,22 +20,17 @@ along with this program. If not, see . /* Backlight */ #define BACKLIGHT_PWM_DRIVER PWMD1 #define BACKLIGHT_PWM_CHANNEL 2 -#define BACKLIGHT_PAL_MODE 2 #define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it. /* Underglow */ -#define RGBLED_NUM 17 #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 #define WS2812_PWM_PAL_MODE 2 #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 #define WS2812_DMA_CHANNEL 2 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define TAP_CODE_DELAY 10 - /* ADC - will be used for battery monitoring once BT support is added */ /* #define ADC_PIN B0 */ diff --git a/keyboards/ebastler/isometria_75/rev1/info.json b/keyboards/ebastler/isometria_75/rev1/info.json index 8151451a32b..4c3d6a626e0 100644 --- a/keyboards/ebastler/isometria_75/rev1/info.json +++ b/keyboards/ebastler/isometria_75/rev1/info.json @@ -8,6 +8,10 @@ "pid": "0x1337", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 17, + "sleep": true + }, "ws2812": { "pin": "B3", "driver": "pwm" @@ -22,6 +26,9 @@ {"pin_a": "C15", "pin_b": "C14", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "backlight": { "pin": "A9", "levels": 5, diff --git a/keyboards/ebastler/isometria_75/rev1/rules.mk b/keyboards/ebastler/isometria_75/rev1/rules.mk index 2fd78a13f17..76b31f0a0a0 100644 --- a/keyboards/ebastler/isometria_75/rev1/rules.mk +++ b/keyboards/ebastler/isometria_75/rev1/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/edi/hardlight/mk1/config.h b/keyboards/edi/hardlight/mk1/config.h index 6677c4587e8..44515c09139 100644 --- a/keyboards/edi/hardlight/mk1/config.h +++ b/keyboards/edi/hardlight/mk1/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . /* * Enable RGB Underlighting */ -#define RGBLED_NUM 15 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/edi/hardlight/mk1/info.json b/keyboards/edi/hardlight/mk1/info.json index d7275dfa707..7e8d1a755d6 100644 --- a/keyboards/edi/hardlight/mk1/info.json +++ b/keyboards/edi/hardlight/mk1/info.json @@ -11,6 +11,9 @@ "rows": ["B0", "B1", "B2", "B3", "D4", "D6", "D7", "B4"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 15 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/edi/hardlight/mk2/config.h b/keyboards/edi/hardlight/mk2/config.h index b9b6b86c988..54e18096ff3 100644 --- a/keyboards/edi/hardlight/mk2/config.h +++ b/keyboards/edi/hardlight/mk2/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* RGB Underglow */ -#define RGBLED_NUM 32 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/edi/hardlight/mk2/info.json b/keyboards/edi/hardlight/mk2/info.json index 63ca3aa15dd..64be97d95b4 100644 --- a/keyboards/edi/hardlight/mk2/info.json +++ b/keyboards/edi/hardlight/mk2/info.json @@ -6,6 +6,9 @@ "pid": "0x2408", "device_version": "0.0.7" }, + "rgblight": { + "led_count": 32 + }, "ws2812": { "pin": "A10", "driver": "pwm" diff --git a/keyboards/edi/hardlight/mk2/rules.mk b/keyboards/edi/hardlight/mk2/rules.mk index 69c4b26a9e4..b7b67ba5b2b 100644 --- a/keyboards/edi/hardlight/mk2/rules.mk +++ b/keyboards/edi/hardlight/mk2/rules.mk @@ -16,5 +16,3 @@ AUDIO_ENABLE = no # Audio output VELOCIKEY_ENABLE = yes KEY_LOCK_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/edi/standaside/config.h b/keyboards/edi/standaside/config.h index e59dbc15e65..23ca0b18867 100644 --- a/keyboards/edi/standaside/config.h +++ b/keyboards/edi/standaside/config.h @@ -10,7 +10,6 @@ /* * Enable RGB Underlighting */ -#define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/edi/standaside/info.json b/keyboards/edi/standaside/info.json index 0c8bb289b06..07e58f1e30a 100644 --- a/keyboards/edi/standaside/info.json +++ b/keyboards/edi/standaside/info.json @@ -13,6 +13,9 @@ "rows": ["D1", "F4", "F6", "F7", "B1", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/edinburgh41/config.h b/keyboards/edinburgh41/config.h index f37d43dd2f6..1958d0a9320 100644 --- a/keyboards/edinburgh41/config.h +++ b/keyboards/edinburgh41/config.h @@ -3,10 +3,6 @@ #pragma once -// Underglow LED settings - -#define RGBLED_NUM 10 - // Thumbstick settings #define ANALOG_JOYSTICK_X_AXIS_PIN B5 #define ANALOG_JOYSTICK_Y_AXIS_PIN B6 diff --git a/keyboards/edinburgh41/info.json b/keyboards/edinburgh41/info.json index 14e4950c4ab..745710f92f3 100644 --- a/keyboards/edinburgh41/info.json +++ b/keyboards/edinburgh41/info.json @@ -10,6 +10,9 @@ "pid": "0x0000", "vid": "0xFEED" }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/eek/config.h b/keyboards/eek/config.h index 37beac094b2..c4a2c91e699 100644 --- a/keyboards/eek/config.h +++ b/keyboards/eek/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 36 - #define RGBLIGHT_HUE_STEP 4 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json index dde20e49dc5..0a293c514d7 100644 --- a/keyboards/eek/info.json +++ b/keyboards/eek/info.json @@ -20,7 +20,12 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 200 + "hue_steps": 4, + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 36, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "qmk-dfu", diff --git a/keyboards/ein_60/config.h b/keyboards/ein_60/config.h index e3df68481d6..45ce00a2d41 100644 --- a/keyboards/ein_60/config.h +++ b/keyboards/ein_60/config.h @@ -29,11 +29,6 @@ along with this program. If not, see . # define AUDIO_DAC_SAMPLE_MAX 4095U #endif -# define RGBLED_NUM 38 -# define RGBLIGHT_HUE_STEP 4 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ein_60/info.json b/keyboards/ein_60/info.json index 9af00830e0d..a3165426051 100644 --- a/keyboards/ein_60/info.json +++ b/keyboards/ein_60/info.json @@ -12,7 +12,12 @@ "driver": "WS2812" }, "rgblight": { - "max_brightness": 200 + "hue_steps": 4, + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 38, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["A3", "A2", "A1", "A0", "F6", "F5", "F0", "E0", "E1", "C0", "C1", "C2", "C3"], diff --git a/keyboards/elephant42/config.h b/keyboards/elephant42/config.h index ebc0b104974..e08a3bc4e4d 100644 --- a/keyboards/elephant42/config.h +++ b/keyboards/elephant42/config.h @@ -17,10 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 54 // backlight x42 + underglow x12 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -34,13 +30,9 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 54 # define RGB_MATRIX_SPLIT { 27, 27 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 -# define RGB_MATRIX_HUE_STEP RGBLIGHT_HUE_STEP -# define RGB_MATRIX_SAT_STEP RGBLIGHT_SAT_STEP -# define RGB_MATRIX_VAL_STEP RGBLIGHT_VAL_STEP -# define RGB_MATRIX_SPD_STEP 8 #endif #ifndef OLED_FONT_H diff --git a/keyboards/elephant42/info.json b/keyboards/elephant42/info.json index bcfc374531c..005735556b5 100644 --- a/keyboards/elephant42/info.json +++ b/keyboards/elephant42/info.json @@ -9,9 +9,15 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 8 }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 54, "max_brightness": 170, "split_count": [27, 27] }, diff --git a/keyboards/emery65/rules.mk b/keyboards/emery65/rules.mk index 7000bb65710..7c0709f41e6 100644 --- a/keyboards/emery65/rules.mk +++ b/keyboards/emery65/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/ep/comsn/mollydooker/config.h b/keyboards/ep/comsn/mollydooker/config.h index bf53058d523..27fdb991587 100644 --- a/keyboards/ep/comsn/mollydooker/config.h +++ b/keyboards/ep/comsn/mollydooker/config.h @@ -32,10 +32,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 84 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* * Feature disable options diff --git a/keyboards/ep/comsn/mollydooker/info.json b/keyboards/ep/comsn/mollydooker/info.json index 6c8825c915e..310aa7dbe12 100644 --- a/keyboards/ep/comsn/mollydooker/info.json +++ b/keyboards/ep/comsn/mollydooker/info.json @@ -16,6 +16,8 @@ "pin": "B0" }, "rgblight": { + "hue_steps": 10, + "led_count": 84, "max_brightness": 35 }, "processor": "atmega32u4", diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index 3adcd0198bf..03a6039e389 100644 --- a/keyboards/ergodox_ez/config.h +++ b/keyboards/ergodox_ez/config.h @@ -44,10 +44,6 @@ along with this program. If not, see . #define MOUSEKEY_WHEEL_MAX_SPEED MOUSEKEY_MAX_SPEED #define MOUSEKEY_WHEEL_TIME_TO_MAX MOUSEKEY_TIME_TO_MAX -#define TAPPING_TOGGLE 1 - -#define TAPPING_TERM 200 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -78,9 +74,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 12 -#define RGBLIGHT_SAT_STEP 255 -#define RGBLIGHT_VAL_STEP 12 // Pick one of the modes // Defaults to 15 mirror, for legacy behavior @@ -94,8 +87,6 @@ along with this program. If not, see . #define RGBW -#define RGBLIGHT_SLEEP - /* * The debounce filtering reports a key/switch change directly, * without any extra delay. After that the debounce logic will filter diff --git a/keyboards/ergodox_ez/ergodox_ez.h b/keyboards/ergodox_ez/ergodox_ez.h index 0c23a129690..befc1146177 100644 --- a/keyboards/ergodox_ez/ergodox_ez.h +++ b/keyboards/ergodox_ez/ergodox_ez.h @@ -139,25 +139,3 @@ typedef union { } keyboard_config_t; extern keyboard_config_t keyboard_config; - -/* ---- LEFT HAND ---- ---- RIGHT HAND ---- */ -#define LED_LAYOUT_ergodox_pretty( \ - L01,L02,L03,L04,L05, R01,R02,R03,R04,R05, \ - L11,L12,L13,L14,L15, R11,R12,R13,R14,R15, \ - L21,L22,L23,L24,L25, R21,R22,R23,R24,R25, \ - L31,L32,L33,L34,L35, R31,R32,R33,R34,R35, \ - L41,L42,L43,L44, R42,R43,R44,R45 ) \ - \ - /* matrix positions */ \ - { R01, R02, R03, R04, R05, \ - R11, R12, R13, R14, R15, \ - R21, R22, R23, R24, R25, \ - R31, R32, R33, R34, R35, \ - R42, R43, R44, R45, \ - \ - L05, L04, L03, L02, L01, \ - L15, L14, L13, L12, L11, \ - L25, L24, L23, L22, L21, \ - L35, L34, L33, L32, L31, \ - L44, L43, L42, L41 \ - } diff --git a/keyboards/ergodox_ez/info.json b/keyboards/ergodox_ez/info.json index 5727d111847..6a9541a4261 100644 --- a/keyboards/ergodox_ez/info.json +++ b/keyboards/ergodox_ez/info.json @@ -6,6 +6,14 @@ "vid": "0x3297", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 12, + "brightness_steps": 12, + "sleep": true + }, + "build": { + "debounce_type": "sym_eager_pr" + }, "ws2812": { "pin": "D7" }, @@ -15,6 +23,9 @@ "processor": "atmega32u4", "bootloader": "halfkay", "debounce": 30, + "tapping": { + "toggle": 1 + }, "community_layouts": ["ergodox"], "layouts": { "LAYOUT_ergodox": { diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c index 45a101ec81e..99d10e9a126 100755 --- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c +++ b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c @@ -253,12 +253,7 @@ void matrix_scan_user(void) { }; // The state of the LEDs requested by the system, as a bitmask. -static uint8_t sys_led_state = 0; - -// Use these masks to read the system LEDs state. -static const uint8_t sys_led_mask_num_lock = 1 << USB_LED_NUM_LOCK; -static const uint8_t sys_led_mask_caps_lock = 1 << USB_LED_CAPS_LOCK; -static const uint8_t sys_led_mask_scroll_lock = 1 << USB_LED_SCROLL_LOCK; +static led_t sys_led_state = {0}; // Value to use to switch LEDs on. The default value of 255 is far too bright. static const uint8_t max_led_value = 20; @@ -294,25 +289,26 @@ void led_3_off(void) { } // Called when the computer wants to change the state of the keyboard LEDs. -void led_set_user(uint8_t usb_led) { - sys_led_state = usb_led; +bool led_update_user(led_t led_state) { + sys_led_state = led_state; if (LAYER_ON(SYSLEDS)) { - if (sys_led_state & sys_led_mask_caps_lock) { + if (sys_led_state.caps_lock) { led_1_on(); } else { led_1_off(); } - if (sys_led_state & sys_led_mask_num_lock) { + if (sys_led_state.num_lock) { led_2_on(); } else { led_2_off(); } - if (sys_led_state & sys_led_mask_scroll_lock) { + if (sys_led_state.scroll_lock) { led_3_on(); } else { led_3_off(); } } + return false; } layer_state_t layer_state_set_user(layer_state_t state) { @@ -327,7 +323,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { } if (LAYER_ON(SYSLEDS)) { - led_set_user(sys_led_state); + led_update_user(sys_led_state); return state; } diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c index 34284e146d2..f8fce23ce5a 100644 --- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c +++ b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c @@ -296,12 +296,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -void led_set_user(uint8_t usb_led) { - if (usb_led & (1< - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 RGBLED_NUM 2 // Number of LEDs - -/* - * 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/ergoslab/rev1/info.json b/keyboards/ergoslab/rev1/info.json index d786799810d..e92dd4dccc8 100644 --- a/keyboards/ergoslab/rev1/info.json +++ b/keyboards/ergoslab/rev1/info.json @@ -16,6 +16,9 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "led_count": 2 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/ergotravel/rev1/config.h b/keyboards/ergotravel/rev1/config.h index 326a8f8ffe7..790a2696fbe 100644 --- a/keyboards/ergotravel/rev1/config.h +++ b/keyboards/ergotravel/rev1/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 12 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/ergotravel/rev1/info.json b/keyboards/ergotravel/rev1/info.json index 01fd3265e94..77aecec0ed1 100644 --- a/keyboards/ergotravel/rev1/info.json +++ b/keyboards/ergotravel/rev1/info.json @@ -16,6 +16,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/esca/getawayvan/config.h b/keyboards/esca/getawayvan/config.h index 01118712d2d..4b6f46018ec 100644 --- a/keyboards/esca/getawayvan/config.h +++ b/keyboards/esca/getawayvan/config.h @@ -29,10 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 51 -#define RGBLIGHT_HUE_STEP 20 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* * Feature disable options diff --git a/keyboards/esca/getawayvan/info.json b/keyboards/esca/getawayvan/info.json index ba31f9c260b..717bf9c7fc6 100644 --- a/keyboards/esca/getawayvan/info.json +++ b/keyboards/esca/getawayvan/info.json @@ -17,6 +17,8 @@ "pin": "B15" }, "rgblight": { + "hue_steps": 20, + "led_count": 51, "max_brightness": 128 }, "processor": "STM32F072", diff --git a/keyboards/esca/getawayvan_f042/config.h b/keyboards/esca/getawayvan_f042/config.h index 01118712d2d..4b6f46018ec 100644 --- a/keyboards/esca/getawayvan_f042/config.h +++ b/keyboards/esca/getawayvan_f042/config.h @@ -29,10 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 51 -#define RGBLIGHT_HUE_STEP 20 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* * Feature disable options diff --git a/keyboards/esca/getawayvan_f042/info.json b/keyboards/esca/getawayvan_f042/info.json index e39d2b4c22d..757308c3c86 100644 --- a/keyboards/esca/getawayvan_f042/info.json +++ b/keyboards/esca/getawayvan_f042/info.json @@ -17,6 +17,8 @@ "pin": "B15" }, "rgblight": { + "hue_steps": 20, + "led_count": 51, "max_brightness": 128 }, "processor": "STM32F042", diff --git a/keyboards/eternal_keypad/config.h b/keyboards/eternal_keypad/config.h index 6eaf9220c73..2dcb4ed6657 100644 --- a/keyboards/eternal_keypad/config.h +++ b/keyboards/eternal_keypad/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 8 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/eternal_keypad/info.json b/keyboards/eternal_keypad/info.json index f10b4ab8a4d..b700d04c3fc 100644 --- a/keyboards/eternal_keypad/info.json +++ b/keyboards/eternal_keypad/info.json @@ -16,6 +16,10 @@ "bootmagic": { "matrix": [0, 1] }, + "rgblight": { + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/evolv/config.h b/keyboards/evolv/config.h index ee7e0797727..b25af1111ae 100644 --- a/keyboards/evolv/config.h +++ b/keyboards/evolv/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 16 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -35,8 +33,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define TAPPING_TERM 200 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/evolv/info.json b/keyboards/evolv/info.json index d4b51621269..f95a5bc1d19 100644 --- a/keyboards/evolv/info.json +++ b/keyboards/evolv/info.json @@ -22,7 +22,9 @@ "pin": "B15" }, "rgblight": { - "max_brightness": 200 + "led_count": 16, + "max_brightness": 200, + "sleep": true }, "processor": "STM32F072", "bootloader": "stm32-dfu", diff --git a/keyboards/evolv/rules.mk b/keyboards/evolv/rules.mk index e6378f4a599..87802fbd6f5 100644 --- a/keyboards/evolv/rules.mk +++ b/keyboards/evolv/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/evyd13/atom47/rev2/config.h b/keyboards/evyd13/atom47/rev2/config.h index 352b89dad95..e14ecadbf09 100644 --- a/keyboards/evyd13/atom47/rev2/config.h +++ b/keyboards/evyd13/atom47/rev2/config.h @@ -21,5 +21,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define RGBLED_NUM 1 // Number of LEDs in your strip diff --git a/keyboards/evyd13/atom47/rev2/info.json b/keyboards/evyd13/atom47/rev2/info.json index b1642612eac..8c5720d0c48 100644 --- a/keyboards/evyd13/atom47/rev2/info.json +++ b/keyboards/evyd13/atom47/rev2/info.json @@ -18,6 +18,9 @@ "levels": 4, "breathing": true }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/evyd13/atom47/rev3/config.h b/keyboards/evyd13/atom47/rev3/config.h index 5f37dc519b0..72c1b9dc462 100644 --- a/keyboards/evyd13/atom47/rev3/config.h +++ b/keyboards/evyd13/atom47/rev3/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 6 // Number of LEDs in your strip #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/evyd13/atom47/rev3/info.json b/keyboards/evyd13/atom47/rev3/info.json index dc9b13961f2..7cf50a0a94f 100644 --- a/keyboards/evyd13/atom47/rev3/info.json +++ b/keyboards/evyd13/atom47/rev3/info.json @@ -18,6 +18,9 @@ "levels": 5, "breathing": true }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "F5" }, diff --git a/keyboards/evyd13/eon65/config.h b/keyboards/evyd13/eon65/config.h index abfa0fe63d0..d60691c6ab1 100644 --- a/keyboards/evyd13/eon65/config.h +++ b/keyboards/evyd13/eon65/config.h @@ -16,7 +16,6 @@ #pragma once - #define RGBLED_NUM 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/evyd13/eon65/info.json b/keyboards/evyd13/eon65/info.json index a58c3a52330..be993ea2830 100644 --- a/keyboards/evyd13/eon65/info.json +++ b/keyboards/evyd13/eon65/info.json @@ -13,6 +13,9 @@ "rows": ["D3", "D5", "B1", "B2", "B3"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/evyd13/eon87/config.h b/keyboards/evyd13/eon87/config.h index 04247c7e73c..d60691c6ab1 100644 --- a/keyboards/evyd13/eon87/config.h +++ b/keyboards/evyd13/eon87/config.h @@ -16,7 +16,6 @@ #pragma once - #define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/evyd13/eon87/info.json b/keyboards/evyd13/eon87/info.json index fc134b502fb..9698650bacd 100644 --- a/keyboards/evyd13/eon87/info.json +++ b/keyboards/evyd13/eon87/info.json @@ -13,6 +13,9 @@ "rows": ["B1", "B2", "B3", "D4", "D1", "D5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/evyd13/ta65/config.h b/keyboards/evyd13/ta65/config.h index e17b637a1ee..cfa335c00b7 100644 --- a/keyboards/evyd13/ta65/config.h +++ b/keyboards/evyd13/ta65/config.h @@ -34,4 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 diff --git a/keyboards/evyd13/ta65/info.json b/keyboards/evyd13/ta65/info.json index d1195a597be..fa4fd552e9f 100644 --- a/keyboards/evyd13/ta65/info.json +++ b/keyboards/evyd13/ta65/info.json @@ -18,6 +18,9 @@ {"pin_a": "B2", "pin_b": "B1"} ] }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/evyd13/wonderland/config.h b/keyboards/evyd13/wonderland/config.h index 1f7440aa201..1fe33fc4378 100644 --- a/keyboards/evyd13/wonderland/config.h +++ b/keyboards/evyd13/wonderland/config.h @@ -29,4 +29,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 diff --git a/keyboards/evyd13/wonderland/info.json b/keyboards/evyd13/wonderland/info.json index 621be942325..5ac4bfb7872 100644 --- a/keyboards/evyd13/wonderland/info.json +++ b/keyboards/evyd13/wonderland/info.json @@ -18,6 +18,9 @@ "esc_output": "F0", "led": "B1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/exclusive/e65/config.h b/keyboards/exclusive/e65/config.h index 9d31e13dcb9..cce43732e96 100644 --- a/keyboards/exclusive/e65/config.h +++ b/keyboards/exclusive/e65/config.h @@ -32,7 +32,3 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/exclusive/e65/info.json b/keyboards/exclusive/e65/info.json index 3fab8ca8abd..077d5d7cb9b 100644 --- a/keyboards/exclusive/e65/info.json +++ b/keyboards/exclusive/e65/info.json @@ -21,6 +21,11 @@ "caps_lock": "B6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/exclusive/e6_rgb/config.h b/keyboards/exclusive/e6_rgb/config.h index c6acec26587..2e74c065301 100644 --- a/keyboards/exclusive/e6_rgb/config.h +++ b/keyboards/exclusive/e6_rgb/config.h @@ -5,7 +5,6 @@ #pragma once //rgb light setting -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -16,9 +15,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define DRIVER_ADDR_1 0b1010000 diff --git a/keyboards/exclusive/e6_rgb/info.json b/keyboards/exclusive/e6_rgb/info.json index 0381b209a8f..167ce46917c 100644 --- a/keyboards/exclusive/e6_rgb/info.json +++ b/keyboards/exclusive/e6_rgb/info.json @@ -16,6 +16,11 @@ "rows": ["F1", "F4", "F5", "F6", "D6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/exclusive/e6v2/le/config.h b/keyboards/exclusive/e6v2/le/config.h index 8c0ffda30b5..05d2733f8b3 100644 --- a/keyboards/exclusive/e6v2/le/config.h +++ b/keyboards/exclusive/e6v2/le/config.h @@ -27,7 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 12 -#define RGBLIGHT_SAT_STEP 12 -#define RGBLIGHT_VAL_STEP 12 diff --git a/keyboards/exclusive/e6v2/le/info.json b/keyboards/exclusive/e6v2/le/info.json index 8fbbcbfea3f..3f7987329b5 100644 --- a/keyboards/exclusive/e6v2/le/info.json +++ b/keyboards/exclusive/e6v2/le/info.json @@ -23,6 +23,12 @@ "caps_lock": "B7", "on_state": 0 }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 12 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/exclusive/e6v2/le_bmc/config.h b/keyboards/exclusive/e6v2/le_bmc/config.h index bb3f00287eb..b8be4dca5f4 100644 --- a/keyboards/exclusive/e6v2/le_bmc/config.h +++ b/keyboards/exclusive/e6v2/le_bmc/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/exclusive/e6v2/le_bmc/info.json b/keyboards/exclusive/e6v2/le_bmc/info.json index c0d2ffa868b..29bf63bf521 100644 --- a/keyboards/exclusive/e6v2/le_bmc/info.json +++ b/keyboards/exclusive/e6v2/le_bmc/info.json @@ -15,6 +15,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/exclusive/e6v2/oe/config.h b/keyboards/exclusive/e6v2/oe/config.h index 6e9255bebb0..05d2733f8b3 100644 --- a/keyboards/exclusive/e6v2/oe/config.h +++ b/keyboards/exclusive/e6v2/oe/config.h @@ -27,7 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 12 -#define RGBLIGHT_SAT_STEP 12 -#define RGBLIGHT_VAL_STEP 12 diff --git a/keyboards/exclusive/e6v2/oe/info.json b/keyboards/exclusive/e6v2/oe/info.json index eef3f67847e..6c102f043e9 100644 --- a/keyboards/exclusive/e6v2/oe/info.json +++ b/keyboards/exclusive/e6v2/oe/info.json @@ -19,6 +19,12 @@ "breathing": true, "breathing_period": 3 }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 8 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/exclusive/e6v2/oe_bmc/config.h b/keyboards/exclusive/e6v2/oe_bmc/config.h index bb3f00287eb..b8be4dca5f4 100644 --- a/keyboards/exclusive/e6v2/oe_bmc/config.h +++ b/keyboards/exclusive/e6v2/oe_bmc/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/exclusive/e6v2/oe_bmc/info.json b/keyboards/exclusive/e6v2/oe_bmc/info.json index 622d7db5644..56c4fbdf57b 100644 --- a/keyboards/exclusive/e6v2/oe_bmc/info.json +++ b/keyboards/exclusive/e6v2/oe_bmc/info.json @@ -15,6 +15,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/exclusive/e7v1/config.h b/keyboards/exclusive/e7v1/config.h index 896eb97b255..d702489ee7a 100644 --- a/keyboards/exclusive/e7v1/config.h +++ b/keyboards/exclusive/e7v1/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/exclusive/e7v1/info.json b/keyboards/exclusive/e7v1/info.json index 42ec77a9fb6..f71bc158c2c 100644 --- a/keyboards/exclusive/e7v1/info.json +++ b/keyboards/exclusive/e7v1/info.json @@ -17,6 +17,11 @@ "pin": "B7", "levels": 6 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/exclusive/e7v1se/config.h b/keyboards/exclusive/e7v1se/config.h index f4f04f2bbee..1b6f748e1e5 100644 --- a/keyboards/exclusive/e7v1se/config.h +++ b/keyboards/exclusive/e7v1se/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/exclusive/e7v1se/info.json b/keyboards/exclusive/e7v1se/info.json index 3244831b4db..6675bc2b3df 100644 --- a/keyboards/exclusive/e7v1se/info.json +++ b/keyboards/exclusive/e7v1se/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/exclusive/e85/config.h b/keyboards/exclusive/e85/config.h index 730536b513e..e0af8496290 100644 --- a/keyboards/exclusive/e85/config.h +++ b/keyboards/exclusive/e85/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 18 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/exclusive/e85/hotswap/info.json b/keyboards/exclusive/e85/hotswap/info.json index 60dc68eaf78..a6a3269fb5a 100644 --- a/keyboards/exclusive/e85/hotswap/info.json +++ b/keyboards/exclusive/e85/hotswap/info.json @@ -18,6 +18,12 @@ "levels": 6, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/exclusive/e85/soldered/info.json b/keyboards/exclusive/e85/soldered/info.json index c0f9128b524..fc89bd6d10a 100644 --- a/keyboards/exclusive/e85/soldered/info.json +++ b/keyboards/exclusive/e85/soldered/info.json @@ -18,6 +18,12 @@ "levels": 6, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/exent/config.h b/keyboards/exent/config.h index b062e20b682..1441c7581fd 100644 --- a/keyboards/exent/config.h +++ b/keyboards/exent/config.h @@ -16,8 +16,6 @@ #pragma once -#define RGBLED_NUM 18 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/exent/info.json b/keyboards/exent/info.json index 9f0f3e39450..ef4b00b9051 100644 --- a/keyboards/exent/info.json +++ b/keyboards/exent/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/eyeohdesigns/babyv/config.h b/keyboards/eyeohdesigns/babyv/config.h index 4bfabf0e8a3..dfc4bcd47ce 100644 --- a/keyboards/eyeohdesigns/babyv/config.h +++ b/keyboards/eyeohdesigns/babyv/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/eyeohdesigns/babyv/info.json b/keyboards/eyeohdesigns/babyv/info.json index f2d0ea53e6b..8eccfbdec3f 100644 --- a/keyboards/eyeohdesigns/babyv/info.json +++ b/keyboards/eyeohdesigns/babyv/info.json @@ -16,6 +16,12 @@ "backlight": { "pin": "B6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/eyeohdesigns/theboulevard/config.h b/keyboards/eyeohdesigns/theboulevard/config.h index e2f7092f982..96697db31fc 100644 --- a/keyboards/eyeohdesigns/theboulevard/config.h +++ b/keyboards/eyeohdesigns/theboulevard/config.h @@ -17,9 +17,4 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 2 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/eyeohdesigns/theboulevard/info.json b/keyboards/eyeohdesigns/theboulevard/info.json index a94968a989e..b7e911d5dcf 100644 --- a/keyboards/eyeohdesigns/theboulevard/info.json +++ b/keyboards/eyeohdesigns/theboulevard/info.json @@ -18,6 +18,12 @@ {"pin_a": "F5", "pin_b": "F4", "resolution": 2} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2, + "sleep": true + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/ez_maker/directpins/teensy_32/rules.mk b/keyboards/ez_maker/directpins/teensy_32/rules.mk index 9803d8cc703..abd2f7fce97 100644 --- a/keyboards/ez_maker/directpins/teensy_32/rules.mk +++ b/keyboards/ez_maker/directpins/teensy_32/rules.mk @@ -1,4 +1,2 @@ USE_CHIBIOS_CONTRIB = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ez_maker/directpins/teensy_lc/rules.mk b/keyboards/ez_maker/directpins/teensy_lc/rules.mk index 9803d8cc703..abd2f7fce97 100644 --- a/keyboards/ez_maker/directpins/teensy_lc/rules.mk +++ b/keyboards/ez_maker/directpins/teensy_lc/rules.mk @@ -1,4 +1,2 @@ USE_CHIBIOS_CONTRIB = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/facew/config.h b/keyboards/facew/config.h index ddc21dae308..d849732a072 100644 --- a/keyboards/facew/config.h +++ b/keyboards/facew/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 16 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/facew/info.json b/keyboards/facew/info.json index 514c64f2c38..d28bd4447e9 100644 --- a/keyboards/facew/info.json +++ b/keyboards/facew/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/fallacy/config.h b/keyboards/fallacy/config.h index 4e5ad265833..1fe5f41924a 100755 --- a/keyboards/fallacy/config.h +++ b/keyboards/fallacy/config.h @@ -40,4 +40,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 diff --git a/keyboards/fallacy/info.json b/keyboards/fallacy/info.json index e51283eb192..f92926b72f4 100644 --- a/keyboards/fallacy/info.json +++ b/keyboards/fallacy/info.json @@ -12,6 +12,9 @@ "rows": ["B1", "B2", "B3", "C6", "C7"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/fancytech/fancyalice66/config.h b/keyboards/fancytech/fancyalice66/config.h index b6fcea0c6bc..9f56bd3a203 100644 --- a/keyboards/fancytech/fancyalice66/config.h +++ b/keyboards/fancytech/fancyalice66/config.h @@ -4,8 +4,6 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define WS2812_DI_PIN B0 -# define RGB_DI_PIN B0 # define RGB_MATRIX_LED_COUNT 82 /* RGB Matrix effect */ diff --git a/keyboards/fancytech/fancyalice66/info.json b/keyboards/fancytech/fancyalice66/info.json index 1be7f376394..525a19d32ca 100644 --- a/keyboards/fancytech/fancyalice66/info.json +++ b/keyboards/fancytech/fancyalice66/info.json @@ -165,6 +165,9 @@ "pid": "0x3663", "vid": "0xECED" }, + "ws2812": { + "pin": "B0" + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/fc660c/config.h b/keyboards/fc660c/config.h index 670b0f8e386..cd23bdb2b82 100644 --- a/keyboards/fc660c/config.h +++ b/keyboards/fc660c/config.h @@ -22,10 +22,6 @@ along with this program. If not, see . #define MATRIX_ROWS 5 #define MATRIX_COLS 16 -//#define DIODE_DIRECTION - -#define TAPPING_TERM 175 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/fc660c/info.json b/keyboards/fc660c/info.json index 8250619bdc8..e65ed35dae7 100644 --- a/keyboards/fc660c/info.json +++ b/keyboards/fc660c/info.json @@ -8,6 +8,9 @@ "pid": "0x660C", "device_version": "1.0.0" }, + "tapping": { + "term": 175 + }, "indicators": { "caps_lock": "B6", "on_state": 0 diff --git a/keyboards/ffkeebs/puca/config.h b/keyboards/ffkeebs/puca/config.h index 23a2f15d994..450a31173aa 100644 --- a/keyboards/ffkeebs/puca/config.h +++ b/keyboards/ffkeebs/puca/config.h @@ -29,7 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT - #define RGBLED_NUM 8 #endif /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/ffkeebs/puca/info.json b/keyboards/ffkeebs/puca/info.json index 356c148d8e5..645efa85513 100644 --- a/keyboards/ffkeebs/puca/info.json +++ b/keyboards/ffkeebs/puca/info.json @@ -18,6 +18,9 @@ {"pin_a": "F4", "pin_b": "F5"} ] }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/fjlabs/7vhotswap/config.h b/keyboards/fjlabs/7vhotswap/config.h index 4aa0cd52ea4..cf9d7a98509 100644 --- a/keyboards/fjlabs/7vhotswap/config.h +++ b/keyboards/fjlabs/7vhotswap/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB */ -#define RGBLED_NUM 4 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/7vhotswap/info.json b/keyboards/fjlabs/7vhotswap/info.json index 6e026ecc589..c6a186387d0 100644 --- a/keyboards/fjlabs/7vhotswap/info.json +++ b/keyboards/fjlabs/7vhotswap/info.json @@ -13,6 +13,9 @@ "rows": ["B0", "F4", "F1", "F7", "F6", "F5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/fjlabs/avalon/config.h b/keyboards/fjlabs/avalon/config.h index 4204f1d1290..edc330d4fb8 100644 --- a/keyboards/fjlabs/avalon/config.h +++ b/keyboards/fjlabs/avalon/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/avalon/info.json b/keyboards/fjlabs/avalon/info.json index ba9239629cc..387cdbe99c6 100644 --- a/keyboards/fjlabs/avalon/info.json +++ b/keyboards/fjlabs/avalon/info.json @@ -16,6 +16,9 @@ "indicators": { "caps_lock": "C7" }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/fjlabs/bks65/config.h b/keyboards/fjlabs/bks65/config.h index 3b205ce76fa..5f5f69421c3 100644 --- a/keyboards/fjlabs/bks65/config.h +++ b/keyboards/fjlabs/bks65/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 24 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/bks65/info.json b/keyboards/fjlabs/bks65/info.json index 7b468da941c..7772d751d66 100644 --- a/keyboards/fjlabs/bks65/info.json +++ b/keyboards/fjlabs/bks65/info.json @@ -16,6 +16,9 @@ "indicators": { "caps_lock": "C7" }, + "rgblight": { + "led_count": 24 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/fjlabs/bks65solder/config.h b/keyboards/fjlabs/bks65solder/config.h index 3b205ce76fa..5f5f69421c3 100644 --- a/keyboards/fjlabs/bks65solder/config.h +++ b/keyboards/fjlabs/bks65solder/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 24 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/bks65solder/info.json b/keyboards/fjlabs/bks65solder/info.json index 27c3ece3ba2..d073372ef66 100644 --- a/keyboards/fjlabs/bks65solder/info.json +++ b/keyboards/fjlabs/bks65solder/info.json @@ -13,6 +13,9 @@ "rows": ["F4", "F1", "F7", "F6", "F5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 24 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/fjlabs/kf87/config.h b/keyboards/fjlabs/kf87/config.h index 4131a884292..b14096f20a6 100644 --- a/keyboards/fjlabs/kf87/config.h +++ b/keyboards/fjlabs/kf87/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB */ -#define RGBLED_NUM 87 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/kf87/info.json b/keyboards/fjlabs/kf87/info.json index 415405a9e82..0016552ab59 100644 --- a/keyboards/fjlabs/kf87/info.json +++ b/keyboards/fjlabs/kf87/info.json @@ -21,6 +21,7 @@ "pin": "C2" }, "rgblight": { + "led_count": 87, "max_brightness": 86 }, "processor": "at90usb646", diff --git a/keyboards/fjlabs/kyuu/config.h b/keyboards/fjlabs/kyuu/config.h index 5fa5e84acd3..f0f64903bec 100644 --- a/keyboards/fjlabs/kyuu/config.h +++ b/keyboards/fjlabs/kyuu/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define Badge RGB */ -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/kyuu/info.json b/keyboards/fjlabs/kyuu/info.json index 058cb4ea23b..f57ee482dc8 100644 --- a/keyboards/fjlabs/kyuu/info.json +++ b/keyboards/fjlabs/kyuu/info.json @@ -13,6 +13,9 @@ "rows": ["F4", "F1", "F7", "F6", "F5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/fjlabs/mk61rgbansi/config.h b/keyboards/fjlabs/mk61rgbansi/config.h index 89e8c6c2213..e83868463af 100644 --- a/keyboards/fjlabs/mk61rgbansi/config.h +++ b/keyboards/fjlabs/mk61rgbansi/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 64 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/mk61rgbansi/info.json b/keyboards/fjlabs/mk61rgbansi/info.json index 7e99f1bd106..1f1078be697 100644 --- a/keyboards/fjlabs/mk61rgbansi/info.json +++ b/keyboards/fjlabs/mk61rgbansi/info.json @@ -17,6 +17,7 @@ "pin": "F7" }, "rgblight": { + "led_count": 64, "max_brightness": 108 }, "processor": "atmega32u4", diff --git a/keyboards/fjlabs/ready100/config.h b/keyboards/fjlabs/ready100/config.h index 1292feb117b..14307e1e34d 100644 --- a/keyboards/fjlabs/ready100/config.h +++ b/keyboards/fjlabs/ready100/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 64 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/ready100/info.json b/keyboards/fjlabs/ready100/info.json index 689f396b3ed..403d4801d12 100644 --- a/keyboards/fjlabs/ready100/info.json +++ b/keyboards/fjlabs/ready100/info.json @@ -17,6 +17,7 @@ "pin": "F7" }, "rgblight": { + "led_count": 64, "max_brightness": 108 }, "processor": "atmega32u4", diff --git a/keyboards/fjlabs/solanis/config.h b/keyboards/fjlabs/solanis/config.h index 569d563e450..d0ae4b866f2 100644 --- a/keyboards/fjlabs/solanis/config.h +++ b/keyboards/fjlabs/solanis/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB */ -#define RGBLED_NUM 24 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/solanis/info.json b/keyboards/fjlabs/solanis/info.json index 2f1bea8698a..917befc2e38 100644 --- a/keyboards/fjlabs/solanis/info.json +++ b/keyboards/fjlabs/solanis/info.json @@ -17,6 +17,7 @@ "pin": "B7" }, "rgblight": { + "led_count": 24, "max_brightness": 172 }, "processor": "at90usb646", diff --git a/keyboards/fjlabs/swordfish/config.h b/keyboards/fjlabs/swordfish/config.h index be5bee6e440..089b49ea03a 100644 --- a/keyboards/fjlabs/swordfish/config.h +++ b/keyboards/fjlabs/swordfish/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB */ -#define RGBLED_NUM 1 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/swordfish/info.json b/keyboards/fjlabs/swordfish/info.json index 98fb7f6f493..bc17ac108b0 100644 --- a/keyboards/fjlabs/swordfish/info.json +++ b/keyboards/fjlabs/swordfish/info.json @@ -13,88 +13,168 @@ "rows": ["B0", "B1", "C7", "C6", "B6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "D3" }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { - "LAYOUT_alice_all": { + "LAYOUT_2u_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": [1, 5], "x": 5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 9, "y": 0}, + {"matrix": [0, 7], "x": 10, "y": 0}, + {"matrix": [0, 8], "x": 11, "y": 0}, + {"matrix": [0, 9], "x": 12, "y": 0}, + {"matrix": [0, 10], "x": 13, "y": 0}, + {"matrix": [0, 11], "x": 14, "y": 0}, + {"matrix": [0, 12], "x": 15, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 17.25, "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": [2, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 8.5, "y": 1}, + {"matrix": [1, 7], "x": 9.5, "y": 1}, + {"matrix": [1, 8], "x": 10.5, "y": 1}, + {"matrix": [1, 9], "x": 11.5, "y": 1}, + {"matrix": [1, 10], "x": 12.5, "y": 1}, + {"matrix": [1, 11], "x": 13.5, "y": 1}, + {"matrix": [1, 12], "x": 14.5, "y": 1}, + {"matrix": [1, 13], "x": 15.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 17.25, "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": [3, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 8.75, "y": 2}, + {"matrix": [2, 7], "x": 9.75, "y": 2}, + {"matrix": [2, 8], "x": 10.75, "y": 2}, + {"matrix": [2, 9], "x": 11.75, "y": 2}, + {"matrix": [2, 10], "x": 12.75, "y": 2}, + {"matrix": [2, 11], "x": 13.75, "y": 2}, + {"matrix": [2, 13], "x": 14.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 17.25, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [4, 5], "x": 6.25, "y": 3}, + {"matrix": [3, 6], "x": 8.25, "y": 3}, + {"matrix": [3, 7], "x": 9.25, "y": 3}, + {"matrix": [3, 8], "x": 10.25, "y": 3}, + {"matrix": [3, 9], "x": 11.25, "y": 3}, + {"matrix": [3, 10], "x": 12.25, "y": 3}, + {"matrix": [3, 11], "x": 13.25, "y": 3}, + {"matrix": [3, 12], "x": 14.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 16.25, "y": 3.25}, + + {"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": 3.25, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 4.5, "y": 4, "w": 2.75}, + {"matrix": [4, 7], "x": 8.25, "y": 4, "w": 2.25}, + {"matrix": [4, 8], "x": 10.5, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 15.25, "y": 4.25}, + {"matrix": [4, 13], "x": 16.25, "y": 4.25}, + {"matrix": [4, 14], "x": 17.25, "y": 4.25} + ] + }, + "LAYOUT_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": 8.5, "y": 0}, - {"matrix": [0, 8], "x": 9.5, "y": 0}, - {"matrix": [0, 9], "x": 10.5, "y": 0}, - {"matrix": [0, 10], "x": 11.5, "y": 0}, - {"matrix": [0, 11], "x": 12.5, "y": 0}, - {"matrix": [0, 12], "x": 13.5, "y": 0}, - {"matrix": [0, 13], "x": 14.5, "y": 0}, - {"matrix": [0, 14], "x": 15.5, "y": 0}, - {"matrix": [1, 0], "x": 16.75, "y": 0}, + {"matrix": [1, 5], "x": 5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 9, "y": 0}, + {"matrix": [0, 7], "x": 10, "y": 0}, + {"matrix": [0, 8], "x": 11, "y": 0}, + {"matrix": [0, 9], "x": 12, "y": 0}, + {"matrix": [0, 10], "x": 13, "y": 0}, + {"matrix": [0, 11], "x": 14, "y": 0}, + {"matrix": [0, 12], "x": 15, "y": 0}, + {"matrix": [0, 13], "x": 16, "y": 0}, + {"matrix": [0, 14], "x": 17.25, "y": 0}, - {"matrix": [1, 1], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 1.5, "y": 1}, - {"matrix": [1, 3], "x": 2.5, "y": 1}, - {"matrix": [1, 4], "x": 3.5, "y": 1}, - {"matrix": [1, 5], "x": 4.5, "y": 1}, - {"matrix": [1, 6], "x": 5.5, "y": 1}, - {"matrix": [1, 7], "x": 8, "y": 1}, - {"matrix": [1, 8], "x": 9, "y": 1}, - {"matrix": [1, 9], "x": 10, "y": 1}, - {"matrix": [1, 10], "x": 11, "y": 1}, - {"matrix": [1, 11], "x": 12, "y": 1}, - {"matrix": [1, 12], "x": 13, "y": 1}, - {"matrix": [1, 13], "x": 14, "y": 1}, - {"matrix": [1, 14], "x": 15, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 16.75, "y": 1}, + {"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": [2, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 8.5, "y": 1}, + {"matrix": [1, 7], "x": 9.5, "y": 1}, + {"matrix": [1, 8], "x": 10.5, "y": 1}, + {"matrix": [1, 9], "x": 11.5, "y": 1}, + {"matrix": [1, 10], "x": 12.5, "y": 1}, + {"matrix": [1, 11], "x": 13.5, "y": 1}, + {"matrix": [1, 12], "x": 14.5, "y": 1}, + {"matrix": [1, 13], "x": 15.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 17.25, "y": 1}, - {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 1.75, "y": 2}, - {"matrix": [2, 3], "x": 2.75, "y": 2}, - {"matrix": [2, 4], "x": 3.75, "y": 2}, - {"matrix": [2, 5], "x": 4.75, "y": 2}, - {"matrix": [2, 6], "x": 5.75, "y": 2}, - {"matrix": [2, 7], "x": 8.25, "y": 2}, - {"matrix": [2, 8], "x": 9.25, "y": 2}, - {"matrix": [2, 9], "x": 10.25, "y": 2}, - {"matrix": [2, 10], "x": 11.25, "y": 2}, - {"matrix": [2, 11], "x": 12.25, "y": 2}, - {"matrix": [2, 13], "x": 13.25, "y": 2}, - {"matrix": [2, 14], "x": 14.25, "y": 2, "w": 2.25}, - {"matrix": [3, 0], "x": 16.75, "y": 2}, + {"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": [3, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 8.75, "y": 2}, + {"matrix": [2, 7], "x": 9.75, "y": 2}, + {"matrix": [2, 8], "x": 10.75, "y": 2}, + {"matrix": [2, 9], "x": 11.75, "y": 2}, + {"matrix": [2, 10], "x": 12.75, "y": 2}, + {"matrix": [2, 11], "x": 13.75, "y": 2}, + {"matrix": [2, 13], "x": 14.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 17.25, "y": 2}, - {"matrix": [3, 1], "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": 8, "y": 3}, - {"matrix": [3, 8], "x": 9, "y": 3}, - {"matrix": [3, 9], "x": 10, "y": 3}, - {"matrix": [3, 10], "x": 11, "y": 3}, - {"matrix": [3, 11], "x": 12, "y": 3}, - {"matrix": [3, 12], "x": 13, "y": 3}, - {"matrix": [3, 13], "x": 14, "y": 3, "w": 1.5}, - {"matrix": [4, 0], "x": 15.75, "y": 3.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [4, 5], "x": 6.25, "y": 3}, + {"matrix": [3, 6], "x": 8.25, "y": 3}, + {"matrix": [3, 7], "x": 9.25, "y": 3}, + {"matrix": [3, 8], "x": 10.25, "y": 3}, + {"matrix": [3, 9], "x": 11.25, "y": 3}, + {"matrix": [3, 10], "x": 12.25, "y": 3}, + {"matrix": [3, 11], "x": 13.25, "y": 3}, + {"matrix": [3, 12], "x": 14.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 16.25, "y": 3.25}, - {"matrix": [4, 1], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 4], "x": 3.25, "y": 4, "w": 1.25}, - {"matrix": [4, 5], "x": 4.5, "y": 4, "w": 2.75}, - {"matrix": [4, 7], "x": 8, "y": 4, "w": 2.25}, - {"matrix": [4, 8], "x": 10.25, "y": 4, "w": 1.25}, - {"matrix": [4, 10], "x": 12, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 13.25, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 14.75, "y": 4.25}, - {"matrix": [4, 13], "x": 15.75, "y": 4.25}, - {"matrix": [4, 14], "x": 16.75, "y": 4.25} + {"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": 3.25, "y": 4, "w": 1.25}, + {"matrix": [4, 4], "x": 4.5, "y": 4, "w": 2.75}, + {"matrix": [4, 7], "x": 8.25, "y": 4, "w": 2.25}, + {"matrix": [4, 8], "x": 10.5, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 15.25, "y": 4.25}, + {"matrix": [4, 13], "x": 16.25, "y": 4.25}, + {"matrix": [4, 14], "x": 17.25, "y": 4.25} ] } } diff --git a/keyboards/fjlabs/swordfish/keymaps/default/keymap.c b/keyboards/fjlabs/swordfish/keymaps/default/keymap.c index ecce4f1a7bf..2b2c8cf19f7 100644 --- a/keyboards/fjlabs/swordfish/keymaps/default/keymap.c +++ b/keyboards/fjlabs/swordfish/keymaps/default/keymap.c @@ -21,19 +21,19 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_alice_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_MPLY, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_5, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_VOLU, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_T, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_G, 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_B, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_LAYER0] = LAYOUT_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_GRV, KC_MPLY, + KC_TAB, KC_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_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_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_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = LAYOUT_alice_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, RGB_MOD, RGB_RMOD, 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_VAI, - 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, 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_PGUP, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + [_LAYER1] = LAYOUT_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, RGB_MOD, RGB_RMOD, 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_VAI, + 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, 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_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ) }; diff --git a/keyboards/fjlabs/swordfish/keymaps/via/keymap.c b/keyboards/fjlabs/swordfish/keymaps/via/keymap.c index 50ade4767ec..7428985841b 100644 --- a/keyboards/fjlabs/swordfish/keymaps/via/keymap.c +++ b/keyboards/fjlabs/swordfish/keymaps/via/keymap.c @@ -23,35 +23,35 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_alice_all( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_MPLY, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_5, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_VOLU, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_T, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_G, 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_B, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_LAYER0] = LAYOUT_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_GRV, KC_MPLY, + KC_TAB, KC_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_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_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_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = LAYOUT_alice_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, RGB_MOD, RGB_RMOD, 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_VAI, - 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, 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_PGUP, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + [_LAYER1] = LAYOUT_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, RGB_MOD, RGB_RMOD, 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_VAI, + 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, 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_PGUP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END ), - [_LAYER2] = LAYOUT_alice_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 + [_LAYER2] = LAYOUT_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, KC_TRNS, KC_TRNS ), - [_LAYER3] = LAYOUT_alice_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 + [_LAYER3] = LAYOUT_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, KC_TRNS, KC_TRNS ) }; diff --git a/keyboards/fjlabs/tf60ansi/config.h b/keyboards/fjlabs/tf60ansi/config.h index 89e8c6c2213..e83868463af 100644 --- a/keyboards/fjlabs/tf60ansi/config.h +++ b/keyboards/fjlabs/tf60ansi/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 64 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/tf60ansi/info.json b/keyboards/fjlabs/tf60ansi/info.json index b07464ad364..308ab23457a 100644 --- a/keyboards/fjlabs/tf60ansi/info.json +++ b/keyboards/fjlabs/tf60ansi/info.json @@ -17,6 +17,7 @@ "pin": "F7" }, "rgblight": { + "led_count": 64, "max_brightness": 108 }, "processor": "atmega32u4", diff --git a/keyboards/fjlabs/tf60v2/config.h b/keyboards/fjlabs/tf60v2/config.h index 89e8c6c2213..e83868463af 100644 --- a/keyboards/fjlabs/tf60v2/config.h +++ b/keyboards/fjlabs/tf60v2/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 64 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/tf60v2/info.json b/keyboards/fjlabs/tf60v2/info.json index 6e9a5bf8219..4b2edf7d735 100644 --- a/keyboards/fjlabs/tf60v2/info.json +++ b/keyboards/fjlabs/tf60v2/info.json @@ -17,6 +17,7 @@ "pin": "F7" }, "rgblight": { + "led_count": 64, "max_brightness": 108 }, "processor": "atmega32u4", diff --git a/keyboards/fjlabs/tf65rgbv2/config.h b/keyboards/fjlabs/tf65rgbv2/config.h index 5932113c947..e83868463af 100644 --- a/keyboards/fjlabs/tf65rgbv2/config.h +++ b/keyboards/fjlabs/tf65rgbv2/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 68 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fjlabs/tf65rgbv2/info.json b/keyboards/fjlabs/tf65rgbv2/info.json index 098bad3fcf7..07696008246 100644 --- a/keyboards/fjlabs/tf65rgbv2/info.json +++ b/keyboards/fjlabs/tf65rgbv2/info.json @@ -17,6 +17,7 @@ "pin": "F7" }, "rgblight": { + "led_count": 68, "max_brightness": 96 }, "processor": "atmega32u4", diff --git a/keyboards/flehrad/bigswitch/config.h b/keyboards/flehrad/bigswitch/config.h index ddf4546bbb2..f633202f975 100644 --- a/keyboards/flehrad/bigswitch/config.h +++ b/keyboards/flehrad/bigswitch/config.h @@ -34,5 +34,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 #endif diff --git a/keyboards/flehrad/bigswitch/info.json b/keyboards/flehrad/bigswitch/info.json index 095f8284e4f..13a3500853b 100644 --- a/keyboards/flehrad/bigswitch/info.json +++ b/keyboards/flehrad/bigswitch/info.json @@ -7,6 +7,9 @@ "pid": "0xB195", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/fleuron/config.h b/keyboards/fleuron/config.h index 34197c8578d..64f691e305d 100644 --- a/keyboards/fleuron/config.h +++ b/keyboards/fleuron/config.h @@ -38,7 +38,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define RGBLED_NUM 18 // Number of LEDs in your strip #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/fleuron/info.json b/keyboards/fleuron/info.json index c2ff091acec..81237e2cbfe 100644 --- a/keyboards/fleuron/info.json +++ b/keyboards/fleuron/info.json @@ -12,6 +12,9 @@ "rows": ["F0", "F1", "F4", "F5", "F6", "F7"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 18 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/fleuron/keymaps/dollartacos/keymap.c b/keyboards/fleuron/keymaps/dollartacos/keymap.c index e2bef353ef2..90490bb02f6 100644 --- a/keyboards/fleuron/keymaps/dollartacos/keymap.c +++ b/keyboards/fleuron/keymaps/dollartacos/keymap.c @@ -145,15 +145,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/flx/virgo/config.h b/keyboards/flx/virgo/config.h index 84306f36a07..fc97b59fa92 100644 --- a/keyboards/flx/virgo/config.h +++ b/keyboards/flx/virgo/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 0 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/flx/virgo/info.json b/keyboards/flx/virgo/info.json index f7ce7724825..962c4326b9f 100644 --- a/keyboards/flx/virgo/info.json +++ b/keyboards/flx/virgo/info.json @@ -17,6 +17,12 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 0, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/flxlb/zplit/config.h b/keyboards/flxlb/zplit/config.h index 9c1d35d1364..7d8e1d90f17 100644 --- a/keyboards/flxlb/zplit/config.h +++ b/keyboards/flxlb/zplit/config.h @@ -29,9 +29,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGBLED_NUM 16 -#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 7, 15, 14, 13, 12, 11, 10, 9, 8} -#define RGBLIGHT_SPLIT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/flxlb/zplit/info.json b/keyboards/flxlb/zplit/info.json index dbd075a2e48..a4dfb714b7b 100644 --- a/keyboards/flxlb/zplit/info.json +++ b/keyboards/flxlb/zplit/info.json @@ -19,6 +19,8 @@ ] }, "rgblight": { + "led_count": 16, + "led_map": [0, 1, 2, 3, 4, 5, 6, 7, 15, 14, 13, 12, 11, 10, 9, 8], "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/fortitude60/rev1/config.h b/keyboards/fortitude60/rev1/config.h index d13ea1c8450..5dec5df1f12 100644 --- a/keyboards/fortitude60/rev1/config.h +++ b/keyboards/fortitude60/rev1/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#ifdef RGBLIGHT_ENABLE - #define RGBLED_NUM 18 // Number of LEDs */ -#endif /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/fortitude60/rev1/info.json b/keyboards/fortitude60/rev1/info.json index 175e621e230..0ae02161cd5 100644 --- a/keyboards/fortitude60/rev1/info.json +++ b/keyboards/fortitude60/rev1/info.json @@ -17,6 +17,9 @@ "pin": "B5", "levels": 9 }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/foxlab/key65/hotswap/config.h b/keyboards/foxlab/key65/hotswap/config.h index 8ee5b2a14a8..0e4a96d81d2 100644 --- a/keyboards/foxlab/key65/hotswap/config.h +++ b/keyboards/foxlab/key65/hotswap/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/foxlab/key65/hotswap/info.json b/keyboards/foxlab/key65/hotswap/info.json index 619f59671d2..8811a8e2ee6 100644 --- a/keyboards/foxlab/key65/hotswap/info.json +++ b/keyboards/foxlab/key65/hotswap/info.json @@ -17,6 +17,12 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/foxlab/key65/universal/config.h b/keyboards/foxlab/key65/universal/config.h index 003eb0a72cf..0e4a96d81d2 100644 --- a/keyboards/foxlab/key65/universal/config.h +++ b/keyboards/foxlab/key65/universal/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/foxlab/key65/universal/info.json b/keyboards/foxlab/key65/universal/info.json index ef7c4386c83..056aa112dbc 100644 --- a/keyboards/foxlab/key65/universal/info.json +++ b/keyboards/foxlab/key65/universal/info.json @@ -17,6 +17,12 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/foxlab/leaf60/hotswap/config.h b/keyboards/foxlab/leaf60/hotswap/config.h index a7b28ae1db5..4b19ee06e7f 100644 --- a/keyboards/foxlab/leaf60/hotswap/config.h +++ b/keyboards/foxlab/leaf60/hotswap/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/foxlab/leaf60/hotswap/info.json b/keyboards/foxlab/leaf60/hotswap/info.json index f8b3c35edd5..144311d89ac 100644 --- a/keyboards/foxlab/leaf60/hotswap/info.json +++ b/keyboards/foxlab/leaf60/hotswap/info.json @@ -22,6 +22,12 @@ "caps_lock": "E6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/foxlab/leaf60/universal/config.h b/keyboards/foxlab/leaf60/universal/config.h index a7b28ae1db5..4b19ee06e7f 100644 --- a/keyboards/foxlab/leaf60/universal/config.h +++ b/keyboards/foxlab/leaf60/universal/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/foxlab/leaf60/universal/info.json b/keyboards/foxlab/leaf60/universal/info.json index a277830d9db..7847228417b 100644 --- a/keyboards/foxlab/leaf60/universal/info.json +++ b/keyboards/foxlab/leaf60/universal/info.json @@ -21,6 +21,12 @@ "caps_lock": "E6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/foxlab/time80/config.h b/keyboards/foxlab/time80/config.h index f68ee9bd551..0b0ee839718 100644 --- a/keyboards/foxlab/time80/config.h +++ b/keyboards/foxlab/time80/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 16 -//#define RGBLIGHT_HUE_STEP 8 -//#define RGBLIGHT_SAT_STEP 8 -//#define RGBLIGHT_VAL_STEP 8 -//#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/foxlab/time80/info.json b/keyboards/foxlab/time80/info.json index f5b8a7eb0c0..b19e3c31041 100644 --- a/keyboards/foxlab/time80/info.json +++ b/keyboards/foxlab/time80/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/foxlab/time_re/hotswap/config.h b/keyboards/foxlab/time_re/hotswap/config.h index 03e8b6b3d46..6b2c1721f80 100644 --- a/keyboards/foxlab/time_re/hotswap/config.h +++ b/keyboards/foxlab/time_re/hotswap/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 5 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/foxlab/time_re/hotswap/info.json b/keyboards/foxlab/time_re/hotswap/info.json index 1253771b5c3..5b5c8b11ea0 100644 --- a/keyboards/foxlab/time_re/hotswap/info.json +++ b/keyboards/foxlab/time_re/hotswap/info.json @@ -24,7 +24,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/foxlab/time_re/universal/config.h b/keyboards/foxlab/time_re/universal/config.h index 03e8b6b3d46..6b2c1721f80 100644 --- a/keyboards/foxlab/time_re/universal/config.h +++ b/keyboards/foxlab/time_re/universal/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 5 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/foxlab/time_re/universal/info.json b/keyboards/foxlab/time_re/universal/info.json index 8bb9a58ee27..2aa773e5889 100644 --- a/keyboards/foxlab/time_re/universal/info.json +++ b/keyboards/foxlab/time_re/universal/info.json @@ -20,7 +20,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "max_brightness": 200, + "sleep": true }, "indicators": { "caps_lock": "E6", diff --git a/keyboards/frooastboard/nano/config.h b/keyboards/frooastboard/nano/config.h index 32d34ead428..bf0b6ea79ba 100644 --- a/keyboards/frooastboard/nano/config.h +++ b/keyboards/frooastboard/nano/config.h @@ -16,14 +16,6 @@ #pragma once -#define RGBLED_NUM 8 - -#define RGBLIGHT_SLEEP - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_DEFAULT_HUE 234 #define RGBLIGHT_DEFAULT_VAL 190 diff --git a/keyboards/frooastboard/nano/info.json b/keyboards/frooastboard/nano/info.json index d1a77d256d0..f309c802d5e 100644 --- a/keyboards/frooastboard/nano/info.json +++ b/keyboards/frooastboard/nano/info.json @@ -24,6 +24,12 @@ "pid": "0x6F21", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/ft/mars65/config.h b/keyboards/ft/mars65/config.h index bfe825dcc93..1cdab6b8fc7 100644 --- a/keyboards/ft/mars65/config.h +++ b/keyboards/ft/mars65/config.h @@ -3,11 +3,6 @@ #pragma once - #define RGBLED_NUM 24 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ft/mars65/info.json b/keyboards/ft/mars65/info.json index 2160ae9be66..664867655c1 100644 --- a/keyboards/ft/mars65/info.json +++ b/keyboards/ft/mars65/info.json @@ -20,7 +20,11 @@ "pin": "E6" }, "rgblight": { - "max_brightness": 130 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "max_brightness": 130, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/ft/mars80/config.h b/keyboards/ft/mars80/config.h index 116c09d6ac7..d849732a072 100644 --- a/keyboards/ft/mars80/config.h +++ b/keyboards/ft/mars80/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 20 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ft/mars80/info.json b/keyboards/ft/mars80/info.json index 5801c63a237..80c47565ad0 100644 --- a/keyboards/ft/mars80/info.json +++ b/keyboards/ft/mars80/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/fungo/rev1/config.h b/keyboards/fungo/rev1/config.h index 187a7809bcf..bebed352e22 100644 --- a/keyboards/fungo/rev1/config.h +++ b/keyboards/fungo/rev1/config.h @@ -23,16 +23,8 @@ /** public parameter **/ /*************************************/ -#define MATRIX_IO_DELAY 15 // default 30 -#define TAP_CODE_DELAY 50 // default 0, disabled - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -//지정된 횟수로 눌러야 토글됨 -#define TAPPING_TOGGLE 3 - - diff --git a/keyboards/fungo/rev1/info.json b/keyboards/fungo/rev1/info.json index 2874f3d5e4a..d153f9f834a 100644 --- a/keyboards/fungo/rev1/info.json +++ b/keyboards/fungo/rev1/info.json @@ -10,7 +10,8 @@ }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], - "rows": ["D4", "C6", "D7", "E6", "B4", "B5"] + "rows": ["D4", "C6", "D7", "E6", "B4", "B5"], + "io_delay": 15 }, "diode_direction": "COL2ROW", "split": { @@ -22,9 +23,15 @@ } } }, + "qmk": { + "tap_keycode_delay": 50 + }, "processor": "atmega32u4", "bootloader": "caterina", "debounce": 3, + "tapping": { + "toggle": 3 + }, "layout_aliases": { "LAYOUT_fungo_split_num": "LAYOUT" }, diff --git a/keyboards/gami_studio/lex60/config.h b/keyboards/gami_studio/lex60/config.h index ba2a3450455..0d7d5228d2e 100644 --- a/keyboards/gami_studio/lex60/config.h +++ b/keyboards/gami_studio/lex60/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gami_studio/lex60/info.json b/keyboards/gami_studio/lex60/info.json index b5b59df7aac..f63f6e2c318 100644 --- a/keyboards/gami_studio/lex60/info.json +++ b/keyboards/gami_studio/lex60/info.json @@ -8,6 +8,9 @@ "pid": "0x0160", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/gboards/ergotaco/config.h b/keyboards/gboards/ergotaco/config.h index 456eb3f9d91..0ab992eac30 100644 --- a/keyboards/gboards/ergotaco/config.h +++ b/keyboards/gboards/ergotaco/config.h @@ -32,9 +32,6 @@ along with this program. If not, see . #define MOUSEKEY_TIME_TO_MAX 60 #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 1 - -#define TAPPING_TERM 200 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/gboards/ergotaco/info.json b/keyboards/gboards/ergotaco/info.json index 1de1f3ab85d..80558ad6929 100644 --- a/keyboards/gboards/ergotaco/info.json +++ b/keyboards/gboards/ergotaco/info.json @@ -10,6 +10,9 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "tapping": { + "toggle": 1 + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/gboards/georgi/config.h b/keyboards/gboards/georgi/config.h index db2ff42a1e8..f0785f24bc6 100644 --- a/keyboards/gboards/georgi/config.h +++ b/keyboards/gboards/georgi/config.h @@ -37,9 +37,6 @@ along with this program. If not, see . #define MOUSEKEY_TIME_TO_MAX 60 #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 2 - -#define TAPPING_TERM 200 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/gboards/georgi/info.json b/keyboards/gboards/georgi/info.json index 0a654eaa4ac..51737f75af8 100644 --- a/keyboards/gboards/georgi/info.json +++ b/keyboards/gboards/georgi/info.json @@ -11,6 +11,9 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "tapping": { + "toggle": 2 + }, "layout_aliases": { "LAYOUT_georgi": "LAYOUT" }, diff --git a/keyboards/gboards/gergo/config.h b/keyboards/gboards/gergo/config.h index dbff6ccf6f1..44cb5a4304a 100644 --- a/keyboards/gboards/gergo/config.h +++ b/keyboards/gboards/gergo/config.h @@ -41,9 +41,6 @@ along with this program. If not, see . #define MOUSEKEY_TIME_TO_MAX 60 #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 1 - -#define TAPPING_TERM 200 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/gboards/gergo/info.json b/keyboards/gboards/gergo/info.json index 53711cb2715..bc53f2db5f0 100644 --- a/keyboards/gboards/gergo/info.json +++ b/keyboards/gboards/gergo/info.json @@ -8,11 +8,17 @@ "pid": "0x1307", "device_version": "0.0.1" }, + "build": { + "debounce_type": "sym_eager_pr" + }, "bootmagic": { "matrix": [13, 2] }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "tapping": { + "toggle": 1 + }, "layout_aliases": { "LAYOUT_gergo": "LAYOUT" }, diff --git a/keyboards/gboards/gergo/rules.mk b/keyboards/gboards/gergo/rules.mk index 95e12cc36c1..195915e4314 100644 --- a/keyboards/gboards/gergo/rules.mk +++ b/keyboards/gboards/gergo/rules.mk @@ -7,6 +7,5 @@ CONSOLE_ENABLE = yes COMMAND_ENABLE = yes BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -DEBOUNCE_TYPE = sym_eager_pr SRC += matrix.c QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/gboards/gergoplex/info.json b/keyboards/gboards/gergoplex/info.json index 061f8ff8695..c5f6be47509 100644 --- a/keyboards/gboards/gergoplex/info.json +++ b/keyboards/gboards/gergoplex/info.json @@ -8,6 +8,9 @@ "pid": "0x0002", "device_version": "0.0.1" }, + "build": { + "debounce_type": "sym_eager_pr" + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["split_3x5_3"], diff --git a/keyboards/gboards/gergoplex/rules.mk b/keyboards/gboards/gergoplex/rules.mk index 6887c869b9a..adf5cfd2e7d 100644 --- a/keyboards/gboards/gergoplex/rules.mk +++ b/keyboards/gboards/gergoplex/rules.mk @@ -12,6 +12,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = yes -DEBOUNCE_TYPE = sym_eager_pr SRC += matrix.c QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h index 344ccf3fffc..47f9064e451 100644 --- a/keyboards/geekboards/macropad_v2/config.h +++ b/keyboards/geekboards/macropad_v2/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 42 #define RGB_MATRIX_LED_COUNT 42 // PWM RGB Underglow Defines @@ -86,5 +85,3 @@ #define RGB_DISABLE_WHEN_USB_SUSPENDED #define WAIT_FOR_USB - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/geekboards/macropad_v2/info.json b/keyboards/geekboards/macropad_v2/info.json index 504238b21c7..52db89c06ae 100644 --- a/keyboards/geekboards/macropad_v2/info.json +++ b/keyboards/geekboards/macropad_v2/info.json @@ -8,6 +8,9 @@ "pid": "0xA372", "device_version": "0.0.2" }, + "qmk": { + "tap_keycode_delay": 10 + }, "ws2812": { "pin": "A7", "driver": "pwm" diff --git a/keyboards/geekboards/macropad_v2/rules.mk b/keyboards/geekboards/macropad_v2/rules.mk index b7807ae4185..c49a369dd02 100644 --- a/keyboards/geekboards/macropad_v2/rules.mk +++ b/keyboards/geekboards/macropad_v2/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/geistmaschine/geist/info.json b/keyboards/geistmaschine/geist/info.json index 77a9a937e55..571740b7163 100644 --- a/keyboards/geistmaschine/geist/info.json +++ b/keyboards/geistmaschine/geist/info.json @@ -29,242 +29,246 @@ {"pin_a": "B0", "pin_b": "B7", "resolution": 2} ] }, - "community_layouts": ["65_ansi", "65_iso"], + "layout_aliases": { + "LAYOUT_65_all": "LAYOUT_all", + "LAYOUT_65_ansi": "LAYOUT_ansi_blocker", + "LAYOUT_65_iso": "LAYOUT_iso_blocker" + }, "layouts": { - "LAYOUT_65_all": { + "LAYOUT_all": { "layout": [ - {"x": 0, "y": 0, "matrix": [9, 1]}, - {"x": 1.25, "y": 0, "matrix": [0, 0]}, - {"x": 2.25, "y": 0, "matrix": [1, 0]}, - {"x": 3.25, "y": 0, "matrix": [0, 1]}, - {"x": 4.25, "y": 0, "matrix": [1, 1]}, - {"x": 5.25, "y": 0, "matrix": [0, 2]}, - {"x": 6.25, "y": 0, "matrix": [1, 2]}, - {"x": 7.25, "y": 0, "matrix": [0, 3]}, - {"x": 8.25, "y": 0, "matrix": [1, 3]}, - {"x": 9.25, "y": 0, "matrix": [0, 4]}, - {"x": 10.25, "y": 0, "matrix": [1, 4]}, - {"x": 11.25, "y": 0, "matrix": [0, 5]}, - {"x": 12.25, "y": 0, "matrix": [1, 5]}, - {"x": 13.25, "y": 0, "matrix": [0, 6]}, - {"x": 14.25, "y": 0, "matrix": [1, 6]}, - {"x": 15.25, "y": 0, "matrix": [0, 7]}, - {"x": 16.25, "y": 0, "matrix": [1, 7]}, + {"matrix": [9, 1], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1.25, "y": 0}, + {"matrix": [1, 0], "x": 2.25, "y": 0}, + {"matrix": [0, 1], "x": 3.25, "y": 0}, + {"matrix": [1, 1], "x": 4.25, "y": 0}, + {"matrix": [0, 2], "x": 5.25, "y": 0}, + {"matrix": [1, 2], "x": 6.25, "y": 0}, + {"matrix": [0, 3], "x": 7.25, "y": 0}, + {"matrix": [1, 3], "x": 8.25, "y": 0}, + {"matrix": [0, 4], "x": 9.25, "y": 0}, + {"matrix": [1, 4], "x": 10.25, "y": 0}, + {"matrix": [0, 5], "x": 11.25, "y": 0}, + {"matrix": [1, 5], "x": 12.25, "y": 0}, + {"matrix": [0, 6], "x": 13.25, "y": 0}, + {"matrix": [1, 6], "x": 14.25, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 7], "x": 16.25, "y": 0}, - {"x": 1.25, "y": 1, "w": 1.5, "matrix": [2, 0]}, - {"x": 2.75, "y": 1, "matrix": [3, 0]}, - {"x": 3.75, "y": 1, "matrix": [2, 1]}, - {"x": 4.75, "y": 1, "matrix": [3, 1]}, - {"x": 5.75, "y": 1, "matrix": [2, 2]}, - {"x": 6.75, "y": 1, "matrix": [3, 2]}, - {"x": 7.75, "y": 1, "matrix": [2, 3]}, - {"x": 8.75, "y": 1, "matrix": [3, 3]}, - {"x": 9.75, "y": 1, "matrix": [2, 4]}, - {"x": 10.75, "y": 1, "matrix": [3, 4]}, - {"x": 11.75, "y": 1, "matrix": [2, 5]}, - {"x": 12.75, "y": 1, "matrix": [3, 5]}, - {"x": 13.75, "y": 1, "matrix": [2, 6]}, - {"x": 14.75, "y": 1, "w": 1.5, "matrix": [3, 6]}, - {"x": 16.25, "y": 1, "matrix": [3, 7]}, + {"matrix": [2, 0], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 2.75, "y": 1}, + {"matrix": [2, 1], "x": 3.75, "y": 1}, + {"matrix": [3, 1], "x": 4.75, "y": 1}, + {"matrix": [2, 2], "x": 5.75, "y": 1}, + {"matrix": [3, 2], "x": 6.75, "y": 1}, + {"matrix": [2, 3], "x": 7.75, "y": 1}, + {"matrix": [3, 3], "x": 8.75, "y": 1}, + {"matrix": [2, 4], "x": 9.75, "y": 1}, + {"matrix": [3, 4], "x": 10.75, "y": 1}, + {"matrix": [2, 5], "x": 11.75, "y": 1}, + {"matrix": [3, 5], "x": 12.75, "y": 1}, + {"matrix": [2, 6], "x": 13.75, "y": 1}, + {"matrix": [3, 6], "x": 14.75, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 16.25, "y": 1}, - {"x": 1.25, "y": 2, "w": 1.75, "matrix": [4, 0]}, - {"x": 3, "y": 2, "matrix": [5, 0]}, - {"x": 4, "y": 2, "matrix": [4, 1]}, - {"x": 5, "y": 2, "matrix": [5, 1]}, - {"x": 6, "y": 2, "matrix": [4, 2]}, - {"x": 7, "y": 2, "matrix": [5, 2]}, - {"x": 8, "y": 2, "matrix": [4, 3]}, - {"x": 9, "y": 2, "matrix": [5, 3]}, - {"x": 10, "y": 2, "matrix": [4, 4]}, - {"x": 11, "y": 2, "matrix": [5, 4]}, - {"x": 12, "y": 2, "matrix": [4, 5]}, - {"x": 13, "y": 2, "matrix": [5, 5]}, - {"x": 14, "y": 2, "matrix": [4, 6]}, - {"x": 14, "y": 2, "w": 2.25, "matrix": [5, 6]}, - {"x": 15, "y": 1, "w": 1.25, "h": 2, "matrix": [4, 7]}, - {"x": 16.25, "y": 2, "matrix": [5, 7]}, + {"matrix": [4, 0], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 3, "y": 2}, + {"matrix": [4, 1], "x": 4, "y": 2}, + {"matrix": [5, 1], "x": 5, "y": 2}, + {"matrix": [4, 2], "x": 6, "y": 2}, + {"matrix": [5, 2], "x": 7, "y": 2}, + {"matrix": [4, 3], "x": 8, "y": 2}, + {"matrix": [5, 3], "x": 9, "y": 2}, + {"matrix": [4, 4], "x": 10, "y": 2}, + {"matrix": [5, 4], "x": 11, "y": 2}, + {"matrix": [4, 5], "x": 12, "y": 2}, + {"matrix": [5, 5], "x": 13, "y": 2}, + {"matrix": [4, 6], "x": 18, "y": 2}, + {"matrix": [5, 6], "x": 14, "y": 2, "w": 2.25}, + {"matrix": [4, 7], "x": 19, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 16.25, "y": 2}, - {"x": 1.25, "y": 3, "w": 1.25, "matrix": [6, 0]}, - {"x": 2.5, "y": 3, "matrix": [7, 0]}, - {"x": 3.5, "y": 3, "matrix": [6, 1]}, - {"x": 4.5, "y": 3, "matrix": [7, 1]}, - {"x": 5.5, "y": 3, "matrix": [6, 2]}, - {"x": 6.5, "y": 3, "matrix": [7, 2]}, - {"x": 7.5, "y": 3, "matrix": [6, 3]}, - {"x": 8.5, "y": 3, "matrix": [7, 3]}, - {"x": 9.5, "y": 3, "matrix": [6, 4]}, - {"x": 10.5, "y": 3, "matrix": [7, 4]}, - {"x": 11.5, "y": 3, "matrix": [6, 5]}, - {"x": 12.5, "y": 3, "matrix": [7, 5]}, - {"x": 13.5, "y": 3, "w": 1.75, "matrix": [6, 6]}, - {"x": 15.25, "y": 3, "matrix": [6, 7]}, - {"x": 16.25, "y": 3, "matrix": [7, 7]}, + {"matrix": [6, 0], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 2.5, "y": 3}, + {"matrix": [6, 1], "x": 3.5, "y": 3}, + {"matrix": [7, 1], "x": 4.5, "y": 3}, + {"matrix": [6, 2], "x": 5.5, "y": 3}, + {"matrix": [7, 2], "x": 6.5, "y": 3}, + {"matrix": [6, 3], "x": 7.5, "y": 3}, + {"matrix": [7, 3], "x": 8.5, "y": 3}, + {"matrix": [6, 4], "x": 9.5, "y": 3}, + {"matrix": [7, 4], "x": 10.5, "y": 3}, + {"matrix": [6, 5], "x": 11.5, "y": 3}, + {"matrix": [7, 5], "x": 12.5, "y": 3}, + {"matrix": [6, 6], "x": 13.5, "y": 3, "w": 1.75}, + {"matrix": [6, 7], "x": 15.25, "y": 3}, + {"matrix": [7, 7], "x": 16.25, "y": 3}, - {"x": 1.25, "y": 4, "w": 1.25, "matrix": [8, 0]}, - {"x": 2.5, "y": 4, "w": 1.25, "matrix": [9, 0]}, - {"x": 3.75, "y": 4, "w": 1.25, "matrix": [8, 1]}, - {"x": 5, "y": 4, "w": 2.25, "matrix": [8, 2]}, - {"x": 7.25, "y": 4, "w": 1.25, "matrix": [8, 3]}, - {"x": 8.5, "y": 4, "w": 2.75, "matrix": [8, 4]}, - {"x": 11.25, "y": 4, "w": 1.25, "matrix": [8, 5]}, - {"x": 12.5, "y": 4, "w": 1.25, "matrix": [9, 5]}, - {"x": 14.25, "y": 4, "matrix": [9, 6]}, - {"x": 15.25, "y": 4, "matrix": [8, 7]}, - {"x": 16.25, "y": 4, "matrix": [9, 7]} + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [8, 2], "x": 5, "y": 4, "w": 2.25}, + {"matrix": [8, 3], "x": 7.25, "y": 4, "w": 1.25}, + {"matrix": [8, 4], "x": 8.5, "y": 4, "w": 2.75}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 6], "x": 14.25, "y": 4}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 7], "x": 16.25, "y": 4} ] }, - "LAYOUT_65_ansi": { + "LAYOUT_ansi_blocker": { "layout": [ - {"x": 0, "y": 0, "matrix": [9, 1]}, - {"x": 1.25, "y": 0, "matrix": [0, 0]}, - {"x": 2.25, "y": 0, "matrix": [1, 0]}, - {"x": 3.25, "y": 0, "matrix": [0, 1]}, - {"x": 4.25, "y": 0, "matrix": [1, 1]}, - {"x": 5.25, "y": 0, "matrix": [0, 2]}, - {"x": 6.25, "y": 0, "matrix": [1, 2]}, - {"x": 7.25, "y": 0, "matrix": [0, 3]}, - {"x": 8.25, "y": 0, "matrix": [1, 3]}, - {"x": 9.25, "y": 0, "matrix": [0, 4]}, - {"x": 10.25, "y": 0, "matrix": [1, 4]}, - {"x": 11.25, "y": 0, "matrix": [0, 5]}, - {"x": 12.25, "y": 0, "matrix": [1, 5]}, - {"x": 13.25, "y": 0, "matrix": [0, 6]}, - {"x": 14.25, "y": 0, "w": 2, "matrix": [0, 7]}, - {"x": 16.25, "y": 0, "matrix": [1, 7]}, + {"matrix": [9, 1], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1.25, "y": 0}, + {"matrix": [1, 0], "x": 2.25, "y": 0}, + {"matrix": [0, 1], "x": 3.25, "y": 0}, + {"matrix": [1, 1], "x": 4.25, "y": 0}, + {"matrix": [0, 2], "x": 5.25, "y": 0}, + {"matrix": [1, 2], "x": 6.25, "y": 0}, + {"matrix": [0, 3], "x": 7.25, "y": 0}, + {"matrix": [1, 3], "x": 8.25, "y": 0}, + {"matrix": [0, 4], "x": 9.25, "y": 0}, + {"matrix": [1, 4], "x": 10.25, "y": 0}, + {"matrix": [0, 5], "x": 11.25, "y": 0}, + {"matrix": [1, 5], "x": 12.25, "y": 0}, + {"matrix": [0, 6], "x": 13.25, "y": 0}, + {"matrix": [0, 7], "x": 14.25, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 16.25, "y": 0}, - {"x": 1.25, "y": 1, "w": 1.5, "matrix": [2, 0]}, - {"x": 2.75, "y": 1, "matrix": [3, 0]}, - {"x": 3.75, "y": 1, "matrix": [2, 1]}, - {"x": 4.75, "y": 1, "matrix": [3, 1]}, - {"x": 5.75, "y": 1, "matrix": [2, 2]}, - {"x": 6.75, "y": 1, "matrix": [3, 2]}, - {"x": 7.75, "y": 1, "matrix": [2, 3]}, - {"x": 8.75, "y": 1, "matrix": [3, 3]}, - {"x": 9.75, "y": 1, "matrix": [2, 4]}, - {"x": 10.75, "y": 1, "matrix": [3, 4]}, - {"x": 11.75, "y": 1, "matrix": [2, 5]}, - {"x": 12.75, "y": 1, "matrix": [3, 5]}, - {"x": 13.75, "y": 1, "matrix": [2, 6]}, - {"x": 14.75, "y": 1, "w": 1.5, "matrix": [3, 6]}, - {"x": 16.25, "y": 1, "matrix": [3, 7]}, + {"matrix": [2, 0], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 2.75, "y": 1}, + {"matrix": [2, 1], "x": 3.75, "y": 1}, + {"matrix": [3, 1], "x": 4.75, "y": 1}, + {"matrix": [2, 2], "x": 5.75, "y": 1}, + {"matrix": [3, 2], "x": 6.75, "y": 1}, + {"matrix": [2, 3], "x": 7.75, "y": 1}, + {"matrix": [3, 3], "x": 8.75, "y": 1}, + {"matrix": [2, 4], "x": 9.75, "y": 1}, + {"matrix": [3, 4], "x": 10.75, "y": 1}, + {"matrix": [2, 5], "x": 11.75, "y": 1}, + {"matrix": [3, 5], "x": 12.75, "y": 1}, + {"matrix": [2, 6], "x": 13.75, "y": 1}, + {"matrix": [3, 6], "x": 14.75, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 16.25, "y": 1}, - {"x": 1.25, "y": 2, "w": 1.75, "matrix": [4, 0]}, - {"x": 3, "y": 2, "matrix": [5, 0]}, - {"x": 4, "y": 2, "matrix": [4, 1]}, - {"x": 5, "y": 2, "matrix": [5, 1]}, - {"x": 6, "y": 2, "matrix": [4, 2]}, - {"x": 7, "y": 2, "matrix": [5, 2]}, - {"x": 8, "y": 2, "matrix": [4, 3]}, - {"x": 9, "y": 2, "matrix": [5, 3]}, - {"x": 10, "y": 2, "matrix": [4, 4]}, - {"x": 11, "y": 2, "matrix": [5, 4]}, - {"x": 12, "y": 2, "matrix": [4, 5]}, - {"x": 13, "y": 2, "matrix": [5, 5]}, - {"x": 14, "y": 2, "w": 2.25, "matrix": [5, 6]}, - {"x": 16.25, "y": 2, "matrix": [5, 7]}, + {"matrix": [4, 0], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 3, "y": 2}, + {"matrix": [4, 1], "x": 4, "y": 2}, + {"matrix": [5, 1], "x": 5, "y": 2}, + {"matrix": [4, 2], "x": 6, "y": 2}, + {"matrix": [5, 2], "x": 7, "y": 2}, + {"matrix": [4, 3], "x": 8, "y": 2}, + {"matrix": [5, 3], "x": 9, "y": 2}, + {"matrix": [4, 4], "x": 10, "y": 2}, + {"matrix": [5, 4], "x": 11, "y": 2}, + {"matrix": [4, 5], "x": 12, "y": 2}, + {"matrix": [5, 5], "x": 13, "y": 2}, + {"matrix": [5, 6], "x": 14, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 16.25, "y": 2}, - {"x": 1.25, "y": 3, "w": 2.25, "matrix": [6, 0]}, - {"x": 3.5, "y": 3, "matrix": [6, 1]}, - {"x": 4.5, "y": 3, "matrix": [7, 1]}, - {"x": 5.5, "y": 3, "matrix": [6, 2]}, - {"x": 6.5, "y": 3, "matrix": [7, 2]}, - {"x": 7.5, "y": 3, "matrix": [6, 3]}, - {"x": 8.5, "y": 3, "matrix": [7, 3]}, - {"x": 9.5, "y": 3, "matrix": [6, 4]}, - {"x": 10.5, "y": 3, "matrix": [7, 4]}, - {"x": 11.5, "y": 3, "matrix": [6, 5]}, - {"x": 12.5, "y": 3, "matrix": [7, 5]}, - {"x": 13.5, "y": 3, "w": 1.75, "matrix": [6, 6]}, - {"x": 15.25, "y": 3, "matrix": [6, 7]}, - {"x": 16.25, "y": 3, "matrix": [7, 7]}, + {"matrix": [6, 0], "x": 1.25, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 3.5, "y": 3}, + {"matrix": [7, 1], "x": 4.5, "y": 3}, + {"matrix": [6, 2], "x": 5.5, "y": 3}, + {"matrix": [7, 2], "x": 6.5, "y": 3}, + {"matrix": [6, 3], "x": 7.5, "y": 3}, + {"matrix": [7, 3], "x": 8.5, "y": 3}, + {"matrix": [6, 4], "x": 9.5, "y": 3}, + {"matrix": [7, 4], "x": 10.5, "y": 3}, + {"matrix": [6, 5], "x": 11.5, "y": 3}, + {"matrix": [7, 5], "x": 12.5, "y": 3}, + {"matrix": [6, 6], "x": 13.5, "y": 3, "w": 1.75}, + {"matrix": [6, 7], "x": 15.25, "y": 3}, + {"matrix": [7, 7], "x": 16.25, "y": 3}, - {"x": 1.25, "y": 4, "w": 1.25, "matrix": [8, 0]}, - {"x": 2.5, "y": 4, "w": 1.25, "matrix": [9, 0]}, - {"x": 3.75, "y": 4, "w": 1.25, "matrix": [8, 1]}, - {"x": 5, "y": 4, "w": 6.25, "matrix": [8, 3]}, - {"x": 11.25, "y": 4, "w": 1.25, "matrix": [8, 5]}, - {"x": 12.5, "y": 4, "w": 1.25, "matrix": [9, 5]}, - {"x": 14.25, "y": 4, "matrix": [9, 6]}, - {"x": 15.25, "y": 4, "matrix": [8, 7]}, - {"x": 16.25, "y": 4, "matrix": [9, 7]} - ] + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 5, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 6], "x": 14.25, "y": 4}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 7], "x": 16.25, "y": 4} + ] }, - "LAYOUT_65_iso": { - "layout": [ - {"x": 0, "y": 0, "matrix": [9, 1]}, - {"x": 1.25, "y": 0, "matrix": [0, 0]}, - {"x": 2.25, "y": 0, "matrix": [1, 0]}, - {"x": 3.25, "y": 0, "matrix": [0, 1]}, - {"x": 4.25, "y": 0, "matrix": [1, 1]}, - {"x": 5.25, "y": 0, "matrix": [0, 2]}, - {"x": 6.25, "y": 0, "matrix": [1, 2]}, - {"x": 7.25, "y": 0, "matrix": [0, 3]}, - {"x": 8.25, "y": 0, "matrix": [1, 3]}, - {"x": 9.25, "y": 0, "matrix": [0, 4]}, - {"x": 10.25, "y": 0, "matrix": [1, 4]}, - {"x": 11.25, "y": 0, "matrix": [0, 5]}, - {"x": 12.25, "y": 0, "matrix": [1, 5]}, - {"x": 13.25, "y": 0, "matrix": [0, 6]}, - {"x": 14.25, "y": 0, "w": 2, "matrix": [0, 7]}, - {"x": 16.25, "y": 0, "matrix": [1, 7]}, + "LAYOUT_iso_blocker": { + "layout": [ + {"matrix": [9, 1], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1.25, "y": 0}, + {"matrix": [1, 0], "x": 2.25, "y": 0}, + {"matrix": [0, 1], "x": 3.25, "y": 0}, + {"matrix": [1, 1], "x": 4.25, "y": 0}, + {"matrix": [0, 2], "x": 5.25, "y": 0}, + {"matrix": [1, 2], "x": 6.25, "y": 0}, + {"matrix": [0, 3], "x": 7.25, "y": 0}, + {"matrix": [1, 3], "x": 8.25, "y": 0}, + {"matrix": [0, 4], "x": 9.25, "y": 0}, + {"matrix": [1, 4], "x": 10.25, "y": 0}, + {"matrix": [0, 5], "x": 11.25, "y": 0}, + {"matrix": [1, 5], "x": 12.25, "y": 0}, + {"matrix": [0, 6], "x": 13.25, "y": 0}, + {"matrix": [0, 7], "x": 14.25, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 16.25, "y": 0}, - {"x": 1.25, "y": 1, "w": 1.5, "matrix": [2, 0]}, - {"x": 2.75, "y": 1, "matrix": [3, 0]}, - {"x": 3.75, "y": 1, "matrix": [2, 1]}, - {"x": 4.75, "y": 1, "matrix": [3, 1]}, - {"x": 5.75, "y": 1, "matrix": [2, 2]}, - {"x": 6.75, "y": 1, "matrix": [3, 2]}, - {"x": 7.75, "y": 1, "matrix": [2, 3]}, - {"x": 8.75, "y": 1, "matrix": [3, 3]}, - {"x": 9.75, "y": 1, "matrix": [2, 4]}, - {"x": 10.75, "y": 1, "matrix": [3, 4]}, - {"x": 11.75, "y": 1, "matrix": [2, 5]}, - {"x": 12.75, "y": 1, "matrix": [3, 5]}, - {"x": 13.75, "y": 1, "matrix": [2, 6]}, - {"x": 16.25, "y": 1, "matrix": [3, 7]}, + {"matrix": [2, 0], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 2.75, "y": 1}, + {"matrix": [2, 1], "x": 3.75, "y": 1}, + {"matrix": [3, 1], "x": 4.75, "y": 1}, + {"matrix": [2, 2], "x": 5.75, "y": 1}, + {"matrix": [3, 2], "x": 6.75, "y": 1}, + {"matrix": [2, 3], "x": 7.75, "y": 1}, + {"matrix": [3, 3], "x": 8.75, "y": 1}, + {"matrix": [2, 4], "x": 9.75, "y": 1}, + {"matrix": [3, 4], "x": 10.75, "y": 1}, + {"matrix": [2, 5], "x": 11.75, "y": 1}, + {"matrix": [3, 5], "x": 12.75, "y": 1}, + {"matrix": [2, 6], "x": 13.75, "y": 1}, + {"matrix": [3, 7], "x": 16.25, "y": 1}, - {"x": 1.25, "y": 2, "w": 1.75, "matrix": [4, 0]}, - {"x": 3, "y": 2, "matrix": [5, 0]}, - {"x": 4, "y": 2, "matrix": [4, 1]}, - {"x": 5, "y": 2, "matrix": [5, 1]}, - {"x": 6, "y": 2, "matrix": [4, 2]}, - {"x": 7, "y": 2, "matrix": [5, 2]}, - {"x": 8, "y": 2, "matrix": [4, 3]}, - {"x": 9, "y": 2, "matrix": [5, 3]}, - {"x": 10, "y": 2, "matrix": [4, 4]}, - {"x": 11, "y": 2, "matrix": [5, 4]}, - {"x": 12, "y": 2, "matrix": [4, 5]}, - {"x": 13, "y": 2, "matrix": [5, 5]}, - {"x": 14, "y": 2, "matrix": [4, 6]}, - {"x": 15, "y": 1, "w": 1.25, "h": 2, "matrix": [4, 7]}, - {"x": 16.25, "y": 2, "matrix": [5, 7]}, + {"matrix": [4, 0], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 3, "y": 2}, + {"matrix": [4, 1], "x": 4, "y": 2}, + {"matrix": [5, 1], "x": 5, "y": 2}, + {"matrix": [4, 2], "x": 6, "y": 2}, + {"matrix": [5, 2], "x": 7, "y": 2}, + {"matrix": [4, 3], "x": 8, "y": 2}, + {"matrix": [5, 3], "x": 9, "y": 2}, + {"matrix": [4, 4], "x": 10, "y": 2}, + {"matrix": [5, 4], "x": 11, "y": 2}, + {"matrix": [4, 5], "x": 12, "y": 2}, + {"matrix": [5, 5], "x": 13, "y": 2}, + {"matrix": [4, 6], "x": 14, "y": 2}, + {"matrix": [4, 7], "x": 15, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 16.25, "y": 2}, - {"x": 1.25, "y": 3, "w": 1.25, "matrix": [6, 0]}, - {"x": 2.5, "y": 3, "matrix": [7, 0]}, - {"x": 3.5, "y": 3, "matrix": [6, 1]}, - {"x": 4.5, "y": 3, "matrix": [7, 1]}, - {"x": 5.5, "y": 3, "matrix": [6, 2]}, - {"x": 6.5, "y": 3, "matrix": [7, 2]}, - {"x": 7.5, "y": 3, "matrix": [6, 3]}, - {"x": 8.5, "y": 3, "matrix": [7, 3]}, - {"x": 9.5, "y": 3, "matrix": [6, 4]}, - {"x": 10.5, "y": 3, "matrix": [7, 4]}, - {"x": 11.5, "y": 3, "matrix": [6, 5]}, - {"x": 12.5, "y": 3, "matrix": [7, 5]}, - {"x": 13.5, "y": 3, "w": 1.75, "matrix": [6, 6]}, - {"x": 15.25, "y": 3, "matrix": [6, 7]}, - {"x": 16.25, "y": 3, "matrix": [7, 7]}, + {"matrix": [6, 0], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 2.5, "y": 3}, + {"matrix": [6, 1], "x": 3.5, "y": 3}, + {"matrix": [7, 1], "x": 4.5, "y": 3}, + {"matrix": [6, 2], "x": 5.5, "y": 3}, + {"matrix": [7, 2], "x": 6.5, "y": 3}, + {"matrix": [6, 3], "x": 7.5, "y": 3}, + {"matrix": [7, 3], "x": 8.5, "y": 3}, + {"matrix": [6, 4], "x": 9.5, "y": 3}, + {"matrix": [7, 4], "x": 10.5, "y": 3}, + {"matrix": [6, 5], "x": 11.5, "y": 3}, + {"matrix": [7, 5], "x": 12.5, "y": 3}, + {"matrix": [6, 6], "x": 13.5, "y": 3, "w": 1.75}, + {"matrix": [6, 7], "x": 15.25, "y": 3}, + {"matrix": [7, 7], "x": 16.25, "y": 3}, - {"x": 1.25, "y": 4, "w": 1.25, "matrix": [8, 0]}, - {"x": 2.5, "y": 4, "w": 1.25, "matrix": [9, 0]}, - {"x": 3.75, "y": 4, "w": 1.25, "matrix": [8, 1]}, - {"x": 5, "y": 4, "w": 6.25, "matrix": [8, 3]}, - {"x": 11.25, "y": 4, "w": 1.25, "matrix": [8, 5]}, - {"x": 12.5, "y": 4, "w": 1.25, "matrix": [9, 5]}, - {"x": 14.25, "y": 4, "matrix": [9, 6]}, - {"x": 15.25, "y": 4, "matrix": [8, 7]}, - {"x": 16.25, "y": 4, "matrix": [9, 7]} - ] + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 5, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 6], "x": 14.25, "y": 4}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 7], "x": 16.25, "y": 4} + ] } } } diff --git a/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c b/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c index 88dea9b7762..cebb8fb073a 100644 --- a/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c +++ b/keyboards/geistmaschine/geist/keymaps/ansi/keymap.c @@ -30,21 +30,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │Ctrl│GUI │Alt │ │Alt │GUI │ │ ← │ ↓ │ → │ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ - [0] = LAYOUT_65_ansi( + [0] = LAYOUT_ansi_blocker( LT(2, 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_TAB, KC_Q, 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_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, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_65_ansi( + [1] = LAYOUT_ansi_blocker( KC_MPLY, 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_TRNS, KC_TRNS, KC_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_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [2] = LAYOUT_65_ansi( + [2] = LAYOUT_ansi_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, diff --git a/keyboards/geistmaschine/geist/keymaps/default/keymap.c b/keyboards/geistmaschine/geist/keymaps/default/keymap.c index 6401a0cbf84..6d96c572ba3 100644 --- a/keyboards/geistmaschine/geist/keymaps/default/keymap.c +++ b/keyboards/geistmaschine/geist/keymaps/default/keymap.c @@ -18,21 +18,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_all( + [0] = LAYOUT_all( LT(2, 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_TRNS, 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_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_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, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_65_all( + [1] = LAYOUT_all( KC_MPLY, 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_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_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_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [2] = LAYOUT_65_all( + [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, diff --git a/keyboards/geistmaschine/geist/keymaps/iso/keymap.c b/keyboards/geistmaschine/geist/keymaps/iso/keymap.c index f1cc032c978..658e4ec984f 100644 --- a/keyboards/geistmaschine/geist/keymaps/iso/keymap.c +++ b/keyboards/geistmaschine/geist/keymaps/iso/keymap.c @@ -30,21 +30,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │Ctrl│GUI │Alt │ │Alt │GUI │ │ ← │ ↓ │ → │ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ - [0] = LAYOUT_65_iso( + [0] = LAYOUT_iso_blocker( LT(2, 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, 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_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, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_65_iso( + [1] = LAYOUT_iso_blocker( KC_MPLY, 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_TRNS, KC_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_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [2] = LAYOUT_65_iso( + [2] = LAYOUT_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, diff --git a/keyboards/geistmaschine/geist/keymaps/via/keymap.c b/keyboards/geistmaschine/geist/keymaps/via/keymap.c index 2814b8001ac..068f500fb01 100644 --- a/keyboards/geistmaschine/geist/keymaps/via/keymap.c +++ b/keyboards/geistmaschine/geist/keymaps/via/keymap.c @@ -18,28 +18,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_all( + [0] = LAYOUT_all( LT(2, 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_TRNS, 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_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_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, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_65_all( + [1] = LAYOUT_all( KC_MPLY, 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_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_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_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [2] = LAYOUT_65_all( + [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 ), - [3] = LAYOUT_65_all( + [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, diff --git a/keyboards/geistmaschine/geist/matrix_diagram.md b/keyboards/geistmaschine/geist/matrix_diagram.md new file mode 100644 index 00000000000..9c0da5e1833 --- /dev/null +++ b/keyboards/geistmaschine/geist/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for Geistmaschine Geist + +``` +┌───┐ +│91 │ +└───┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ + │00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │16 │07 │17 │ │07 │ 2u Backspace + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ + │20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │37 │ │ │ + ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐47 │ ISO Enter + │40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │56 │57 │ │46 │ │ + ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ + │60 │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │67 │77 │ + ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + │80 │90 │81 │82 │83 │84 │85 │95 │ │96 │87 │97 │ + └────┴────┴────┴────────┴────┴──────────┴────┴────┘ └───┴───┴───┘ + ┌────────┐ + │60 │ 2.25u LShift + └────────┘ + ┌────┬────┬────┬────────────────────────┬────┬────┐ + │80 │90 │81 │83 │85 │95 │ Blocker + └────┴────┴────┴────────────────────────┴────┴────┘ + ┌─────┬───┬─────┬───────────────────────────┬─────┐ + │80 │90 │81 │83 │95 │ Blocker Tsangan + └─────┴───┴─────┴───────────────────────────┴─────┘ + ┌─────┬───┬─────┬───────────┬───────────┬────┬────┐ + │80 │90 │81 │82 │84 │85 │95 │ 2x 3u Spacebars + └─────┴───┴─────┴───────────┴───────────┴────┴────┘ +``` diff --git a/keyboards/geonworks/frogmini/fmh/rules.mk b/keyboards/geonworks/frogmini/fmh/rules.mk index 683a20e5c05..1f63f8feef5 100644 --- a/keyboards/geonworks/frogmini/fmh/rules.mk +++ b/keyboards/geonworks/frogmini/fmh/rules.mk @@ -16,5 +16,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/geonworks/frogmini/fms/config.h b/keyboards/geonworks/frogmini/fms/config.h index 6576ee9efe9..ddeaa2abff0 100644 --- a/keyboards/geonworks/frogmini/fms/config.h +++ b/keyboards/geonworks/frogmini/fms/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD1 -#define BACKLIGHT_PWM_CHANNEL 3 #define BACKLIGHT_PAL_MODE 1 #define I2C_DRIVER I2CD1 diff --git a/keyboards/geonworks/frogmini/fms/rules.mk b/keyboards/geonworks/frogmini/fms/rules.mk index d847becc1a7..dfd36d0f82b 100644 --- a/keyboards/geonworks/frogmini/fms/rules.mk +++ b/keyboards/geonworks/frogmini/fms/rules.mk @@ -16,5 +16,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/gh60/satan/config.h b/keyboards/gh60/satan/config.h index 1fbb35b3a23..0dd6c10aa0a 100644 --- a/keyboards/gh60/satan/config.h +++ b/keyboards/gh60/satan/config.h @@ -34,10 +34,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* * Feature disable options diff --git a/keyboards/gh60/satan/info.json b/keyboards/gh60/satan/info.json index 6432d8eb45b..08e73d22706 100644 --- a/keyboards/gh60/satan/info.json +++ b/keyboards/gh60/satan/info.json @@ -17,6 +17,10 @@ "pin": "B6", "levels": 4 }, + "rgblight": { + "hue_steps": 10, + "led_count": 8 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/gh60/v1p3/config.h b/keyboards/gh60/v1p3/config.h index c294394ecab..ca30d472c88 100644 --- a/keyboards/gh60/v1p3/config.h +++ b/keyboards/gh60/v1p3/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gh60/v1p3/info.json b/keyboards/gh60/v1p3/info.json index 191cca4f57f..7057634fb13 100644 --- a/keyboards/gh60/v1p3/info.json +++ b/keyboards/gh60/v1p3/info.json @@ -17,6 +17,12 @@ "pin": "B6", "levels": 15 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/gh80_3000/keymaps/ansi_std/keymap.c b/keyboards/gh80_3000/keymaps/ansi_std/keymap.c index f33767ca641..f99d522ead4 100644 --- a/keyboards/gh80_3000/keymaps/ansi_std/keymap.c +++ b/keyboards/gh80_3000/keymaps/ansi_std/keymap.c @@ -12,23 +12,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - DDRB |= (1 << 5); PORTB &= ~(1 << 5); +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { + DDRB |= (1 << 5); + PORTB &= ~(1 << 5); } else { - DDRB &= ~(1 << 5); PORTB &= ~(1 << 5); + DDRB &= ~(1 << 5); + PORTB &= ~(1 << 5); } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 6); PORTB &= ~(1 << 6); + if (led_state.caps_lock) { + DDRB |= (1 << 6); + PORTB &= ~(1 << 6); } else { - DDRB &= ~(1 << 6); PORTB &= ~(1 << 6); + DDRB &= ~(1 << 6); + PORTB &= ~(1 << 6); } - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - DDRB |= (1 << 7); PORTB &= ~(1 << 7); + if (led_state.scroll_lock) { + DDRB |= (1 << 7); + PORTB &= ~(1 << 7); } else { - DDRB &= ~(1 << 7); PORTB &= ~(1 << 7); + DDRB &= ~(1 << 7); + PORTB &= ~(1 << 7); } + return false; } diff --git a/keyboards/gh80_3000/keymaps/ansi_wkl/keymap.c b/keyboards/gh80_3000/keymaps/ansi_wkl/keymap.c index 28a34c4269e..b3f2426e88a 100644 --- a/keyboards/gh80_3000/keymaps/ansi_wkl/keymap.c +++ b/keyboards/gh80_3000/keymaps/ansi_wkl/keymap.c @@ -12,23 +12,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { + DDRB |= (1 << 5); + PORTB &= ~(1 << 5); + } else { + DDRB &= ~(1 << 5); + PORTB &= ~(1 << 5); + } - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - DDRB |= (1 << 5); PORTB &= ~(1 << 5); - } else { - DDRB &= ~(1 << 5); PORTB &= ~(1 << 5); - } + if (led_state.caps_lock) { + DDRB |= (1 << 6); + PORTB &= ~(1 << 6); + } else { + DDRB &= ~(1 << 6); + PORTB &= ~(1 << 6); + } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 6); PORTB &= ~(1 << 6); - } else { - DDRB &= ~(1 << 6); PORTB &= ~(1 << 6); - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - DDRB |= (1 << 7); PORTB &= ~(1 << 7); - } else { - DDRB &= ~(1 << 7); PORTB &= ~(1 << 7); - } + if (led_state.scroll_lock) { + DDRB |= (1 << 7); + PORTB &= ~(1 << 7); + } else { + DDRB &= ~(1 << 7); + PORTB &= ~(1 << 7); + } + return false; } diff --git a/keyboards/gh80_3000/keymaps/default/keymap.c b/keyboards/gh80_3000/keymaps/default/keymap.c index 264f20fbcae..b74127fc5e1 100644 --- a/keyboards/gh80_3000/keymaps/default/keymap.c +++ b/keyboards/gh80_3000/keymaps/default/keymap.c @@ -12,23 +12,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - DDRB |= (1 << 5); PORTB &= ~(1 << 5); +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { + DDRB |= (1 << 5); + PORTB &= ~(1 << 5); } else { - DDRB &= ~(1 << 5); PORTB &= ~(1 << 5); + DDRB &= ~(1 << 5); + PORTB &= ~(1 << 5); } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 6); PORTB &= ~(1 << 6); + if (led_state.caps_lock) { + DDRB |= (1 << 6); + PORTB &= ~(1 << 6); } else { - DDRB &= ~(1 << 6); PORTB &= ~(1 << 6); + DDRB &= ~(1 << 6); + PORTB &= ~(1 << 6); } - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - DDRB |= (1 << 7); PORTB &= ~(1 << 7); + if (led_state.scroll_lock) { + DDRB |= (1 << 7); + PORTB &= ~(1 << 7); } else { - DDRB &= ~(1 << 7); PORTB &= ~(1 << 7); + DDRB &= ~(1 << 7); + PORTB &= ~(1 << 7); } + return false; } diff --git a/keyboards/gh80_3000/keymaps/iso_default/keymap.c b/keyboards/gh80_3000/keymaps/iso_default/keymap.c index 137a6513b64..4c4b10f458a 100644 --- a/keyboards/gh80_3000/keymaps/iso_default/keymap.c +++ b/keyboards/gh80_3000/keymaps/iso_default/keymap.c @@ -12,23 +12,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - DDRB |= (1 << 5); PORTB &= ~(1 << 5); +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { + DDRB |= (1 << 5); + PORTB &= ~(1 << 5); } else { - DDRB &= ~(1 << 5); PORTB &= ~(1 << 5); + DDRB &= ~(1 << 5); + PORTB &= ~(1 << 5); } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 6); PORTB &= ~(1 << 6); + if (led_state.caps_lock) { + DDRB |= (1 << 6); + PORTB &= ~(1 << 6); } else { - DDRB &= ~(1 << 6); PORTB &= ~(1 << 6); + DDRB &= ~(1 << 6); + PORTB &= ~(1 << 6); } - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - DDRB |= (1 << 7); PORTB &= ~(1 << 7); + if (led_state.scroll_lock) { + DDRB |= (1 << 7); + PORTB &= ~(1 << 7); } else { - DDRB &= ~(1 << 7); PORTB &= ~(1 << 7); + DDRB &= ~(1 << 7); + PORTB &= ~(1 << 7); } + return false; } diff --git a/keyboards/gh80_3000/keymaps/iso_std/keymap.c b/keyboards/gh80_3000/keymaps/iso_std/keymap.c index 434abf68f5c..9559bde1194 100644 --- a/keyboards/gh80_3000/keymaps/iso_std/keymap.c +++ b/keyboards/gh80_3000/keymaps/iso_std/keymap.c @@ -12,23 +12,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { + DDRB |= (1 << 5); + PORTB &= ~(1 << 5); + } else { + DDRB &= ~(1 << 5); + PORTB &= ~(1 << 5); + } - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - DDRB |= (1 << 5); PORTB &= ~(1 << 5); - } else { - DDRB &= ~(1 << 5); PORTB &= ~(1 << 5); - } + if (led_state.caps_lock) { + DDRB |= (1 << 6); + PORTB &= ~(1 << 6); + } else { + DDRB &= ~(1 << 6); + PORTB &= ~(1 << 6); + } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 6); PORTB &= ~(1 << 6); - } else { - DDRB &= ~(1 << 6); PORTB &= ~(1 << 6); - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - DDRB |= (1 << 7); PORTB &= ~(1 << 7); - } else { - DDRB &= ~(1 << 7); PORTB &= ~(1 << 7); - } + if (led_state.scroll_lock) { + DDRB |= (1 << 7); + PORTB &= ~(1 << 7); + } else { + DDRB &= ~(1 << 7); + PORTB &= ~(1 << 7); + } + return false; } diff --git a/keyboards/gh80_3000/keymaps/iso_wkl/keymap.c b/keyboards/gh80_3000/keymaps/iso_wkl/keymap.c index f275a3e7892..86054ba1fd5 100644 --- a/keyboards/gh80_3000/keymaps/iso_wkl/keymap.c +++ b/keyboards/gh80_3000/keymaps/iso_wkl/keymap.c @@ -12,23 +12,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { + DDRB |= (1 << 5); + PORTB &= ~(1 << 5); + } else { + DDRB &= ~(1 << 5); + PORTB &= ~(1 << 5); + } - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - DDRB |= (1 << 5); PORTB &= ~(1 << 5); - } else { - DDRB &= ~(1 << 5); PORTB &= ~(1 << 5); - } + if (led_state.caps_lock) { + DDRB |= (1 << 6); + PORTB &= ~(1 << 6); + } else { + DDRB &= ~(1 << 6); + PORTB &= ~(1 << 6); + } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 6); PORTB &= ~(1 << 6); - } else { - DDRB &= ~(1 << 6); PORTB &= ~(1 << 6); - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - DDRB |= (1 << 7); PORTB &= ~(1 << 7); - } else { - DDRB &= ~(1 << 7); PORTB &= ~(1 << 7); - } + if (led_state.scroll_lock) { + DDRB |= (1 << 7); + PORTB &= ~(1 << 7); + } else { + DDRB &= ~(1 << 7); + PORTB &= ~(1 << 7); + } + return false; } diff --git a/keyboards/ghs/rar/config.h b/keyboards/ghs/rar/config.h index 9cd6e7be5a0..4156d04e552 100644 --- a/keyboards/ghs/rar/config.h +++ b/keyboards/ghs/rar/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 17 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ghs/rar/info.json b/keyboards/ghs/rar/info.json index 9a684c2840f..f51efa51052 100644 --- a/keyboards/ghs/rar/info.json +++ b/keyboards/ghs/rar/info.json @@ -8,6 +8,9 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 17 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/ghs/xls/rules.mk b/keyboards/ghs/xls/rules.mk index a92b0993283..8b137891791 100644 --- a/keyboards/ghs/xls/rules.mk +++ b/keyboards/ghs/xls/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/giabalanai/config.h b/keyboards/giabalanai/config.h index fda301537fb..10e34a4cbbe 100644 --- a/keyboards/giabalanai/config.h +++ b/keyboards/giabalanai/config.h @@ -34,35 +34,11 @@ along with this program. If not, see . #define SPLIT_USB_DETECT #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 123 - # define RGBLIGHT_LAYERS // By default, LEDs of the buttons which are pressed turn on. // # define RGBLIGHT_EFFECT_TWINKLE // # define RGBLIGHT_EFFECT_KNIGHT - - -// RGBLIGHT LED MAP -// Right 1st row (12 LEDs) -// ENCODER -// Right 2nd .. 5th row(13, 12, 13, 12 LEDs) -// Left 1st .. 5th row (12 LEDs x 5 rows) - -# define RGBLIGHT_LED_MAP { \ - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, \ - 97, \ - 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, \ - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, \ - 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, \ - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, \ - \ - 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, \ - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, \ - 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, \ - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, \ - 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48 \ - } #endif #ifdef RGB_MATRIX_ENABLE @@ -192,8 +168,6 @@ along with this program. If not, see . # define MIDI_INITIAL_VELOCITY 117 #endif // MIDI_ENABLE -#define TAP_CODE_DELAY 10 - /* 2021/01/22 added to shrink firmware size */ // NO_ACTION_TAPPING -1964 bytes, however, this disables Layer mods... // #define NO_ACTION_TAPPING diff --git a/keyboards/giabalanai/info.json b/keyboards/giabalanai/info.json index 7c2fa72047e..44482a2c0c9 100644 --- a/keyboards/giabalanai/info.json +++ b/keyboards/giabalanai/info.json @@ -12,7 +12,9 @@ "driver": "WS2812" }, "rgblight": { - "max_brightness": 80 + "led_count": 123, + "max_brightness": 80, + "led_map": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 97, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48] }, "matrix_pins": { "cols": ["B1", "F7", "F6", "F5", "F4", "B3", "B2", "B6", "D0", "D1"], @@ -53,6 +55,9 @@ } } }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/gkeyboard/gkb_m16/config.h b/keyboards/gkeyboard/gkb_m16/config.h index 1f278e6e319..686937e573f 100644 --- a/keyboards/gkeyboard/gkb_m16/config.h +++ b/keyboards/gkeyboard/gkb_m16/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 4 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gkeyboard/gkb_m16/info.json b/keyboards/gkeyboard/gkb_m16/info.json index ebf5ee88459..589ab4d8537 100644 --- a/keyboards/gkeyboard/gkb_m16/info.json +++ b/keyboards/gkeyboard/gkb_m16/info.json @@ -8,6 +8,12 @@ "pid": "0x4201", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "F1" }, diff --git a/keyboards/gl516/j73gl/config.h b/keyboards/gl516/j73gl/config.h index 49205e59d15..7adc4e10c3e 100644 --- a/keyboards/gl516/j73gl/config.h +++ b/keyboards/gl516/j73gl/config.h @@ -31,10 +31,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 73 -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gl516/j73gl/info.json b/keyboards/gl516/j73gl/info.json index a34c1e6c4cb..2650356f1f7 100644 --- a/keyboards/gl516/j73gl/info.json +++ b/keyboards/gl516/j73gl/info.json @@ -8,6 +8,9 @@ "pid": "0xE8D0", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 73 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/gl516/n51gl/config.h b/keyboards/gl516/n51gl/config.h index cd919a72c47..138e9d1063f 100644 --- a/keyboards/gl516/n51gl/config.h +++ b/keyboards/gl516/n51gl/config.h @@ -31,10 +31,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 15 -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gl516/n51gl/info.json b/keyboards/gl516/n51gl/info.json index 9da8930c60b..180a2b4c755 100644 --- a/keyboards/gl516/n51gl/info.json +++ b/keyboards/gl516/n51gl/info.json @@ -8,6 +8,9 @@ "pid": "0xE8CF", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 15 + }, "ws2812": { "pin": "D3" }, @@ -83,64 +86,6 @@ {"matrix": [7, 5], "x": 14.75, "y": 3}, {"matrix": [7, 6], "x": 15.75, "y": 3} ] - }, - "LAYOUT_rotary_layer": { - "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": [4, 0], "x": 7, "y": 0}, - {"matrix": [4, 1], "x": 8, "y": 0}, - {"matrix": [4, 2], "x": 9, "y": 0}, - {"matrix": [4, 3], "x": 10, "y": 0}, - {"matrix": [4, 4], "x": 11, "y": 0}, - {"matrix": [4, 5], "x": 12, "y": 0}, - {"matrix": [4, 6], "x": 13, "y": 0}, - {"matrix": [1, 1], "x": 14, "y": 0}, - {"matrix": [1, 2], "x": 15, "y": 0}, - {"matrix": [1, 3], "x": 16, "y": 0}, - {"matrix": [1, 4], "x": 17, "y": 0}, - {"matrix": [1, 5], "x": 18, "y": 0}, - {"matrix": [1, 6], "x": 19, "y": 0}, - {"matrix": [1, 0], "x": 20, "y": 0}, - {"matrix": [5, 0], "x": 21, "y": 0}, - {"matrix": [5, 1], "x": 22, "y": 0}, - {"matrix": [5, 2], "x": 23, "y": 0}, - {"matrix": [5, 3], "x": 24, "y": 0}, - {"matrix": [5, 4], "x": 25, "y": 0}, - {"matrix": [5, 5], "x": 26, "y": 0}, - {"matrix": [5, 6], "x": 27, "y": 0}, - {"matrix": [2, 1], "x": 28, "y": 0}, - {"matrix": [2, 2], "x": 29, "y": 0}, - {"matrix": [2, 3], "x": 30, "y": 0}, - {"matrix": [2, 4], "x": 31, "y": 0}, - {"matrix": [2, 5], "x": 32, "y": 0}, - {"matrix": [2, 6], "x": 33, "y": 0}, - {"matrix": [2, 0], "x": 34, "y": 0}, - {"matrix": [6, 0], "x": 35, "y": 0}, - {"matrix": [6, 1], "x": 36, "y": 0}, - {"matrix": [6, 2], "x": 37, "y": 0}, - {"matrix": [6, 3], "x": 38, "y": 0}, - {"matrix": [6, 4], "x": 39, "y": 0}, - {"matrix": [6, 5], "x": 40, "y": 0}, - {"matrix": [6, 6], "x": 41, "y": 0}, - {"matrix": [3, 1], "x": 42, "y": 0}, - {"matrix": [3, 2], "x": 43, "y": 0}, - {"matrix": [3, 4], "x": 44, "y": 0}, - {"matrix": [3, 5], "x": 45, "y": 0}, - {"matrix": [3, 6], "x": 46, "y": 0}, - {"matrix": [3, 0], "x": 47, "y": 0}, - {"matrix": [7, 0], "x": 48, "y": 0}, - {"matrix": [7, 1], "x": 49, "y": 0}, - {"matrix": [7, 2], "x": 50, "y": 0}, - {"matrix": [7, 4], "x": 51, "y": 0}, - {"matrix": [7, 5], "x": 52, "y": 0}, - {"matrix": [7, 6], "x": 53, "y": 0} - ] } } } diff --git a/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c b/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c deleted file mode 100644 index 81f7b8665f5..00000000000 --- a/keyboards/gl516/n51gl/keymaps/salicylic/keymap.c +++ /dev/null @@ -1,117 +0,0 @@ -/* -Copyright 2021 Salicylic_Acid - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more 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, - _LOWER, - _RAISE, - _ADJUST, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_rotary_layer( - //,--------------------------------------------------------------| |--------------------------------------------------------------. - 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_VOLU, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_BSLS, KC_ENT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_N, KC_M, KC_COMM, KC_DOT, JP_SLSH, KC_UP, KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - JP_ZKHK, KC_LALT,LGUI_T(JP_MHEN),LT(_LOWER,KC_ENT),KC_BSPC, KC_VOLD, KC_DEL,LT(_RAISE,KC_SPC),ALT_T(JP_HENK),KC_LEFT, KC_DOWN, KC_RGHT - //|--------------------------------------------------------------| |--------------------------------------------------------------' - ), - [_LOWER] = LAYOUT_rotary_layer( - //,--------------------------------------------------------------| |--------------------------------------------------------------. - _______, _______, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, KC_BSPC, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, KC_WH_U, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_BTN3, KC_0, KC_1, KC_2, KC_3, JP_PLUS, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, JP_MHEN, MO(_LOWER), _______, KC_WH_D, _______, MO(_RAISE), JP_DOT, _______, _______, _______ - //|--------------------------------------------------------------| |--------------------------------------------------------------' - ), - - [_RAISE] = LAYOUT_rotary_layer( - //,--------------------------------------------------------------| |--------------------------------------------------------------. - _______, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP,LALT(KC_PSCR),KC_PSCR, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_WH_L, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, KC_WH_R, _______, _______, JP_HENK, _______, _______, _______ - //|--------------------------------------------------------------| |--------------------------------------------------------------' - ), - - [_ADJUST] = LAYOUT_rotary_layer( - //,--------------------------------------------------------------| |--------------------------------------------------------------. - QK_BOOT, KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LALT(KC_PSCR),KC_PSCR, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG, RGB_MOD, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - SFT_T(KC_F12), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, XXXXXXX, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______,RGB_RMOD, _______, _______, _______, _______, _______, _______ - //|--------------------------------------------------------------| |--------------------------------------------------------------' - ) -}; - -//A description for expressing the layer position in LED mode. -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); -#ifdef RGBLIGHT_ENABLE - switch (get_highest_layer(state)) { - case _LOWER: - rgblight_sethsv_at(HSV_BLUE, 0); - break; - case _RAISE: - rgblight_sethsv_at(HSV_RED, 0); - break; - case _ADJUST: - rgblight_sethsv_at(HSV_PURPLE, 0); - break; - default: // for any other layers, or the default layer - rgblight_sethsv_at( 0, 0, 0, 0); - break; - } - rgblight_set_effect_range( 1, 14); -#endif -return state; -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - keypos_t key; - if (clockwise) { - key.row = 3; - key.col = 0; - } else { - key.row = 1; - key.col = 0; - } - action_exec(MAKE_KEYEVENT(key.row, key.col, true)); - action_exec(MAKE_KEYEVENT(key.row, key.col, false)); - return true; -} diff --git a/keyboards/gl516/n51gl/keymaps/via/keymap.c b/keyboards/gl516/n51gl/keymaps/via/keymap.c index cf1aa7d595f..10980c6ad0c 100644 --- a/keyboards/gl516/n51gl/keymaps/via/keymap.c +++ b/keyboards/gl516/n51gl/keymaps/via/keymap.c @@ -18,48 +18,48 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_rotary_layer( + [0] = LAYOUT( //,--------------------------------------------------------------| |--------------------------------------------------------------. 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, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - LT(1,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_VOLU, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + 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_MUTE, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_VOLD, KC_SPC, KC_SPC, KC_LALT, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LEFT, KC_DOWN, KC_RGHT //|--------------------------------------------------------------| |--------------------------------------------------------------' ), - [1] = LAYOUT_rotary_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_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ //|--------------------------------------------------------------| |--------------------------------------------------------------' ), - [2] = LAYOUT_rotary_layer( + [2] = 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, 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 //|--------------------------------------------------------------| |--------------------------------------------------------------' ), - [3] = LAYOUT_rotary_layer( + [3] = 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, 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 //|--------------------------------------------------------------| |--------------------------------------------------------------' ) }; @@ -87,16 +87,11 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -bool encoder_update_user(uint8_t index, bool clockwise) { - keypos_t key; - if (clockwise) { - key.row = 3; - key.col = 0; - } else { - key.row = 1; - key.col = 0; - } - action_exec(MAKE_KEYEVENT(key.row, key.col, true)); - action_exec(MAKE_KEYEVENT(key.row, key.col, false)); - return true; -} +#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 diff --git a/keyboards/gl516/n51gl/keymaps/via/rules.mk b/keyboards/gl516/n51gl/keymaps/via/rules.mk index 036bd6d1c3e..f1adcab005e 100644 --- a/keyboards/gl516/n51gl/keymaps/via/rules.mk +++ b/keyboards/gl516/n51gl/keymaps/via/rules.mk @@ -1 +1,2 @@ -VIA_ENABLE = yes \ No newline at end of file +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/gmmk/gmmk2/p65/ansi/info.json b/keyboards/gmmk/gmmk2/p65/ansi/info.json index c22fe89f589..f4a9b92312b 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/info.json +++ b/keyboards/gmmk/gmmk2/p65/ansi/info.json @@ -8,6 +8,9 @@ "pid": "0x5045", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 10 + }, "rgb_matrix": { "driver": "AW20216" }, diff --git a/keyboards/gmmk/gmmk2/p65/config.h b/keyboards/gmmk/gmmk2/p65/config.h index 64febeb948a..3c6a2fd906e 100644 --- a/keyboards/gmmk/gmmk2/p65/config.h +++ b/keyboards/gmmk/gmmk2/p65/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/gmmk/gmmk2/p65/iso/info.json b/keyboards/gmmk/gmmk2/p65/iso/info.json index de078864cea..c036ffa3060 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/info.json +++ b/keyboards/gmmk/gmmk2/p65/iso/info.json @@ -8,6 +8,9 @@ "pid": "0x504A", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 10 + }, "rgb_matrix": { "driver": "AW20216" }, diff --git a/keyboards/gmmk/gmmk2/p96/ansi/info.json b/keyboards/gmmk/gmmk2/p96/ansi/info.json index 482e52f5044..3b5caf5d54e 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/info.json +++ b/keyboards/gmmk/gmmk2/p96/ansi/info.json @@ -8,6 +8,9 @@ "pid": "0x504B", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 10 + }, "rgb_matrix": { "driver": "AW20216" }, diff --git a/keyboards/gmmk/gmmk2/p96/config.h b/keyboards/gmmk/gmmk2/p96/config.h index 16aae9b3303..e3b5cdcfa1d 100644 --- a/keyboards/gmmk/gmmk2/p96/config.h +++ b/keyboards/gmmk/gmmk2/p96/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/gmmk/gmmk2/p96/iso/info.json b/keyboards/gmmk/gmmk2/p96/iso/info.json index de9eb07edcf..dd747478d96 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/info.json +++ b/keyboards/gmmk/gmmk2/p96/iso/info.json @@ -8,6 +8,9 @@ "pid": "0x505A", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 10 + }, "rgb_matrix": { "driver": "AW20216" }, diff --git a/keyboards/gmmk/numpad/info.json b/keyboards/gmmk/numpad/info.json index 4df94d45ee4..195d4fa7102 100644 --- a/keyboards/gmmk/numpad/info.json +++ b/keyboards/gmmk/numpad/info.json @@ -39,7 +39,7 @@ {"label": "4", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "5", "matrix": [2, 1], "x": 1, "y": 2}, {"label": "6", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "CALC", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "CALC", "matrix": [2, 3], "x": 4.25, "y": 0}, {"label": "1", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "2", "matrix": [3, 1], "x": 1, "y": 3}, @@ -47,7 +47,7 @@ {"label": "RET", "matrix": [3, 3], "x": 3, "y": 3, "h": 2}, {"label": "0", "matrix": [4, 0], "x": 0, "y": 4, "w": 2}, - {"label": ".", "matrix": [4, 3], "x": 3, "y": 4} + {"label": ".", "matrix": [4, 3], "x": 2, "y": 4} ] } } diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h index 8188418469e..069823663ee 100644 --- a/keyboards/gmmk/pro/config.h +++ b/keyboards/gmmk/pro/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,6 +33,8 @@ #define DRIVER_COUNT 2 +#define RGB_DISABLE_WHEN_USB_SUSPENDED + // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/gmmk/pro/rev1/ansi/info.json b/keyboards/gmmk/pro/rev1/ansi/info.json index 7a1532424bd..80cab4dfe33 100644 --- a/keyboards/gmmk/pro/rev1/ansi/info.json +++ b/keyboards/gmmk/pro/rev1/ansi/info.json @@ -21,6 +21,9 @@ {"pin_a": "C15", "pin_b": "C14"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "bootmagic": { "matrix": [1, 3] }, diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h index 5dda6f15bc5..08eade43c87 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h @@ -20,3 +20,61 @@ #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) #define RGB_DISABLE_WHEN_USB_SUSPENDED #endif + +// Setting DEBOUNCE to 8 to be a little conservative due to issues with Glorious' proprietary hot-swap sockets +#ifdef DEBOUNCE + #undef DEBOUNCE +#endif +#define DEBOUNCE 8 + +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +// #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 + +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c index f803b44abbd..6c467ff6365 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c @@ -24,16 +24,22 @@ enum layers { MAC_FN }; -#define KC_TASK LGUI(KC_TAB) -#define KC_FLXP LGUI(KC_E) -#define TO_WINB TO(WIN_BASE) -#define TO_MACB TO(MAC_BASE) -#define MO_WINF MO(WIN_FN) -#define MO_MACF MO(MAC_FN) +enum custom_keycodes { + CMDQ_TOG = QK_KB_2 // TECH DEBT: Starts at QK_KB_2 to maintain ordering with VIA definitions. See #19884. Revert to QK_KB_0 when VIA catches up with QMK. +}; + +#define KC_TASK LWIN(KC_TAB) // Open Task Manager +#define KC_FLXP LWIN(KC_E) // Open File Explorer +#define DF_WINB DF(WIN_BASE) // Switch to WIN_BASE layer +#define MO_WINF MO(WIN_FN) // Toggle to WIN_FN layer +#define DF_MACB DF(MAC_BASE) // Switch to MAX_BASE layer +#define MO_MACF MO(MAC_FN) // Toggle to MAC_FN layer // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// The GMMK Pro default layout is: +// // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Play/Pause) // ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home // Tab Q W E R T Y U I O P [ ] \ PgUp @@ -55,133 +61,249 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. // // RGB and function keys are inspired by the Keychron Q1 layouts instead of using the default keys. - // - // KC_PAUS/KC_BRMU and KC_SCRL/KC_BRMD are aliases for the same keys, but their names reflect better the function in each layout. + // To clean the EEPROM, hold the ESC key while connecting the keyboard. + [WIN_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_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_ENT, KC_PGDN, + 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_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_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_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, MO_WINF, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO_WINF, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [WIN_FN] = LAYOUT( - _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_INS, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_PAUS, - TO_MACB, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCRL, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX + EE_CLR, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_SCRL, + DF_MACB, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ), [MAC_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_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_ENT, KC_PGDN, + 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_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_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_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_LALT, KC_LGUI, KC_SPC, KC_RALT, MO_MACF, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO_MACF, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [MAC_FN] = LAYOUT( - _______, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_INS, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_BRMU, - TO_WINB, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRMD, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX + EE_CLR, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRMU, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, KC_BRMD, + DF_WINB, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, + XXXXXXX, XXXXXXX, CMDQ_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) }; // clang-format on -#ifdef RGB_MATRIX_ENABLE +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [WIN_FN] = { ENCODER_CCW_CW(XXXXXXX, XXXXXXX) }, + [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [MAC_FN] = { ENCODER_CCW_CW(XXXXXXX, XXXXXXX) }, +}; +#endif -/* Renaming those to make the purpose on this keymap clearer */ -#define LED_FLAG_CAPS LED_FLAG_NONE -#define LED_FLAG_EFFECTS LED_FLAG_INDICATOR +/* To record user preferences */ +typedef union { + uint32_t raw; // set to 32-bit of size + struct { + bool rgb_enabled :1; // Artificial RGB ON/OFF flag (1 bit) + bool cmd_q_delay_enabled :1; // Toggle CMD+Q delay (1 bit) + }; +} user_config_t; +user_config_t user_config; -static void set_rgb_caps_leds(void); +/* Delayed keypresses variables and functions */ +static uint16_t delayed_press_delay = 0; +static uint16_t delayed_press_keycode = KC_NO; +static uint16_t delayed_press_start_time = 0; +static uint16_t delayed_press_sent_keycode = KC_NO; +static void start_delayed_press(const uint16_t delay, const uint16_t keycode); +static bool is_any_delayed_press_pending(void); +static bool is_delayed_press_pending(const uint16_t keycode); +static bool is_delayed_press_sent(const uint16_t keycode); +static void mark_delayed_press_sent(void); +static void mark_delayed_release_sent(void); +static void cancel_delayed_press(void); -static uint16_t effect_started_time = 0; -static uint8_t r_effect = 0x0, g_effect = 0x0, b_effect = 0x0; -static void start_effects(void); +/* CMD+Q delay */ +#ifndef CMD_Q_DELAY + #define CMD_Q_DELAY 1000 +#endif +#if CMD_Q_DELAY <= 0 || CMD_Q_DELAY >= UINT16_MAX / 2 + #error "CMD_Q_DELAY must be a positive integer smaller than UINT16_MAX / 2" +#endif -/* The interval time in ms */ -#ifndef EFFECTS_TIME - #define EFFECTS_TIME 2000 +#define MIN(x, y) (((x) < (y)) ? (x) : (y)) +#define MAX(x, y) (((x) > (y)) ? (x) : (y)) + +#ifdef RGB_MATRIX_ENABLE + +#define CAPS_LOCK_COLOR RGB_RED +#define WIN_BASE_COLOR RGB_BLUE +#define WIN_FN_COLOR RGB_BLUE +#define MAC_BASE_COLOR RGB_WHITE +#define MAC_FN_COLOR RGB_WHITE +#define UNKNOWN_LAYER_COLOR RGB_PINK + +/* The maximum effects duration */ +#ifndef EFFECTS_DURATION + #define EFFECTS_DURATION 2000 #endif -#ifndef EFFECTS_INTERVAL - #define EFFECTS_INTERVAL 250 +#if EFFECTS_DURATION <= 0 || EFFECTS_DURATION >= UINT16_MAX / 2 + #error "EFFECTS_DURATION must be a positive integer smaller than UINT16_MAX / 2" #endif -#if EFFECTS_TIME <= 0 || EFFECTS_TIME >= 32767 - #error "EFFECTS_TIME must be a positive integer smaller than 32767" +/* The interval for the flashing effect */ +#ifndef FLASHING_EFFECT_INTERVAL + #define FLASHING_EFFECT_INTERVAL 250 #endif -#if EFFECTS_INTERVAL <= 0 || EFFECTS_INTERVAL >= 32767 - #error "EFFECTS_INTERVAL must be a positive integer smaller than 32767" +#if FLASHING_EFFECT_INTERVAL <= 0 || FLASHING_EFFECT_INTERVAL >= UINT16_MAX / 2 + #error "FLASHING_EFFECT_INTERVAL must be a positive integer smaller than UINT16_MAX / 2" #endif -#define effect_red() r_effect = 0xFF, g_effect = 0x0, b_effect = 0x0 -#define effect_green() r_effect = 0x0, g_effect = 0xFF, b_effect = 0x0 -#define effect_blue() r_effect = 0x0, g_effect = 0x0, b_effect = 0xFF -#define effect_white() r_effect = 0xFF, g_effect = 0xFF, b_effect = 0xFF -static uint8_t previous_effect_layer = 255; +static void set_rgb_layer_winfn(void); +static void set_rgb_layer_macfn(void); -layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t current_layer = get_highest_layer(state); - switch (current_layer) { - case WIN_BASE: - if (previous_effect_layer != current_layer) { - previous_effect_layer = current_layer; - effect_blue(); - start_effects(); - } - break; - case MAC_BASE: - if (previous_effect_layer != current_layer) { - previous_effect_layer = current_layer; - effect_white(); - start_effects(); - } - break; - } - return state; +/* Effects functions */ +static float flashing_effect(const uint16_t delta_time); +static float static_effect(const uint16_t delta_time); +static float increasing_effect(const uint16_t delta_time); + +/* Effect variables and functions */ +static uint16_t effect_started_time = 0; +static uint16_t effect_max_duration = EFFECTS_DURATION; +static uint8_t effect_r = 0x0, effect_g = 0x0, effect_b = 0x0; +static float (*effect_multiplier)(const uint16_t) = static_effect; +static void start_effects( + const uint16_t max_duration, + const uint8_t r_color, + const uint8_t g_color, + const uint8_t b_color, + const float (*multiplier)(const uint16_t)); +static void stop_effects(void); + +/* Delayed keypresses variables with RGB variant */ +static void start_delayed_press_with_effects( + const uint16_t delay, + const uint16_t keycode, + const uint8_t r_color, + const uint8_t g_color, + const uint8_t b_color); + +#endif // RGB_MATRIX_ENABLE + +void eeconfig_init_user(void) { // EEPROM is getting reset! + user_config.raw = 0; + user_config.rgb_enabled = true; // We want this enabled by default + user_config.cmd_q_delay_enabled = true; // We want this enabled by default + eeconfig_update_user(user_config.raw); // Write default value to EEPROM now } -bool led_update_user(led_t led_state) { - if (led_state.caps_lock) { - if (!rgb_matrix_is_enabled()) { - /* Turn ON the RGB Matrix for CAPS LOCK */ - rgb_matrix_set_flags(LED_FLAG_CAPS); - rgb_matrix_enable(); - } - } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { - /* RGB Matrix was only ON because of CAPS LOCK. Turn it OFF. */ +void keyboard_post_init_user(void) { + #ifdef RGB_MATRIX_ENABLE + // Enable the RGB matrix, if not enabled + if (!rgb_matrix_is_enabled()) { + rgb_matrix_enable(); + } + // Set the flags to ALL, if not already set + if (rgb_matrix_get_flags() != LED_FLAG_ALL) { rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_disable(); } - return true; + #endif + + // Read the user config from EEPROM + user_config.raw = eeconfig_read_user(); } -#endif // RGB_MATRIX_ENABLE +void matrix_scan_user(void) { + if (is_any_delayed_press_pending()) { + if (sync_timer_elapsed(delayed_press_start_time) > delayed_press_delay) { + register_code(delayed_press_keycode); + mark_delayed_press_sent(); + } + } +} bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (is_delayed_press_sent(keycode)) { + if (!record->event.pressed) { + /* Send key-up event and clear the keycode and stop processing */ + unregister_code(keycode); + mark_delayed_release_sent(); + return false; + } + } else if (is_delayed_press_pending(keycode)) { + if (!record->event.pressed) { + /* Cancel the pending press and stop processing */ + cancel_delayed_press(); + return false; + } + } else if (is_any_delayed_press_pending()) { + /* Cancel the pending press and resume processing */ + cancel_delayed_press(); + } switch (keycode) { - #ifdef RGB_MATRIX_ENABLE - #ifdef NKRO_ENABLE + case QK_DEF_LAYER ... QK_DEF_LAYER_MAX: + if (record->event.pressed) { + /* Set the default layout on the EEPROM, let the default layer change callback handle the rest */ + set_single_persistent_default_layer(QK_DEF_LAYER_GET_LAYER(keycode)); + } + return false; + case CMDQ_TOG: + if (record->event.pressed) { + if (user_config.cmd_q_delay_enabled) { + /* Turning delay OFF */ + #ifdef RGB_MATRIX_ENABLE + start_effects(EFFECTS_DURATION, RGB_RED, flashing_effect); + #endif + } else { + /* Turning delay ON */ + #ifdef RGB_MATRIX_ENABLE + start_effects(EFFECTS_DURATION, RGB_GREEN, flashing_effect); + #endif + } + user_config.cmd_q_delay_enabled = !user_config.cmd_q_delay_enabled; + eeconfig_update_user(user_config.raw); + } + return false; + case KC_Q: + if (user_config.cmd_q_delay_enabled) { + if (layer_state_is(MAC_BASE)) { + const uint8_t mods = get_mods(); + if (mods == MOD_BIT(KC_LCMD) || mods == MOD_BIT(KC_RCMD)) { + if (record->event.pressed) { + #ifdef RGB_MATRIX_ENABLE + start_delayed_press_with_effects(CMD_Q_DELAY, KC_Q, RGB_ORANGE); + #else + start_delayed_press(CMD_Q_DELAY, KC_Q); + #endif + } + return false; + } + } + } + break; + #ifdef RGB_MATRIX_ENABLE + #ifdef NKRO_ENABLE case NK_TOGG: if (record->event.pressed) { if (keymap_config.nkro) { /* Turning NKRO OFF */ - effect_red(); + start_effects(EFFECTS_DURATION, RGB_RED, flashing_effect); } else { /* Turning NKRO ON */ - effect_green(); + start_effects(EFFECTS_DURATION, RGB_GREEN, flashing_effect); } - start_effects(); } break; - #endif // NKRO_ENABLE + #endif // NKRO_ENABLE case RGB_MOD: case RGB_RMOD: case RGB_HUI: @@ -192,99 +314,171 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case RGB_VAD: case RGB_SPI: case RGB_SPD: - if (record->event.pressed) { - if (rgb_matrix_get_flags() != LED_FLAG_ALL) { - /* Ignore changes to RGB settings while only it's supposed to be OFF */ - return false; // Skip all further processing of this key - } + if (!user_config.rgb_enabled) { + /* Ignore changes to RGB settings while only it's supposed to be OFF */ + return false; // Skip all further processing of this key } break; case RGB_TOG: if (record->event.pressed) { - if (rgb_matrix_is_enabled()) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_EFFECTS: - case LED_FLAG_CAPS: - /* Turned ON because of EFFECTS or CAPS, is actually OFF */ - /* Change to LED_FLAG_ALL to signal it's really ON */ - rgb_matrix_set_flags(LED_FLAG_ALL); - /* Will be re-enabled by the processing of the toggle */ - rgb_matrix_disable_noeeprom(); - break; - case LED_FLAG_ALL: - /* Is actually ON */ - if (effect_started_time > 0) { - /* Signal EFFECTS */ - rgb_matrix_set_flags(LED_FLAG_EFFECTS); - /* Will be re-enabled by the processing of the toggle */ - rgb_matrix_disable_noeeprom(); - } else - if (host_keyboard_led_state().caps_lock) { - /* Signal CAPS */ - rgb_matrix_set_flags(LED_FLAG_CAPS); - /* Will be re-enabled by the processing of the toggle */ - rgb_matrix_disable_noeeprom(); - } - break; - } - } + user_config.rgb_enabled = !user_config.rgb_enabled; + eeconfig_update_user(user_config.raw); } - break; - #endif // RGB_MATRIX_ENABLE + return false; + #endif // RGB_MATRIX_ENABLE } return true; } +static void start_delayed_press(const uint16_t delay, const uint16_t keycode) { + delayed_press_delay = delay; + delayed_press_keycode = keycode; + delayed_press_start_time = sync_timer_read(); + delayed_press_sent_keycode = KC_NO; +} + +static bool is_any_delayed_press_pending(void) { + return delayed_press_start_time > 0 && delayed_press_keycode != KC_NO; +} + +static bool is_delayed_press_pending(const uint16_t keycode) { + return delayed_press_start_time > 0 && delayed_press_keycode == keycode; +} + +static bool is_delayed_press_sent(const uint16_t keycode) { + return delayed_press_sent_keycode != KC_NO && delayed_press_sent_keycode == keycode; +} + +static void mark_delayed_press_sent(void) { + delayed_press_sent_keycode = delayed_press_keycode; + cancel_delayed_press(); +} + +static void mark_delayed_release_sent(void) { + delayed_press_sent_keycode = KC_NO; +} + +static void cancel_delayed_press(void) { + delayed_press_delay = 0; + delayed_press_keycode = KC_NO; + delayed_press_start_time = 0; + #ifdef RGB_MATRIX_ENABLE + stop_effects(); + #endif +} + #ifdef RGB_MATRIX_ENABLE + +static void start_delayed_press_with_effects( + const uint16_t delay, + const uint16_t keycode, + const uint8_t r_color, + const uint8_t g_color, + const uint8_t b_color) { + start_delayed_press(delay, keycode); + start_effects(delay, r_color, g_color, b_color, increasing_effect); +} + +/* +Effects when switching layers +*/ + +static uint8_t previous_layer = UINT8_MAX; + +layer_state_t default_layer_state_set_user(layer_state_t state) { + const uint8_t current_layer = get_highest_layer(state); + if (previous_layer != current_layer) { + // For some reason, setting the default layer alone doesn't change it fully + layer_move(current_layer); + switch (current_layer) { + case WIN_BASE: + start_effects(EFFECTS_DURATION, WIN_BASE_COLOR, flashing_effect); + break; + case MAC_BASE: + start_effects(EFFECTS_DURATION, MAC_BASE_COLOR, flashing_effect); + break; + default: + // This should not ever happen, but let's display something if it does! + start_effects(EFFECTS_DURATION, UNKNOWN_LAYER_COLOR, static_effect); + break; + } + previous_layer = current_layer; + } + return state; +} + +static void start_effects( + const uint16_t max_duration, + const uint8_t r_color, + const uint8_t g_color, + const uint8_t b_color, + const float (*multiplier)(const uint16_t)) { + effect_r = r_color; + effect_g = g_color; + effect_b = b_color; + effect_multiplier = multiplier; + effect_max_duration = max_duration; + effect_started_time = sync_timer_read(); +} + +static void stop_effects(void) { + effect_r = 0x0; + effect_g = 0x0; + effect_b = 0x0; + effect_multiplier = static_effect; + effect_max_duration = EFFECTS_DURATION; + effect_started_time = 0; +} + +static float flashing_effect(const uint16_t delta_time) { + return ((delta_time / FLASHING_EFFECT_INTERVAL) + 1) & 0x01; +} + +static float static_effect(const uint16_t delta_time) { + return 1.0; +} + +static float increasing_effect(const uint16_t delta_time) { + return MAX(0.0, MIN(1.0, ((float) delta_time) / effect_max_duration)); +} + bool rgb_matrix_indicators_user(void) { if (effect_started_time > 0) { - /* Render blinking EFFECTS */ - const uint16_t deltaTime = sync_timer_elapsed(effect_started_time); - if (deltaTime <= EFFECTS_TIME) { - const uint8_t led_state = ((deltaTime / EFFECTS_INTERVAL) + 1) & 0x01; - const uint8_t val_r = led_state * r_effect; - const uint8_t val_g = led_state * g_effect; - const uint8_t val_b = led_state * b_effect; + const uint16_t delta_time = sync_timer_elapsed(effect_started_time); + if (delta_time <= effect_max_duration) { + /* Render effect */ + const float multiplier = effect_multiplier(delta_time); + const uint8_t val_r = multiplier * effect_r; + const uint8_t val_g = multiplier * effect_g; + const uint8_t val_b = multiplier * effect_b; rgb_matrix_set_color_all(val_r, val_g, val_b); - if (host_keyboard_led_state().caps_lock) { - set_rgb_caps_leds(); - } return false; } else { - /* EFFECTS duration is finished */ - effect_started_time = 0; - if (rgb_matrix_get_flags() == LED_FLAG_EFFECTS) { - /* It was turned ON because of EFFECTS */ - if (host_keyboard_led_state().caps_lock) { - /* CAPS is still ON. Demote to CAPS */ - rgb_matrix_set_flags(LED_FLAG_CAPS); - } else { - /* There is nothing else keeping RGB enabled. Reset flags and turn if off. */ - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_disable_noeeprom(); - } - } + /* Effect duration is finished */ + stop_effects(); } } - if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { - rgb_matrix_set_color_all(0x0, 0x0, 0x0); - } if (host_keyboard_led_state().caps_lock) { - set_rgb_caps_leds(); + rgb_matrix_set_color_all(CAPS_LOCK_COLOR); + } else if (!user_config.rgb_enabled) { + rgb_matrix_set_color_all(RGB_OFF); } - return false; -} - -static void start_effects(void) { - effect_started_time = sync_timer_read(); - if (!rgb_matrix_is_enabled()) { - /* Turn it ON, signal the cause (EFFECTS) */ - rgb_matrix_set_flags(LED_FLAG_EFFECTS); - rgb_matrix_enable_noeeprom(); - } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { - /* It's already ON, promote the cause from CAPS to EFFECTS */ - rgb_matrix_set_flags(LED_FLAG_EFFECTS); + switch (get_highest_layer(layer_state)) { + case WIN_BASE: + case MAC_BASE: + break; + case WIN_FN: + set_rgb_layer_winfn(); + return false; + case MAC_FN: + set_rgb_layer_macfn(); + return false; + default: + // This should never happen, but if it does, let's display something! + rgb_matrix_set_color_all(UNKNOWN_LAYER_COLOR); + return false; } + return true; } // RGB led number layout, function of the key @@ -298,38 +492,69 @@ static void start_effects(void) { // 87, led 07 88, led 18 // 91, led 08 92, led 19 -static void set_rgb_caps_leds(void) { - rgb_matrix_set_color(0, 0xFF, 0x0, 0x0); // ESC - rgb_matrix_set_color(6, 0xFF, 0x0, 0x0); // F1 - rgb_matrix_set_color(12, 0xFF, 0x0, 0x0); // F2 - rgb_matrix_set_color(18, 0xFF, 0x0, 0x0); // F3 - rgb_matrix_set_color(23, 0xFF, 0x0, 0x0); // F4 - rgb_matrix_set_color(28, 0xFF, 0x0, 0x0); // F5 - rgb_matrix_set_color(34, 0xFF, 0x0, 0x0); // F6 - rgb_matrix_set_color(39, 0xFF, 0x0, 0x0); // F7 - rgb_matrix_set_color(44, 0xFF, 0x0, 0x0); // F8 - rgb_matrix_set_color(50, 0xFF, 0x0, 0x0); // F9 - rgb_matrix_set_color(56, 0xFF, 0x0, 0x0); // F10 - rgb_matrix_set_color(61, 0xFF, 0x0, 0x0); // F11 - rgb_matrix_set_color(66, 0xFF, 0x0, 0x0); // F12 - rgb_matrix_set_color(69, 0xFF, 0x0, 0x0); // Prt - rgb_matrix_set_color(67, 0xFF, 0x0, 0x0); // Left side LED 1 - rgb_matrix_set_color(68, 0xFF, 0x0, 0x0); // Right side LED 1 - rgb_matrix_set_color(70, 0xFF, 0x0, 0x0); // Left side LED 2 - rgb_matrix_set_color(71, 0xFF, 0x0, 0x0); // Right side LED 2 - rgb_matrix_set_color(73, 0xFF, 0x0, 0x0); // Left side LED 3 - rgb_matrix_set_color(74, 0xFF, 0x0, 0x0); // Right side LED 3 - rgb_matrix_set_color(76, 0xFF, 0x0, 0x0); // Left side LED 4 - rgb_matrix_set_color(77, 0xFF, 0x0, 0x0); // Right side LED 4 - rgb_matrix_set_color(80, 0xFF, 0x0, 0x0); // Left side LED 5 - rgb_matrix_set_color(81, 0xFF, 0x0, 0x0); // Right side LED 5 - rgb_matrix_set_color(83, 0xFF, 0x0, 0x0); // Left side LED 6 - rgb_matrix_set_color(84, 0xFF, 0x0, 0x0); // Right side LED 6 - rgb_matrix_set_color(87, 0xFF, 0x0, 0x0); // Left side LED 7 - rgb_matrix_set_color(88, 0xFF, 0x0, 0x0); // Right side LED 7 - rgb_matrix_set_color(91, 0xFF, 0x0, 0x0); // Left side LED 8 - rgb_matrix_set_color(92, 0xFF, 0x0, 0x0); // Right side LED 8 - rgb_matrix_set_color(3, 0xFF, 0x0, 0x0); // CAPS LED +static void set_rgb_layer_winfn(void) { + rgb_matrix_set_color(0, WIN_FN_COLOR); + rgb_matrix_set_color(6, WIN_FN_COLOR); + rgb_matrix_set_color(12, WIN_FN_COLOR); + rgb_matrix_set_color(18, WIN_FN_COLOR); + rgb_matrix_set_color(23, WIN_FN_COLOR); + rgb_matrix_set_color(28, WIN_FN_COLOR); + rgb_matrix_set_color(34, WIN_FN_COLOR); + rgb_matrix_set_color(39, WIN_FN_COLOR); + rgb_matrix_set_color(44, WIN_FN_COLOR); + rgb_matrix_set_color(50, WIN_FN_COLOR); + rgb_matrix_set_color(56, WIN_FN_COLOR); + rgb_matrix_set_color(61, WIN_FN_COLOR); + rgb_matrix_set_color(66, WIN_FN_COLOR); + rgb_matrix_set_color(2, WIN_FN_COLOR); + rgb_matrix_set_color(3, WIN_FN_COLOR); + rgb_matrix_set_color(8, WIN_FN_COLOR); + rgb_matrix_set_color(9, WIN_FN_COLOR); + rgb_matrix_set_color(14, WIN_FN_COLOR); + rgb_matrix_set_color(15, WIN_FN_COLOR); + rgb_matrix_set_color(20, WIN_FN_COLOR); + rgb_matrix_set_color(21, WIN_FN_COLOR); + rgb_matrix_set_color(25, WIN_FN_COLOR); + rgb_matrix_set_color(26, WIN_FN_COLOR); + rgb_matrix_set_color(38, WIN_FN_COLOR); + rgb_matrix_set_color(93, WIN_FN_COLOR); + rgb_matrix_set_color(72, WIN_FN_COLOR); + rgb_matrix_set_color(75, WIN_FN_COLOR); + rgb_matrix_set_color(86, WIN_FN_COLOR); + rgb_matrix_set_color(82, WIN_FN_COLOR); +} + +static void set_rgb_layer_macfn(void) { + rgb_matrix_set_color(0, MAC_FN_COLOR); + rgb_matrix_set_color(6, MAC_FN_COLOR); + rgb_matrix_set_color(12, MAC_FN_COLOR); + rgb_matrix_set_color(18, MAC_FN_COLOR); + rgb_matrix_set_color(23, MAC_FN_COLOR); + rgb_matrix_set_color(28, MAC_FN_COLOR); + rgb_matrix_set_color(34, MAC_FN_COLOR); + rgb_matrix_set_color(39, MAC_FN_COLOR); + rgb_matrix_set_color(44, MAC_FN_COLOR); + rgb_matrix_set_color(50, MAC_FN_COLOR); + rgb_matrix_set_color(56, MAC_FN_COLOR); + rgb_matrix_set_color(61, MAC_FN_COLOR); + rgb_matrix_set_color(66, MAC_FN_COLOR); + rgb_matrix_set_color(2, MAC_FN_COLOR); + rgb_matrix_set_color(3, MAC_FN_COLOR); + rgb_matrix_set_color(8, MAC_FN_COLOR); + rgb_matrix_set_color(9, MAC_FN_COLOR); + rgb_matrix_set_color(14, MAC_FN_COLOR); + rgb_matrix_set_color(15, MAC_FN_COLOR); + rgb_matrix_set_color(20, MAC_FN_COLOR); + rgb_matrix_set_color(21, MAC_FN_COLOR); + rgb_matrix_set_color(25, MAC_FN_COLOR); + rgb_matrix_set_color(26, MAC_FN_COLOR); + rgb_matrix_set_color(38, MAC_FN_COLOR); + rgb_matrix_set_color(93, MAC_FN_COLOR); + rgb_matrix_set_color(72, MAC_FN_COLOR); + rgb_matrix_set_color(75, MAC_FN_COLOR); + rgb_matrix_set_color(86, MAC_FN_COLOR); + rgb_matrix_set_color(82, MAC_FN_COLOR); + rgb_matrix_set_color(17, MAC_FN_COLOR); } #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md index b080f02c6b3..2b21bd2821f 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md @@ -7,15 +7,23 @@ The differences are as follows: - Dedicated MacOS and Windows/Linux layers - Switching between them by pressing Fn + CAPS LOCK +- VIA support - Disabled Mouse Keys (to fix issues with KVM switches and also because they're not used here anyway) - RGB turns off after 20 minutes of inactivity - RGB turns off when USB is suspended - Layer 0: - - Print Screen (default) -> Delete - - Delete (default) -> Home + - Delete -> Insert + - Page Up -> Delete + - Page Down -> Home - Layer 1 (accessed by pressing Fn): - - Fn + Delete -> Insert - - Fn + Home -> Print Screen + - Fn + Insert -> Pause + - Fn + Delete -> Scroll Lock + - Fn + Esc -> Clear EEPROM + - Fn + (Left) CMD (macOS layout) -> Toggle the CMD + Q delay + +On the Mac layer, pressing CMD + Q will not immediately send the combination.\ +There's a configurable delay (defaults to 1 second) to send it.\ +This is done mainly to prevent hitting CMD + Q by mistake when alternating between applications with CMD + Tab. This keymap also includes CAPS LOCK ON indicator.\ All left and right side LEDs, and the Caps key LED will turn solid red while CAPS LOCK is ON. diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk index d5942a2e904..d095a601548 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk @@ -3,21 +3,17 @@ # Disabling MouseKey because it breaks my KVM switch MOUSEKEY_ENABLE = no -# Cherry MX-style switches and diodes are not susceptible to noise, no need for noise-resistant algorithms. -# This significantly reduces latency. -# -# The matrix scan frequency seems to be around 1820 Hz, so even sym_defer_g would perform ok, -# but the "defer" part would mean we would wait DEBOUNCE ms before sending any events. -# Using "asym_eager_defer_pk" does not seem to benefit us in anything. -# The GMMK Pro has more then enough system resources for a per-key algorithm. -# Using an "eager" algorithm leads to extremely low latency while also reducing the chances of chattering -# due to it's "post-event" debouncing (of sorts). -# -# I have observed zero chattering or double-keypress issues on my Gateron Yellow switches. -# Most chattering issues on the GMMK Pro seem to be related to its proprietary hot-swap sockets anyway. -DEBOUNCE_TYPE = sym_eager_pk +# Ensure sym_defer_g is used. +# It seems sym_defer_pk results in significant chattering, even with an 8ms debounce time. +DEBOUNCE_TYPE = sym_defer_g # Useful for debugging # CONSOLE_ENABLE = yes # DEBUG_MATRIX_SCAN_RATE_ENABLE = yes # DEBUG_MATRIX_SCAN_RATE = yes + +# Encoder Map support +ENCODER_MAP_ENABLE = yes + +# Enables VIA +VIA_ENABLE = yes diff --git a/keyboards/gmmk/pro/rev1/iso/info.json b/keyboards/gmmk/pro/rev1/iso/info.json index 7b78ca57163..b1c17fe8056 100644 --- a/keyboards/gmmk/pro/rev1/iso/info.json +++ b/keyboards/gmmk/pro/rev1/iso/info.json @@ -21,6 +21,9 @@ {"pin_a": "C15", "pin_b": "C14"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "bootmagic": { "matrix": [1, 3] }, diff --git a/keyboards/gmmk/pro/rev2/ansi/info.json b/keyboards/gmmk/pro/rev2/ansi/info.json index ff693e35739..ae9086af437 100644 --- a/keyboards/gmmk/pro/rev2/ansi/info.json +++ b/keyboards/gmmk/pro/rev2/ansi/info.json @@ -21,6 +21,9 @@ {"pin_a": "C15", "pin_b": "C14"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "bootmagic": { "matrix": [1, 3] }, diff --git a/keyboards/gmmk/pro/rev2/iso/info.json b/keyboards/gmmk/pro/rev2/iso/info.json index 972551ec413..b1b85b7af58 100644 --- a/keyboards/gmmk/pro/rev2/iso/info.json +++ b/keyboards/gmmk/pro/rev2/iso/info.json @@ -21,6 +21,9 @@ {"pin_a": "C15", "pin_b": "C14"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "bootmagic": { "matrix": [1, 3] }, diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c index d551f4cb504..065cf3eddc0 100644 --- a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c +++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c @@ -236,10 +236,6 @@ void matrix_init_user(void) { #endif } -void matrix_scan_user(void) { - -} - layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { case _BL: @@ -263,7 +259,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { } return state; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/gray_studio/aero75/config.h b/keyboards/gray_studio/aero75/config.h index a55a587467e..35b1ea56bb0 100644 --- a/keyboards/gray_studio/aero75/config.h +++ b/keyboards/gray_studio/aero75/config.h @@ -5,11 +5,6 @@ #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF -#define RGBLED_NUM 1 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/gray_studio/aero75/info.json b/keyboards/gray_studio/aero75/info.json index e8a08e79e4e..7219afb68a6 100644 --- a/keyboards/gray_studio/aero75/info.json +++ b/keyboards/gray_studio/aero75/info.json @@ -12,7 +12,11 @@ "pin": "B10" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["A3", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "B1", "A8", "B15", "B14", "B13"], diff --git a/keyboards/gray_studio/aero75/rules.mk b/keyboards/gray_studio/aero75/rules.mk index ecfd4b5b959..4a544448674 100644 --- a/keyboards/gray_studio/aero75/rules.mk +++ b/keyboards/gray_studio/aero75/rules.mk @@ -1,5 +1,3 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable diff --git a/keyboards/gray_studio/apollo80/config.h b/keyboards/gray_studio/apollo80/config.h index 362574dea83..845978a4345 100644 --- a/keyboards/gray_studio/apollo80/config.h +++ b/keyboards/gray_studio/apollo80/config.h @@ -16,12 +16,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 22 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD /*== or choose animations ==*/ #define RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/gray_studio/apollo80/info.json b/keyboards/gray_studio/apollo80/info.json index 1dfa43bfe1e..e0c60212f92 100644 --- a/keyboards/gray_studio/apollo80/info.json +++ b/keyboards/gray_studio/apollo80/info.json @@ -12,7 +12,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "max_brightness": 180, + "sleep": true }, "matrix_pins": { "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D4", "D6", "D2", "D3", "D5"], diff --git a/keyboards/gray_studio/cod67/config.h b/keyboards/gray_studio/cod67/config.h index 7a2d573aaf7..ebb36d7fda2 100644 --- a/keyboards/gray_studio/cod67/config.h +++ b/keyboards/gray_studio/cod67/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gray_studio/cod67/info.json b/keyboards/gray_studio/cod67/info.json index fe6f1b18670..91b66685816 100644 --- a/keyboards/gray_studio/cod67/info.json +++ b/keyboards/gray_studio/cod67/info.json @@ -8,6 +8,12 @@ "pid": "0x1000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "sleep": true + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/gray_studio/hb85/config.h b/keyboards/gray_studio/hb85/config.h index 41df8a357d2..d849732a072 100644 --- a/keyboards/gray_studio/hb85/config.h +++ b/keyboards/gray_studio/hb85/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 5 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gray_studio/hb85/info.json b/keyboards/gray_studio/hb85/info.json index 138b1bfe5c9..c1d7533a7d7 100644 --- a/keyboards/gray_studio/hb85/info.json +++ b/keyboards/gray_studio/hb85/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 5 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/gray_studio/space65/config.h b/keyboards/gray_studio/space65/config.h index b1c76459fcf..c43ea489063 100644 --- a/keyboards/gray_studio/space65/config.h +++ b/keyboards/gray_studio/space65/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gray_studio/space65/info.json b/keyboards/gray_studio/space65/info.json index 8bcd90705ac..73caa1571b4 100644 --- a/keyboards/gray_studio/space65/info.json +++ b/keyboards/gray_studio/space65/info.json @@ -18,6 +18,12 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/gray_studio/space65r3/config.h b/keyboards/gray_studio/space65r3/config.h index 88824052b26..17d533adfae 100644 --- a/keyboards/gray_studio/space65r3/config.h +++ b/keyboards/gray_studio/space65r3/config.h @@ -4,11 +4,6 @@ #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/gray_studio/space65r3/info.json b/keyboards/gray_studio/space65r3/info.json index 7caa7cdd603..68cc6a449ff 100644 --- a/keyboards/gray_studio/space65r3/info.json +++ b/keyboards/gray_studio/space65r3/info.json @@ -12,7 +12,11 @@ "pin": "B10" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["A3", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A8", "B15", "B14", "B13"], diff --git a/keyboards/gray_studio/space65r3/rules.mk b/keyboards/gray_studio/space65r3/rules.mk index 703a4ac4e13..edf9d72c6e6 100644 --- a/keyboards/gray_studio/space65r3/rules.mk +++ b/keyboards/gray_studio/space65r3/rules.mk @@ -1,5 +1,3 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable diff --git a/keyboards/gray_studio/think65/hotswap/config.h b/keyboards/gray_studio/think65/hotswap/config.h index 7a2cc1f03c8..314f4674000 100644 --- a/keyboards/gray_studio/think65/hotswap/config.h +++ b/keyboards/gray_studio/think65/hotswap/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 22 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gray_studio/think65/hotswap/info.json b/keyboards/gray_studio/think65/hotswap/info.json index 1912e10989b..6e0a300ebfb 100644 --- a/keyboards/gray_studio/think65/hotswap/info.json +++ b/keyboards/gray_studio/think65/hotswap/info.json @@ -8,6 +8,12 @@ "pid": "0x4001", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/gray_studio/think65/solder/config.h b/keyboards/gray_studio/think65/solder/config.h index 7a2cc1f03c8..314f4674000 100644 --- a/keyboards/gray_studio/think65/solder/config.h +++ b/keyboards/gray_studio/think65/solder/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 22 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/gray_studio/think65/solder/info.json b/keyboards/gray_studio/think65/solder/info.json index 7bc54a5bc5b..a4e5d905ab3 100644 --- a/keyboards/gray_studio/think65/solder/info.json +++ b/keyboards/gray_studio/think65/solder/info.json @@ -8,6 +8,12 @@ "pid": "0x4000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/grid600/press/config.h b/keyboards/grid600/press/config.h index 81bccd015b4..137d23b3aef 100644 --- a/keyboards/grid600/press/config.h +++ b/keyboards/grid600/press/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 4 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/grid600/press/info.json b/keyboards/grid600/press/info.json index 6a5d86e0c73..a4a6f437300 100644 --- a/keyboards/grid600/press/info.json +++ b/keyboards/grid600/press/info.json @@ -12,6 +12,11 @@ "cols": ["F1", "F4", "F5", "F6"], "rows": ["F0"] }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/gvalchca/spaccboard/info.json b/keyboards/gvalchca/spaccboard/info.json index 71c88a0db04..1ce128b5966 100644 --- a/keyboards/gvalchca/spaccboard/info.json +++ b/keyboards/gvalchca/spaccboard/info.json @@ -201,7 +201,7 @@ {"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": 1, "w": 2.25, "h": 2}, + {"matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5, "h": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 2], "x": 2.25, "y": 3}, diff --git a/keyboards/h0oni/deskpad/config.h b/keyboards/h0oni/deskpad/config.h index ddcf0ebe4af..441e3b8c1a6 100644 --- a/keyboards/h0oni/deskpad/config.h +++ b/keyboards/h0oni/deskpad/config.h @@ -20,6 +20,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* Defining tapping term */ -#define TAPPING_TERM 250 \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/info.json b/keyboards/h0oni/deskpad/info.json index 96a23f7f615..e51aa7e7dfc 100644 --- a/keyboards/h0oni/deskpad/info.json +++ b/keyboards/h0oni/deskpad/info.json @@ -8,6 +8,9 @@ "pid": "0x4450", "device_version": "0.0.1" }, + "tapping": { + "term": 250 + }, "matrix_pins": { "cols": ["D0", "D4", "D1"], "rows": ["D7", "C6"] diff --git a/keyboards/h0oni/hotduck/config.h b/keyboards/h0oni/hotduck/config.h index 9891423e3fe..13e5bfb2d30 100644 --- a/keyboards/h0oni/hotduck/config.h +++ b/keyboards/h0oni/hotduck/config.h @@ -28,10 +28,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 15 -#define RGBLIGHT_VAL_STEP 15 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/h0oni/hotduck/info.json b/keyboards/h0oni/hotduck/info.json index 6e8e2e61448..2a1e8449d4f 100644 --- a/keyboards/h0oni/hotduck/info.json +++ b/keyboards/h0oni/hotduck/info.json @@ -13,6 +13,12 @@ "rows": ["B6", "B2", "B3", "B1", "F7", "F6", "F5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "hue_steps": 10, + "saturation_steps": 15, + "brightness_steps": 15, + "led_count": 20 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/hackpad/info.json b/keyboards/hackpad/info.json new file mode 100644 index 00000000000..0a77c9320c5 --- /dev/null +++ b/keyboards/hackpad/info.json @@ -0,0 +1,78 @@ +{ + "manufacturer": "Nico Stuhlmueller", + "keyboard_name": "hackpad", + "maintainer": "ThePurox", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true, + "encoder": true + }, + "matrix_pins": { + "cols": ["B1", "B3", "B2", "B6"], + "rows": ["C6", "D7", "E6", "B4", "B5"] + }, + "encoder": { + "rotary": [ + {"pin_a": "F5", "pin_b": "F4"} + ] + }, + "url": "https://git.imaginaerraum.de/Purox/Hackpad", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "ws2812": { + "pin": "D4" + }, + "rgblight": { + "led_count": 16, + "sleep": true, + "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 + } + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"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": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4} + ] + } + } +} diff --git a/keyboards/hackpad/keymaps/default/keymap.c b/keyboards/hackpad/keymaps/default/keymap.c new file mode 100644 index 00000000000..43489484ae4 --- /dev/null +++ b/keyboards/hackpad/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +// Copyright 2023 Nico Stuhlmueller (@ThePurox) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "keymap_german.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* ┌───┐ + * │MUT│ + * ┌───┬───┬───┼───┤ + * │ 7 │ 8 │ 9 │ + │ + * ├───┼───┼───┼───┤ + * │ 4 │ 5 │ 6 │ - │ + * ├───┼───┼───┼───┤ + * │ 1 │ 2 │ 3 │ * │ + * ├───┼───┼───┼───┤ + * │ 0 │ . │Ent│ / │ + * └───┴───┴───┴───┘ + */ + [0] = LAYOUT( LT(1, KC_MUTE), + KC_7, KC_8, KC_9, DE_PLUS, + KC_4, KC_5, KC_6, DE_MINS, + KC_1, KC_2, KC_3, DE_ASTR, + KC_0, KC_DOT, KC_ENT, DE_SLSH), + + [1] = LAYOUT( _______, + RGB_M_P, RGB_M_B, RGB_M_R, RGB_HUI, + RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_HUD, + RGB_M_X, RGB_M_G, RGB_M_TW, RGB_VAI, + RGB_TOG, RGB_SAI, RGB_SAD, RGB_VAD)}; diff --git a/keyboards/hackpad/readme.md b/keyboards/hackpad/readme.md new file mode 100644 index 00000000000..f992e55b39c --- /dev/null +++ b/keyboards/hackpad/readme.md @@ -0,0 +1,31 @@ +# hackpad + +![hackpad](https://git.imaginaerraum.de/Purox/Hackpad/raw/branch/main/assets/pic.jpg) + + +The `Hackpad` is a 4x4 numpad/macropad designed for the Arduino Day 2023 in Bayreuth in cooperation with the hackspace [Imaginärraum e.V.](imaginaerraum.de) and [Fablab-Bayreuth e.V.](fablab-bayreuth.de). +It supports 16 MX-style switches, an EC-11 rotary encoder, and per key RGB LEDs based on SK6812. + +In v0.2 all necessary components are through hole components (except for an optional reset switch and RGB-LEDs), but the ProMicro protrudes out of the case. +In v0.3 this is fixed by moving some diodes to the bottom side. The bottom diodes however are SMD only. + +* Keyboard Maintainer: [Nico Stuhlmueller](https://github.com/ThePurox) +* Hardware Supported: ProMicro is supported in v0.2 and v0.3 of the PCBs +* Hardware Availability: PCBs can be found [here](https://git.imaginaerraum.de/Purox/Hackpad) + +Make example for this keyboard (after setting up your build environment): + + make hackpad:default + +Flashing example for this keyboard: + + make hackpad: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 button**: Briefly press the button on the top 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/hackpad/rules.mk b/keyboards/hackpad/rules.mk new file mode 100644 index 00000000000..7114cc32958 --- /dev/null +++ b/keyboards/hackpad/rules.mk @@ -0,0 +1 @@ +# this file is intentionally left blank diff --git a/keyboards/hadron/ver2/config.h b/keyboards/hadron/ver2/config.h index 7b7acf32b64..85a236184d7 100644 --- a/keyboards/hadron/ver2/config.h +++ b/keyboards/hadron/ver2/config.h @@ -30,6 +30,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 diff --git a/keyboards/hadron/ver2/info.json b/keyboards/hadron/ver2/info.json index 612d3af50aa..ad56f5c9ab1 100644 --- a/keyboards/hadron/ver2/info.json +++ b/keyboards/hadron/ver2/info.json @@ -7,6 +7,10 @@ "rows": ["D7", "E6", "B4", "B5", "B6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "hue_steps": 10, + "led_count": 14 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h index 02e4116bb60..be315e668a6 100644 --- a/keyboards/hadron/ver3/config.h +++ b/keyboards/hadron/ver3/config.h @@ -118,8 +118,7 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 10 // #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/hadron/ver3/info.json b/keyboards/hadron/ver3/info.json index 753a9676ceb..466dafbc534 100644 --- a/keyboards/hadron/ver3/info.json +++ b/keyboards/hadron/ver3/info.json @@ -15,6 +15,9 @@ {"pin_a": "B13", "pin_b": "B14"} ] }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c b/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c index 01fe45bd05e..fcae7f07c6c 100644 --- a/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c +++ b/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c @@ -41,17 +41,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/halfcliff/config.h b/keyboards/halfcliff/config.h index 192267af926..d3c5de43387 100644 --- a/keyboards/halfcliff/config.h +++ b/keyboards/halfcliff/config.h @@ -25,13 +25,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { F5, F6, F7, D7, B5, F5, F6, F7, D7, B5 } #define MATRIX_COL_PINS { B4, E6, C6, B6, B2 } - #define RGBLED_NUM 10 - #define RGBLIGHT_SPLIT - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/halfcliff/info.json b/keyboards/halfcliff/info.json index a0b79ba3419..0c9b4ddb0f4 100644 --- a/keyboards/halfcliff/info.json +++ b/keyboards/halfcliff/info.json @@ -17,6 +17,10 @@ "soft_serial_pin": "D2" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true, "split_count": [5, 5] }, "ws2812": { diff --git a/keyboards/halokeys/elemental75/config.h b/keyboards/halokeys/elemental75/config.h index c23763ee9bf..0f093b6455a 100644 --- a/keyboards/halokeys/elemental75/config.h +++ b/keyboards/halokeys/elemental75/config.h @@ -15,11 +15,6 @@ */ #pragma once -#define TAP_CODE_DELAY 10 // tap_code function delay for register and unregister - -#define RGBLED_NUM 22 -#define RGBLIGHT_SLEEP - /* animations enabled */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -34,9 +29,6 @@ //#define RGBLIGHT_DISABLE_KEYCODES -// Tap dance term declaration -#define TAPPING_TERM 300 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/halokeys/elemental75/info.json b/keyboards/halokeys/elemental75/info.json index 5f8bdb38a6a..56feac1e6bd 100644 --- a/keyboards/halokeys/elemental75/info.json +++ b/keyboards/halokeys/elemental75/info.json @@ -18,11 +18,19 @@ {"pin_a": "B6", "pin_b": "B5"} ] }, + "tapping": { + "term": 300 + }, + "qmk": { + "tap_keycode_delay": 10 + }, "ws2812": { "pin": "A10" }, "rgblight": { - "max_brightness": 225 + "led_count": 22, + "max_brightness": 225, + "sleep": true }, "processor": "STM32F303", "bootloader": "stm32-dfu", diff --git a/keyboards/hand88/rules.mk b/keyboards/hand88/rules.mk old mode 100755 new mode 100644 index 266889cfe70..475da662628 --- a/keyboards/hand88/rules.mk +++ b/keyboards/hand88/rules.mk @@ -1,7 +1,3 @@ -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable diff --git a/keyboards/handwired/2x5keypad/config.h b/keyboards/handwired/2x5keypad/config.h index 819f0f640f5..5f360813239 100644 --- a/keyboards/handwired/2x5keypad/config.h +++ b/keyboards/handwired/2x5keypad/config.h @@ -5,6 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* Tap dancing params */ -#define TAPPING_TERM 250 diff --git a/keyboards/handwired/2x5keypad/info.json b/keyboards/handwired/2x5keypad/info.json index 1df0ccbdee5..b33273e19db 100644 --- a/keyboards/handwired/2x5keypad/info.json +++ b/keyboards/handwired/2x5keypad/info.json @@ -8,6 +8,9 @@ "pid": "0x2020", "device_version": "0.0.1" }, + "tapping": { + "term": 250 + }, "matrix_pins": { "cols": ["D4", "C6", "D7", "E6", "B4"], "rows": ["B3", "B2"] diff --git a/keyboards/handwired/3dp660/config.h b/keyboards/handwired/3dp660/config.h index f804456960f..c2949ab3a7a 100644 --- a/keyboards/handwired/3dp660/config.h +++ b/keyboards/handwired/3dp660/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define TAPPING_TERM 400 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/handwired/3dp660/info.json b/keyboards/handwired/3dp660/info.json index c3bc103d773..6d380fc3c60 100644 --- a/keyboards/handwired/3dp660/info.json +++ b/keyboards/handwired/3dp660/info.json @@ -8,6 +8,9 @@ "pid": "0x3660", "device_version": "0.0.1" }, + "tapping": { + "term": 400 + }, "matrix_pins": { "cols": ["D2", "D3", "C6", "C7", "D5", "D4", "D7", "B4", "B5", "B6", "F7", "F6", "F5", "F4", "F1"], "rows": ["B0", "B1", "B2", "B3", "B7"] diff --git a/keyboards/handwired/42/config.h b/keyboards/handwired/42/config.h index 57a8664649b..fa9a83d08ec 100644 --- a/keyboards/handwired/42/config.h +++ b/keyboards/handwired/42/config.h @@ -4,5 +4,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define TAPPING_TERM 100 diff --git a/keyboards/handwired/42/info.json b/keyboards/handwired/42/info.json index dccafc6d86a..fae660de934 100644 --- a/keyboards/handwired/42/info.json +++ b/keyboards/handwired/42/info.json @@ -8,6 +8,9 @@ "pid": "0x0000", "device_version": "0.0.3" }, + "tapping": { + "term": 100 + }, "matrix_pins": { "cols": ["F5", "F6", "F7", "F0", "F1", "F4", "B6", "B5", "D7", "C7", "D6", "B7"], "rows": ["D2", "D3", "D0", "D1"] diff --git a/keyboards/handwired/6macro/config.h b/keyboards/handwired/6macro/config.h index 55716a3b7a7..9b3ff4cb6d1 100644 --- a/keyboards/handwired/6macro/config.h +++ b/keyboards/handwired/6macro/config.h @@ -17,12 +17,7 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 10 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +#define RGB_MATRIX_LED_COUNT 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/6macro/info.json b/keyboards/handwired/6macro/info.json index 5bc9833fa52..8f41316cd82 100644 --- a/keyboards/handwired/6macro/info.json +++ b/keyboards/handwired/6macro/info.json @@ -8,6 +8,10 @@ "pid": "0x0037", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 10 + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/handwired/aek64/config.h b/keyboards/handwired/aek64/config.h index 62911151584..fa8d618c747 100644 --- a/keyboards/handwired/aek64/config.h +++ b/keyboards/handwired/aek64/config.h @@ -22,6 +22,3 @@ along with this program. If not, see . #define RCPC_KEYS KC_RCTL, KC_TRNS, KC_PGDN #define LSPO_KEYS KC_LSFT, KC_TRNS, KC_HOME #define LCPO_KEYS KC_LCTL, KC_TRNS, KC_END - -/* Enable double tab */ -#define TAPPING_TERM 175 diff --git a/keyboards/handwired/aek64/info.json b/keyboards/handwired/aek64/info.json index dfa762ce817..e71156e9882 100644 --- a/keyboards/handwired/aek64/info.json +++ b/keyboards/handwired/aek64/info.json @@ -18,6 +18,9 @@ "levels": 5, "breathing": true }, + "tapping": { + "term": 175 + }, "processor": "at90usb1286", "bootloader": "halfkay", "layouts": { diff --git a/keyboards/handwired/angel/config.h b/keyboards/handwired/angel/config.h index 3439d8c8c18..ee492503d12 100644 --- a/keyboards/handwired/angel/config.h +++ b/keyboards/handwired/angel/config.h @@ -17,8 +17,5 @@ along with this program. If not, see . #pragma once -// https://docs.qmk.fm/using-qmk/software-features/tap_hold -#define TAPPING_TERM 200 - /* define if matrix has ghost (lacks anti-ghosting diodes) */ #define MATRIX_HAS_GHOST diff --git a/keyboards/handwired/aranck/config.h b/keyboards/handwired/aranck/config.h index 6f44c0cbba3..b20b3099e9a 100644 --- a/keyboards/handwired/aranck/config.h +++ b/keyboards/handwired/aranck/config.h @@ -31,9 +31,6 @@ along with this program. If not, see . * Aranck-specific definitions END */ - -#define TAPPING_TERM 200 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/handwired/arrow_pad/keymaps/default/keymap.c b/keyboards/handwired/arrow_pad/keymaps/default/keymap.c index cecaefe80de..820851f803e 100644 --- a/keyboards/handwired/arrow_pad/keymaps/default/keymap.c +++ b/keyboards/handwired/arrow_pad/keymaps/default/keymap.c @@ -96,9 +96,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t * record) { return true; } -void led_set_user(uint8_t usb_led) +bool led_update_user(led_t led_state) { - if (usb_led & (1<. #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* * Feature disable options diff --git a/keyboards/handwired/atreus50/info.json b/keyboards/handwired/atreus50/info.json index cb1d6f6f0a6..e1394555fef 100644 --- a/keyboards/handwired/atreus50/info.json +++ b/keyboards/handwired/atreus50/info.json @@ -8,6 +8,10 @@ "pid": "0x040D", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 12 + }, "ws2812": { "pin": "C6" }, diff --git a/keyboards/handwired/bento/rev1/config.h b/keyboards/handwired/bento/rev1/config.h index 75eb7537b2b..bf4ae6d7d19 100644 --- a/keyboards/handwired/bento/rev1/config.h +++ b/keyboards/handwired/bento/rev1/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 4 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/bento/rev1/info.json b/keyboards/handwired/bento/rev1/info.json index 555731bdd58..527341e96ac 100644 --- a/keyboards/handwired/bento/rev1/info.json +++ b/keyboards/handwired/bento/rev1/info.json @@ -8,6 +8,12 @@ "pid": "0xDAD3", "device_version": "1.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/brain/config.h b/keyboards/handwired/brain/config.h index 61dddcd9c27..91253b16957 100644 --- a/keyboards/handwired/brain/config.h +++ b/keyboards/handwired/brain/config.h @@ -42,10 +42,6 @@ along with this program. If not, see . /* Enables This makes it easier for fast typists to use dual-function keys */ #define PERMISSIVE_HOLD -#define RGBLED_NUM 28 // Number of LEDs - -#define RGBLIGHT_SPLIT - /* * Feature disable options * These options are also useful to firmware size reduction. @@ -61,6 +57,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -//#define TAPPING_TERM 150 -//#define QUICK_TAP_TERM 0 diff --git a/keyboards/handwired/brain/info.json b/keyboards/handwired/brain/info.json index 0454b36669c..910a628ca6a 100644 --- a/keyboards/handwired/brain/info.json +++ b/keyboards/handwired/brain/info.json @@ -20,6 +20,8 @@ "pin": "D3" }, "rgblight": { + "led_count": 28, + "split": true, "max_brightness": 120 }, "split": { diff --git a/keyboards/handwired/chiron/config.h b/keyboards/handwired/chiron/config.h index 677804cbe9b..4d245e80e4b 100644 --- a/keyboards/handwired/chiron/config.h +++ b/keyboards/handwired/chiron/config.h @@ -22,5 +22,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE - -#define RGBLED_NUM 4 diff --git a/keyboards/handwired/chiron/info.json b/keyboards/handwired/chiron/info.json index 2cb9a7a4d94..0bbdefe9216 100644 --- a/keyboards/handwired/chiron/info.json +++ b/keyboards/handwired/chiron/info.json @@ -17,6 +17,9 @@ "pin": "B6", "levels": 7 }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/ck4x4/rules.mk b/keyboards/handwired/ck4x4/rules.mk index 9a1946bb60f..91a488483f8 100644 --- a/keyboards/handwired/ck4x4/rules.mk +++ b/keyboards/handwired/ck4x4/rules.mk @@ -11,5 +11,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover DEFAULT_FOLDER = handwired/ck4x4 -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/handwired/co60/rev7/config.h b/keyboards/handwired/co60/rev7/config.h index 8cafa3c6f3b..be60d6b5221 100644 --- a/keyboards/handwired/co60/rev7/config.h +++ b/keyboards/handwired/co60/rev7/config.h @@ -36,8 +36,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - -#define RGBLED_NUM 16 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM - -#define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/handwired/co60/rev7/info.json b/keyboards/handwired/co60/rev7/info.json index 1f1c2a2cf98..1475c808f37 100644 --- a/keyboards/handwired/co60/rev7/info.json +++ b/keyboards/handwired/co60/rev7/info.json @@ -12,6 +12,9 @@ "pin": "B8", "breathing": true }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "A7", "driver": "spi" diff --git a/keyboards/handwired/concertina/64key/config.h b/keyboards/handwired/concertina/64key/config.h index b315e309ae3..70aafa3bfd4 100644 --- a/keyboards/handwired/concertina/64key/config.h +++ b/keyboards/handwired/concertina/64key/config.h @@ -16,7 +16,4 @@ #pragma once -/* LEDs are not used in the standard 64key configuration. */ -#define RGBLED_NUM 0 - #define PERMISSIVE_HOLD diff --git a/keyboards/handwired/concertina/64key/info.json b/keyboards/handwired/concertina/64key/info.json index 1bca5a6fa48..2786c334519 100644 --- a/keyboards/handwired/concertina/64key/info.json +++ b/keyboards/handwired/concertina/64key/info.json @@ -8,6 +8,9 @@ "pid": "0x3632", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 0 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/consolekeyboard/18key/config.h b/keyboards/handwired/consolekeyboard/18key/config.h index bbc4eccf18e..7b68a5560c3 100644 --- a/keyboards/handwired/consolekeyboard/18key/config.h +++ b/keyboards/handwired/consolekeyboard/18key/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING // #define RGBLIGHT_EFFECT_RAINBOW_MOOD // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/consolekeyboard/18key/info.json b/keyboards/handwired/consolekeyboard/18key/info.json index 3a37174f364..d6ce8fb9281 100644 --- a/keyboards/handwired/consolekeyboard/18key/info.json +++ b/keyboards/handwired/consolekeyboard/18key/info.json @@ -8,6 +8,12 @@ "pid": "0x3332", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/handwired/consolekeyboard/20key/config.h b/keyboards/handwired/consolekeyboard/20key/config.h index bbc4eccf18e..7b68a5560c3 100644 --- a/keyboards/handwired/consolekeyboard/20key/config.h +++ b/keyboards/handwired/consolekeyboard/20key/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING // #define RGBLIGHT_EFFECT_RAINBOW_MOOD // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/consolekeyboard/20key/info.json b/keyboards/handwired/consolekeyboard/20key/info.json index 1dc5a331e16..bfcbf70c85c 100644 --- a/keyboards/handwired/consolekeyboard/20key/info.json +++ b/keyboards/handwired/consolekeyboard/20key/info.json @@ -8,6 +8,12 @@ "pid": "0x3432", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/handwired/consolekeyboard/27key/config.h b/keyboards/handwired/consolekeyboard/27key/config.h index bbc4eccf18e..7b68a5560c3 100644 --- a/keyboards/handwired/consolekeyboard/27key/config.h +++ b/keyboards/handwired/consolekeyboard/27key/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING // #define RGBLIGHT_EFFECT_RAINBOW_MOOD // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/consolekeyboard/27key/info.json b/keyboards/handwired/consolekeyboard/27key/info.json index 86682eb0f4d..3c303fc9aab 100644 --- a/keyboards/handwired/consolekeyboard/27key/info.json +++ b/keyboards/handwired/consolekeyboard/27key/info.json @@ -8,6 +8,12 @@ "pid": "0x3433", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/handwired/consolekeyboard/30key/config.h b/keyboards/handwired/consolekeyboard/30key/config.h index 30d9a2f459e..8d327bf5bdb 100644 --- a/keyboards/handwired/consolekeyboard/30key/config.h +++ b/keyboards/handwired/consolekeyboard/30key/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING // #define RGBLIGHT_EFFECT_RAINBOW_MOOD // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/consolekeyboard/30key/info.json b/keyboards/handwired/consolekeyboard/30key/info.json index e2bac91ab1a..9e60ae68ade 100644 --- a/keyboards/handwired/consolekeyboard/30key/info.json +++ b/keyboards/handwired/consolekeyboard/30key/info.json @@ -8,6 +8,12 @@ "pid": "0x3433", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/handwired/croxsplit44/config.h b/keyboards/handwired/croxsplit44/config.h index 5703448756d..8ef7c658a72 100644 --- a/keyboards/handwired/croxsplit44/config.h +++ b/keyboards/handwired/croxsplit44/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 42 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/croxsplit44/info.json b/keyboards/handwired/croxsplit44/info.json index 399dae6c33a..74e1e0db690 100644 --- a/keyboards/handwired/croxsplit44/info.json +++ b/keyboards/handwired/croxsplit44/info.json @@ -8,6 +8,12 @@ "pid": "0x6146", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 42, + "sleep": true + }, "ws2812": { "pin": "C4" }, diff --git a/keyboards/handwired/cyberstar/config.h b/keyboards/handwired/cyberstar/config.h index 813b5650369..0e47fb3111a 100644 --- a/keyboards/handwired/cyberstar/config.h +++ b/keyboards/handwired/cyberstar/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define WS2812_DMA_CHANNEL 3 #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/cyberstar/info.json b/keyboards/handwired/cyberstar/info.json index 47eaab67a73..8384d1a69fb 100644 --- a/keyboards/handwired/cyberstar/info.json +++ b/keyboards/handwired/cyberstar/info.json @@ -8,6 +8,11 @@ "pid": "0x432A", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12 + }, "ws2812": { "pin": "B4", "driver": "pwm" diff --git a/keyboards/handwired/cyberstar/rules.mk b/keyboards/handwired/cyberstar/rules.mk index 000ee78e21a..cc9d7bb3f53 100644 --- a/keyboards/handwired/cyberstar/rules.mk +++ b/keyboards/handwired/cyberstar/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/handwired/d48/config.h b/keyboards/handwired/d48/config.h index 64364451ff1..9f06a2501ab 100644 --- a/keyboards/handwired/d48/config.h +++ b/keyboards/handwired/d48/config.h @@ -2,10 +2,6 @@ /* RGB Underglow */ #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -35,9 +31,6 @@ #define OLED_TIMEOUT 0 // #define OLED_SCROLL_TIMEOUT 1000 -/* Taps (encoder tap_code) */ -#define TAP_CODE_DELAY 10 - /* I2C */ //#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 //#define PAL_MODE_STM32_ALTERNATE_OPENDRAIN (PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN) diff --git a/keyboards/handwired/d48/info.json b/keyboards/handwired/d48/info.json index db3f2bbacc1..f56cb99e205 100644 --- a/keyboards/handwired/d48/info.json +++ b/keyboards/handwired/d48/info.json @@ -8,6 +8,11 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "A15" }, @@ -22,6 +27,9 @@ {"pin_a": "A0", "pin_b": "A1"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "STM32F303", "bootloader": "stm32-dfu", "board": "QMK_PROTON_C", diff --git a/keyboards/handwired/dactyl/config.h b/keyboards/handwired/dactyl/config.h index f37a8f2722c..94b407d7358 100644 --- a/keyboards/handwired/dactyl/config.h +++ b/keyboards/handwired/dactyl/config.h @@ -37,10 +37,6 @@ along with this program. If not, see . #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 1 - -#define TAPPING_TERM 200 - /* key combination for command */ #define IS_COMMAND() ( \ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \ diff --git a/keyboards/handwired/dactyl/info.json b/keyboards/handwired/dactyl/info.json index 8297e609a1c..e95c380d9c0 100644 --- a/keyboards/handwired/dactyl/info.json +++ b/keyboards/handwired/dactyl/info.json @@ -11,6 +11,9 @@ "processor": "atmega32u4", "bootloader": "halfkay", "debounce": 15, + "tapping": { + "toggle": 1 + }, "layouts": { "LAYOUT_dactyl": { "layout": [ diff --git a/keyboards/handwired/dactyl_cc/info.json b/keyboards/handwired/dactyl_cc/info.json new file mode 100644 index 00000000000..ffaf326f21a --- /dev/null +++ b/keyboards/handwired/dactyl_cc/info.json @@ -0,0 +1,117 @@ +{ + "keyboard_name": "Dactyl CC", + "manufacturer": "mjohns", + "url": "https://github.com/mjohns/dactyl-cc", + "maintainer": "qmk", + "usb": { + "vid": "0xFEED", + "pid": "0x3060", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": true, + "nkro": false + }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F6", "F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "soft_serial_pin": "D0" + }, + "development_board": "promicro", + "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 4], "x": 15, "y": 0}, + {"matrix": [6, 5], "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": [7, 0], "x": 11, "y": 1}, + {"matrix": [7, 1], "x": 12, "y": 1}, + {"matrix": [7, 2], "x": 13, "y": 1}, + {"matrix": [7, 3], "x": 14, "y": 1}, + {"matrix": [7, 4], "x": 15, "y": 1}, + {"matrix": [7, 5], "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": [8, 0], "x": 11, "y": 2}, + {"matrix": [8, 1], "x": 12, "y": 2}, + {"matrix": [8, 2], "x": 13, "y": 2}, + {"matrix": [8, 3], "x": 14, "y": 2}, + {"matrix": [8, 4], "x": 15, "y": 2}, + {"matrix": [8, 5], "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": [9, 0], "x": 11, "y": 3}, + {"matrix": [9, 1], "x": 12, "y": 3}, + {"matrix": [9, 2], "x": 13, "y": 3}, + {"matrix": [9, 3], "x": 14, "y": 3}, + {"matrix": [9, 4], "x": 15, "y": 3}, + {"matrix": [9, 5], "x": 16, "y": 3}, + + {"matrix": [4, 0], "x": 1, "y": 4}, + {"matrix": [4, 1], "x": 2, "y": 4}, + {"matrix": [4, 2], "x": 3, "y": 4}, + {"matrix": [4, 3], "x": 4, "y": 4}, + + {"matrix": [10, 2], "x": 12, "y": 4}, + {"matrix": [10, 3], "x": 13, "y": 4}, + {"matrix": [10, 4], "x": 14, "y": 4}, + {"matrix": [10, 5], "x": 15, "y": 4}, + + {"matrix": [4, 4], "x": 6, "y": 5}, + {"matrix": [4, 5], "x": 7, "y": 5}, + + {"matrix": [10, 0], "x": 9, "y": 5}, + {"matrix": [10, 1], "x": 10, "y": 5}, + + {"matrix": [5, 2], "x": 5, "y": 6, "h": 2}, + {"matrix": [5, 3], "x": 6, "y": 6, "h": 2}, + {"matrix": [5, 5], "x": 7, "y": 6}, + + {"matrix": [11, 0], "x": 9, "y": 6}, + {"matrix": [11, 2], "x": 10, "y": 6, "h": 2}, + {"matrix": [11, 3], "x": 11, "y": 6, "h": 2}, + + {"matrix": [5, 4], "x": 7, "y": 7}, + {"matrix": [11, 1], "x": 9, "y": 7} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_cc/keymaps/default/config.h b/keyboards/handwired/dactyl_cc/keymaps/default/config.h new file mode 100644 index 00000000000..49d5477f0a7 --- /dev/null +++ b/keyboards/handwired/dactyl_cc/keymaps/default/config.h @@ -0,0 +1,28 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#define PERMISSIVE_HOLD + +/* mouse config */ +#define MOUSEKEY_DELAY 0 +// Lowering MOUSEKEY_INTERVAL raises the cursor speed significantly, you may want to lower MOUSEKEY_MAX_SPEED (default: 10) +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + +/* layer config */ +#define TAPPING_TOGGLE 1 + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/handwired/dactyl_cc/keymaps/default/keymap.c b/keyboards/handwired/dactyl_cc/keymaps/default/keymap.c new file mode 100644 index 00000000000..6422699684c --- /dev/null +++ b/keyboards/handwired/dactyl_cc/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + BASE, + NAV +}; + +#define CTL_ESC LCTL_T(KC_ESC) +#define CTL_CAP LCTL_T(KC_CAPS) +#define ALT_BSP LALT_T(KC_BSPC) +#define LT_SCLN LT(NAV, KC_SCLN) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [BASE] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_BSLS, + CTL_CAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT_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_RSFT, + KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + TT(NAV), KC_DEL, KC_PGUP, KC_RCTL, + KC_BSPC, CTL_ESC, KC_LGUI, KC_PGDN, KC_ENT, KC_SPC, + KC_LALT, KC_RALT + ), + [NAV] = LAYOUT( + QK_BOOT, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_BRIU, KC_P7, KC_P8, KC_P9, KC_NO, QK_BOOT, + _______, KC_VOLU, KC_WBAK, KC_MS_U, KC_WFWD, KC_WH_U, KC_BRID, KC_P4, KC_P5, KC_P6, KC_PMNS, _______, + _______, KC_VOLD, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, + KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, KC_PAST, KC_PCMM, KC_P0, KC_PDOT, KC_PENT, _______, + KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, _______, KC_HOME, _______, + KC_BTN1, KC_BTN2, _______, KC_END, _______, _______, + _______, ALT_BSP + ) +}; diff --git a/keyboards/handwired/dactyl_cc/keymaps/via/config.h b/keyboards/handwired/dactyl_cc/keymaps/via/config.h new file mode 100644 index 00000000000..49d5477f0a7 --- /dev/null +++ b/keyboards/handwired/dactyl_cc/keymaps/via/config.h @@ -0,0 +1,28 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#define PERMISSIVE_HOLD + +/* mouse config */ +#define MOUSEKEY_DELAY 0 +// Lowering MOUSEKEY_INTERVAL raises the cursor speed significantly, you may want to lower MOUSEKEY_MAX_SPEED (default: 10) +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + +/* layer config */ +#define TAPPING_TOGGLE 1 + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/handwired/dactyl_cc/keymaps/via/keymap.c b/keyboards/handwired/dactyl_cc/keymaps/via/keymap.c new file mode 100644 index 00000000000..aad8656a06c --- /dev/null +++ b/keyboards/handwired/dactyl_cc/keymaps/via/keymap.c @@ -0,0 +1,64 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _NAV, + _SYS, + _BLANK +}; + +#define LT_1BSP LT(1, KC_BSPC) +#define LT_2SPC LT(2, KC_SPC) +#define MH_DEL MEH_T(KC_DEL) +#define HY_ENT HYPR_T(KC_ENT) +#define CA_PGDN LCA_T(KC_PGDN) +#define CAG_END LCAG_T(KC_END) +#define AG_PGUP LAG_T(KC_PGUP) +#define CG_HOME MT(MOD_LGUI | MOD_LCTL, KC_HOME) + +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_GRV, + 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_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_RSFT, + KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL, + LT_1BSP, MH_DEL, CG_HOME, AG_PGUP, HY_ENT, LT_2SPC, + CAG_END, CA_PGDN + ), + [_NAV] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PEQL, KC_PSLS, KC_PAST, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, + _______, QK_BOOT, _______, _______, KC_SLEP, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, + _______, _______, _______, _______, _______, _______, KC_PDOT, KC_PENT, + _______, _______, _______, KC_P0, + _______, _______, _______, _______, _______, MO(3), + _______, _______ + ), + [_SYS] = 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_VOLU, KC_WBAK, KC_MS_U, KC_WFWD, KC_WH_U, _______, KC_NO, KC_NO, KC_NO, KC_NO, _______, + _______, KC_MUTE, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_PSCR, KC_PAUS, KC_INS, KC_SCRL, _______, + _______, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _______, KC_NO, KC_NO, KC_NO, KC_NO, _______, + _______, _______, _______, _______, _______, _______, KC_UP, KC_RGHT, + _______, _______, _______, _______, + KC_BTN1, KC_BTN2, _______, _______, _______, _______, + _______, _______ + + ), + [_BLANK] = 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 + ) +}; diff --git a/keyboards/handwired/dactyl_cc/keymaps/via/rules.mk b/keyboards/handwired/dactyl_cc/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/handwired/dactyl_cc/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/dactyl_cc/readme.md b/keyboards/handwired/dactyl_cc/readme.md new file mode 100644 index 00000000000..580539639bd --- /dev/null +++ b/keyboards/handwired/dactyl_cc/readme.md @@ -0,0 +1,27 @@ +# Dactyl-CC + +![DactylCC](https://i.imgur.com/CUbPLZCh.jpeg) + +Modelled on the *Kinesis Advantage* (KA) 1|2, though missing it's combined function and program row, the *Dactyl CC* retains the finger and thumb key placements of the KA but opts to split board into physical halves. + +* Keyboard Maintainer: [Michael Johns](https://github.com/mjohns) +* Hardware Supported: Pro micro controller or clones of +* Hardware Availability: [Dactyl CC GitHub](https://github.com/mjohns/dactyl-cc) + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_cc:default + +Flashing example for this keyboard: + + make handwired/dactyl_cc: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/capsunlocked/cu80/v2_ansi/base/rules.mk b/keyboards/handwired/dactyl_cc/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk rename to keyboards/handwired/dactyl_cc/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json b/keyboards/handwired/dactyl_kinesis/info.json similarity index 90% rename from keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json rename to keyboards/handwired/dactyl_kinesis/info.json index 8f14c5049e8..91cb98e0409 100644 --- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json +++ b/keyboards/handwired/dactyl_kinesis/info.json @@ -1,6 +1,6 @@ { - "keyboard_name": "Dactyl-Manuform (6x6+4)", - "manufacturer": "tshort", + "keyboard_name": "Dactyl Kinesis", + "manufacturer": "dmik", "url": "", "maintainer": "dmik", "usb": { @@ -8,6 +8,20 @@ "pid": "0x3636", "device_version": "0.0.1" }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "audio": false, + "backlight": false, + "rgblight": false + }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, @@ -17,12 +31,12 @@ }, "diode_direction": "COL2ROW", "split": { + "enabled": true, "soft_serial_pin": "D0" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "layouts": { - "LAYOUT_6x6_kinesis": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -104,22 +118,22 @@ {"matrix": [12, 4], "x": 14, "y": 5}, {"matrix": [12, 5], "x": 15, "y": 5}, - {"matrix": [5, 4], "x": 5, "y": 7, "h": 2}, - {"matrix": [5, 5], "x": 6, "y": 7, "h": 2}, - - {"matrix": [12, 0], "x": 10, "y": 7, "h": 2}, - {"matrix": [12, 1], "x": 11, "y": 7, "h": 2}, - {"matrix": [6, 4], "x": 6, "y": 6}, {"matrix": [6, 5], "x": 7, "y": 6}, {"matrix": [13, 0], "x": 9, "y": 6}, {"matrix": [13, 1], "x": 10, "y": 6}, - {"matrix": [6, 2], "x": 7, "y": 8}, - {"matrix": [6, 3], "x": 7, "y": 7}, + {"matrix": [5, 4], "x": 5, "y": 7, "h": 2}, + {"matrix": [5, 5], "x": 6, "y": 7, "h": 2}, + + {"matrix": [12, 0], "x": 10, "y": 7, "h": 2}, + {"matrix": [12, 1], "x": 11, "y": 7, "h": 2}, + {"matrix": [6, 3], "x": 7, "y": 7}, {"matrix": [13, 2], "x": 9, "y": 7}, + + {"matrix": [6, 2], "x": 7, "y": 8}, {"matrix": [13, 3], "x": 9, "y": 8} ] } diff --git a/keyboards/handwired/dactyl_kinesis/keymaps/default/keymap.c b/keyboards/handwired/dactyl_kinesis/keymaps/default/keymap.c new file mode 100644 index 00000000000..05e138da72d --- /dev/null +++ b/keyboards/handwired/dactyl_kinesis/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +// Copyright 2012 Jun Wako +// Copyright 2021 Dmitriy Kuminov (@dmik) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _QWERTY, + _LOWER +}; + +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_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_CAPS, + 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_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_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + KC_GRV , LOWER , KC_LEFT, KC_RGHT, KC_UP , KC_DOWN, KC_LBRC, KC_RBRC, + KC_LGUI, KC_LALT, KC_RCTL, KC_RGUI, + KC_BSPC, KC_DEL, KC_HOME, KC_PGUP, KC_ENT , KC_SPC , + KC_END , KC_PGDN + ), + + [_LOWER] = LAYOUT( + _______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, KC_INS , _______, _______, _______, _______, + _______, _______ + ) +}; diff --git a/keyboards/handwired/dactyl_kinesis/readme.md b/keyboards/handwired/dactyl_kinesis/readme.md new file mode 100644 index 00000000000..69427406d12 --- /dev/null +++ b/keyboards/handwired/dactyl_kinesis/readme.md @@ -0,0 +1,109 @@ +# Dactyl Kinesis + +Essentially a Dactyl CC physical key layout with an additional top row, further emulating the Kinesis Advantage (*1|2*) physical key layout. + +* Keyboard Maintainer: [dmik](https://github.com/dmik) +* Hardware Supported: Pro Micro controller, or clone of + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_kinesis:default + +Flashing example for this keyboard: + + make handwired/dactyl_kinesis: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). + +## Kinesis Advantage Keymap + +### About + +This keymap is designed after Kinesis Advantage's QWERTY layout with the following key differences: + - There are only 10 F-keys in the main layer, F1 and F2 are moved to additional LOWER layer. + - The INS key acts like a LOWER layer activation key and Del in LOWER layer ats like INS. + - LCtl is placed where CAPS should be and CAPS is moved to a free key after F10. + - Brigtness and volume control keys are added to LOWER layer. + + The keymap file also contains RAISE layer but it is currently equivalent to LOWER layer and does + not have an activation key mapped. It is intended for possible extensions. + +### Keymap + + Main QUERTY layer: + ,-------------------------------------------. ,-------------------------------------------. + | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | CAPS | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | LCtl | A | S | D | F | G | | H | J | K | L | ; | ' | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | LShift | Z | X | C | V | B | | N | M | , | . | / | RShift | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | ` | LOWER| Left | Rght | | Up | Dn | [ | ] | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | LGui | LAlt | | RCtl | RGui | + ,------|------|------| |------+------+------. + | | | Home | | PgUp | | | + | BkSp | Del |------| |------|Enter |Space | + | | | End | | PgDn | | | + `--------------------' `--------------------' + + LOWER layer: + ,-------------------------------------------. ,-------------------------------------------. + | | F11 | F12 | | | | |BriDn |BriUp |VMute |VolDn |VolUp | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | | | | | | | | | | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | INS |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' + +### Key Matrix Wiring + +The below picture shows correspondence between the keys and the row/column wires of the left and +right halves: + + ,-------------------------------------------. ,-------------------------------------------. + | 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 | | R40 | R41 | R42 | R43 | R44 | R45 | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | L50 | L51 | L52 | L53 | | R52 | R53 | R54 | R55 | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | L64 | L65 | | R60 | R61 | + ,------|------|------| |------+------+------. + | | | L63 | | R62 | | | + | L54 | L55 |------| |------| R50 | R51 | + | | | L62 | | R63 | | | + `--------------------' `--------------------' + +## 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/handwired/dactyl_kinesis/rules.mk b/keyboards/handwired/dactyl_kinesis/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/dactyl_kinesis/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/dactyl_lightcycle/info.json b/keyboards/handwired/dactyl_lightcycle/info.json new file mode 100644 index 00000000000..2e10fda4dd9 --- /dev/null +++ b/keyboards/handwired/dactyl_lightcycle/info.json @@ -0,0 +1,209 @@ +{ + "keyboard_name": "Dactyl Lightcycle", + "manufacturer": "Adereth", + "url": "https://github.com/adereth/dactyl-keyboard", + "maintainer": "Matt Adereth", + "usb": { + "vid": "0xFEED", + "pid": "0x3060", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "mousekey": true, + "extrakey": true, + "audio": false, + "rgblight": false, + "backlight": false, + "nkro": false + }, + "ws2812": { + "pin": "D3" + }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "soft_serial_pin": "D0" + }, + "development_board": "promicro", + "community_layouts": ["split_3x6_3", "split_3x5_3"], + "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": [5, 0], "x": 11, "y": 0}, + {"matrix": [5, 1], "x": 12, "y": 0}, + {"matrix": [5, 2], "x": 13, "y": 0}, + {"matrix": [5, 3], "x": 14, "y": 0}, + {"matrix": [5, 4], "x": 15, "y": 0}, + {"matrix": [5, 5], "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, 0], "x": 11, "y": 1}, + {"matrix": [6, 1], "x": 12, "y": 1}, + {"matrix": [6, 2], "x": 13, "y": 1}, + {"matrix": [6, 3], "x": 14, "y": 1}, + {"matrix": [6, 4], "x": 15, "y": 1}, + {"matrix": [6, 5], "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, 0], "x": 11, "y": 2}, + {"matrix": [7, 1], "x": 12, "y": 2}, + {"matrix": [7, 2], "x": 13, "y": 2}, + {"matrix": [7, 3], "x": 14, "y": 2}, + {"matrix": [7, 4], "x": 15, "y": 2}, + {"matrix": [7, 5], "x": 16, "y": 2}, + + {"matrix": [3, 5], "x": 6, "y": 2, "h": 1.25}, + {"matrix": [4, 5], "x": 7, "y": 2, "h": 1.5}, + + {"matrix": [9, 0], "x": 9, "y": 2, "h": 1.5}, + {"matrix": [8, 0], "x": 10, "y": 2, "h": 1.25}, + + {"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": [4, 2], "x": 5, "y": 3, "h": 2}, + {"matrix": [4, 3], "x": 6, "y": 3.25, "h": 1.75}, + {"matrix": [4, 4], "x": 7, "y": 3.5, "h": 1.5}, + + {"matrix": [9, 1], "x": 9, "y": 3.5, "h": 1.5}, + {"matrix": [9, 2], "x": 10, "y": 3.25, "h": 1.75}, + {"matrix": [9, 3], "x": 11, "y": 3, "h": 2}, + + {"matrix": [8, 1], "x": 12, "y": 3}, + {"matrix": [8, 2], "x": 13, "y": 3}, + {"matrix": [8, 3], "x": 14, "y": 3}, + {"matrix": [8, 4], "x": 15, "y": 3}, + {"matrix": [8, 5], "x": 16, "y": 3} + ] + }, + "LAYOUT_split_3x6_3": { + "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, 0], "x": 11, "y": 0}, + {"matrix": [5, 1], "x": 12, "y": 0}, + {"matrix": [5, 2], "x": 13, "y": 0}, + {"matrix": [5, 3], "x": 14, "y": 0}, + {"matrix": [5, 4], "x": 15, "y": 0}, + {"matrix": [5, 5], "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, 0], "x": 11, "y": 1}, + {"matrix": [6, 1], "x": 12, "y": 1}, + {"matrix": [6, 2], "x": 13, "y": 1}, + {"matrix": [6, 3], "x": 14, "y": 1}, + {"matrix": [6, 4], "x": 15, "y": 1}, + {"matrix": [6, 5], "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, 0], "x": 11, "y": 2}, + {"matrix": [7, 1], "x": 12, "y": 2}, + {"matrix": [7, 2], "x": 13, "y": 2}, + {"matrix": [7, 3], "x": 14, "y": 2}, + {"matrix": [7, 4], "x": 15, "y": 2}, + {"matrix": [7, 5], "x": 16, "y": 2}, + + {"matrix": [4, 2], "x": 5, "y": 3, "h": 2}, + {"matrix": [4, 3], "x": 6, "y": 3.25, "h": 1.75}, + {"matrix": [4, 4], "x": 7, "y": 3.5, "h": 1.5}, + + {"matrix": [9, 1], "x": 9, "y": 3.5, "h": 1.5}, + {"matrix": [9, 2], "x": 10, "y": 3.25, "h": 1.75}, + {"matrix": [9, 3], "x": 11, "y": 3, "h": 2} + ] + }, + "LAYOUT_split_3x5_3": { + "layout": [ + {"matrix": [0, 1], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1, "y": 0}, + {"matrix": [0, 3], "x": 2, "y": 0}, + {"matrix": [0, 4], "x": 3, "y": 0}, + {"matrix": [0, 5], "x": 4, "y": 0}, + + {"matrix": [5, 0], "x": 10, "y": 0}, + {"matrix": [5, 1], "x": 11, "y": 0}, + {"matrix": [5, 2], "x": 12, "y": 0}, + {"matrix": [5, 3], "x": 13, "y": 0}, + {"matrix": [5, 4], "x": 14, "y": 0}, + + {"matrix": [1, 1], "x": 0, "y": 1}, + {"matrix": [1, 2], "x": 1, "y": 1}, + {"matrix": [1, 3], "x": 2, "y": 1}, + {"matrix": [1, 4], "x": 3, "y": 1}, + {"matrix": [1, 5], "x": 4, "y": 1}, + + {"matrix": [6, 0], "x": 10, "y": 1}, + {"matrix": [6, 1], "x": 11, "y": 1}, + {"matrix": [6, 2], "x": 12, "y": 1}, + {"matrix": [6, 3], "x": 13, "y": 1}, + {"matrix": [6, 4], "x": 14, "y": 1}, + + {"matrix": [2, 1], "x": 0, "y": 2}, + {"matrix": [2, 2], "x": 1, "y": 2}, + {"matrix": [2, 3], "x": 2, "y": 2}, + {"matrix": [2, 4], "x": 3, "y": 2}, + {"matrix": [2, 5], "x": 4, "y": 2}, + + {"matrix": [7, 0], "x": 10, "y": 2}, + {"matrix": [7, 1], "x": 11, "y": 2}, + {"matrix": [7, 2], "x": 12, "y": 2}, + {"matrix": [7, 3], "x": 13, "y": 2}, + {"matrix": [7, 4], "x": 14, "y": 2}, + + {"matrix": [4, 2], "x": 4, "y": 3, "h": 2}, + {"matrix": [4, 3], "x": 5, "y": 3.25, "h": 1.75}, + {"matrix": [4, 4], "x": 6, "y": 3.5, "h": 1.5}, + + {"matrix": [9, 1], "x": 8, "y": 3.5, "h": 1.5}, + {"matrix": [9, 2], "x": 9, "y": 3.25, "h": 1.75}, + {"matrix": [9, 3], "x": 10, "y": 3, "h": 2} + ] + } + } +} diff --git a/keyboards/handwired/traveller/config.h b/keyboards/handwired/dactyl_lightcycle/keymaps/default/config.h similarity index 53% rename from keyboards/handwired/traveller/config.h rename to keyboards/handwired/dactyl_lightcycle/keymaps/default/config.h index f015683e68c..49b067cc586 100644 --- a/keyboards/handwired/traveller/config.h +++ b/keyboards/handwired/dactyl_lightcycle/keymaps/default/config.h @@ -1,5 +1,5 @@ /* -Copyright 2012 Jun Wako +Copyright 2020 Ralph Azucena This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,22 +17,24 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 1 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#define PERMISSIVE_HOLD -/* disable debug print */ -//#define NO_DEBUG +/* mouse config */ +#define MOUSEKEY_DELAY 0 +// Lowering MOUSEKEY_INTERVAL raises the cursor speed significantly, you may want to lower MOUSEKEY_MAX_SPEED (default: 10) +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 -/* disable print */ -//#define NO_PRINT +/* layer config */ +#define TAPPING_TOGGLE 1 /* disable action features */ //#define NO_ACTION_LAYER diff --git a/keyboards/handwired/dactyl_lightcycle/keymaps/default/keymap.json b/keyboards/handwired/dactyl_lightcycle/keymaps/default/keymap.json new file mode 100644 index 00000000000..bf48cd3139d --- /dev/null +++ b/keyboards/handwired/dactyl_lightcycle/keymaps/default/keymap.json @@ -0,0 +1,34 @@ +{ + "keyboard": "handwired/dactyl_lightcycle", + "version": 1, + "author": "dunk2k", + "notes": "This file is a keymap(.json) file for handwired/dactyl_lightcycle", + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + [ + "KC_ESC", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSLS", + "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_LALT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_DEL", "KC_LGUI", "KC_RGUI", "KC_BSPC", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_LALT", + "KC_LCTL", "KC_MINS", "KC_EQL", "KC_LEFT", "KC_RGHT", "LT(1, KC_HOME)", "KC_SPC", "KC_LSFT", "KC_RCTL", "KC_ENT", "LT(2, KC_END)", "KC_UP", "KC_DOWN", "KC_LBRC", "KC_RBRC", "KC_RSFT" + ], + [ + "RCS(KC_ESC)", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NUM", "KC_P7", "KC_P8", "KC_P9", "KC_PMNS", "KC_TRNS", + "KC_CAPS", "KC_SCRL", "KC_INS", "KC_PAUS", "KC_PSCR", "KC_NO", "KC_PAST", "KC_P4", "KC_P5", "KC_P6", "KC_PPLS", "KC_TRNS", + "KC_TRNS", "KC_NO", "KC_NO", "S(KC_HOME)", "S(KC_END)", "KC_NO", "KC_TRNS", "KC_TRNS", "KC_TRNS", "C(KC_BSPC)", "KC_PSLS", "KC_P1", "KC_P2", "KC_P3", "KC_PENT", "KC_TRNS", + "KC_TRNS", "KC_NO", "KC_NO", "LSG(KC_TAB)", "G(KC_TAB)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_RSFT", "MO(3)", "KC_PCMM", "KC_P0", "KC_PDOT", "KC_PEQL", "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_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_TILD", + "KC_TRNS", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_LPRN", "C(KC_DEL)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_RPRN", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_TRNS", + "KC_TRNS", "KC_UNDS", "KC_PLUS", "KC_NO", "A(KC_TAB)", "MO(3)", "KC_LCTL", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_LCBR", "KC_RCBR", "KC_TRNS" + ], + [ + "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_VOLU", "KC_NO", "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "QK_BOOT", "KC_SLEP", "KC_MSTP", "KC_MPLY", "KC_NO", "KC_NO", "KC_MUTE", "KC_NO", "KC_NO", "AG_TOGG", "KC_NO", + "KC_NO", "KC_NO", "KC_NO", "KC_MRWD", "KC_MFFD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_VOLD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "KC_NO", "KC_NO", "KC_MNXT", "KC_MNXT", "KC_TRNS", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_TRNS", "KC_BRIU", "KC_BRID", "KC_NO", "KC_NO", "KC_NO" + ] + ] +} diff --git a/keyboards/lily58/rev1/config.h b/keyboards/handwired/dactyl_lightcycle/keymaps/via/config.h similarity index 53% rename from keyboards/lily58/rev1/config.h rename to keyboards/handwired/dactyl_lightcycle/keymaps/via/config.h index 8e94f9f62b7..49b067cc586 100644 --- a/keyboards/lily58/rev1/config.h +++ b/keyboards/handwired/dactyl_lightcycle/keymaps/via/config.h @@ -1,7 +1,5 @@ /* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2017 F_YUUCHI +Copyright 2020 Ralph Azucena This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,19 +17,24 @@ along with this program. If not, see . #pragma once -/* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#define PERMISSIVE_HOLD -/* disable debug print */ -// #define NO_DEBUG +/* mouse config */ +#define MOUSEKEY_DELAY 0 +// Lowering MOUSEKEY_INTERVAL raises the cursor speed significantly, you may want to lower MOUSEKEY_MAX_SPEED (default: 10) +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 -/* disable print */ -// #define NO_PRINT +/* layer config */ +#define TAPPING_TOGGLE 1 /* disable action features */ //#define NO_ACTION_LAYER diff --git a/keyboards/handwired/dactyl_lightcycle/keymaps/via/keymap.json b/keyboards/handwired/dactyl_lightcycle/keymaps/via/keymap.json new file mode 100644 index 00000000000..3c770db6931 --- /dev/null +++ b/keyboards/handwired/dactyl_lightcycle/keymaps/via/keymap.json @@ -0,0 +1,34 @@ +{ + "keyboard": "handwired/dactyl_lightcycle", + "version": 1, + "author": "dunk2k", + "notes": "This file is a keymap(.json) file for handwired/dactyl_lightcycle", + "keymap": "via", + "layout": "LAYOUT", + "layers": [ + [ + "KC_ESC", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSLS", + "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_LALT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_DEL", "KC_LGUI", "KC_RGUI", "KC_BSPC", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_LALT", + "KC_LCTL", "KC_MINS", "KC_EQL", "KC_LEFT", "KC_RGHT", "LT(1, KC_HOME)", "KC_SPC", "KC_LSFT", "KC_RCTL", "KC_ENT", "LT(2, KC_END)", "KC_UP", "KC_DOWN", "KC_LBRC", "KC_RBRC", "KC_RSFT" + ], + [ + "RCS(KC_ESC)", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NUM", "KC_P7", "KC_P8", "KC_P9", "KC_PMNS", "KC_TRNS", + "KC_CAPS", "KC_SCRL", "KC_INS", "KC_PAUS", "KC_PSCR", "KC_NO", "KC_PAST", "KC_P4", "KC_P5", "KC_P6", "KC_PPLS", "KC_TRNS", + "KC_TRNS", "KC_NO", "KC_NO", "S(KC_HOME)", "S(KC_END)", "KC_NO", "KC_TRNS", "KC_TRNS", "KC_TRNS", "C(KC_BSPC)", "KC_PSLS", "KC_P1", "KC_P2", "KC_P3", "KC_PENT", "KC_TRNS", + "KC_TRNS", "KC_NO", "KC_NO", "LSG(KC_TAB)", "G(KC_TAB)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_RSFT", "MO(3)", "KC_PCMM", "KC_P0", "KC_PDOT", "KC_PEQL", "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_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_TILD", + "KC_TRNS", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_LPRN", "C(KC_DEL)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_RPRN", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_TRNS", + "KC_TRNS", "KC_UNDS", "KC_PLUS", "KC_NO", "A(KC_TAB)", "MO(3)", "KC_LCTL", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_LCBR", "KC_RCBR", "KC_TRNS" + ], + [ + "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_VOLU", "KC_NO", "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "QK_BOOT", "KC_SLEP", "KC_MSTP", "KC_MPLY", "KC_NO", "KC_NO", "KC_MUTE", "KC_NO", "KC_NO", "AG_TOGG", "KC_NO", + "KC_NO", "KC_NO", "KC_NO", "KC_MRWD", "KC_MFFD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_VOLD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", + "KC_NO", "KC_NO", "KC_NO", "KC_MNXT", "KC_MNXT", "KC_TRNS", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_TRNS", "KC_BRIU", "KC_BRID", "KC_NO", "KC_NO", "KC_NO" + ] + ] +} diff --git a/keyboards/handwired/dactyl_lightcycle/keymaps/via/rules.mk b/keyboards/handwired/dactyl_lightcycle/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/handwired/dactyl_lightcycle/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/dactyl_lightcycle/readme.md b/keyboards/handwired/dactyl_lightcycle/readme.md new file mode 100644 index 00000000000..b351942f443 --- /dev/null +++ b/keyboards/handwired/dactyl_lightcycle/readme.md @@ -0,0 +1,40 @@ +# Dactyl Lightcycle + +![TopElev](https://i.imgur.com/MwPhTrCh.jpg) + +A handwired, split bodied, concave key-well, columnar keyboard. +The *Dactyl Lightcycle* is a variation of the [Dactyl](/keyboards/handwired/dactyl/) keyboard, its differences are: +1. Top (number) row removed +2. Five key thumb cluster; one less than the *Dactyl's* six + +This modernised rendition of the *Dactyl Lightcycle* requires two Pro Micro controllers, rather than the *Dactyl's* original implementation of a micro controller and I/O expander. + +* Keyboard Maintainer: [Matt Adereth](https://github.com/adereth/) +* Hardware Supported: 2x Pro Micro micro controller, or clone of +* Hardware Availability: Case files available on [GitHub](https://github.com/adereth/dactyl-keyboard), file names beginning "lightcycle" apply + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_lightcycle:default + +Flashing example for this keyboard: + + make handwired/dactyl_lightcycle: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 keymap**: Press the key mapped to `QK_BOOT` if it is available + +## QMK Layouts + +The following [community layouts](/layouts/) are supported: +| Layout | Diagram | +| :---: | :---: | +| Split_3x6_3 | ![split_3x6_3](https://i.imgur.com/xBVDsqE.jpg) | +| Split_3x5_3 | ![split_3x5_3](https://i.imgur.com/nc0dbH1.jpg) | diff --git a/keyboards/capsunlocked/cu80/v2_iso/base/rules.mk b/keyboards/handwired/dactyl_lightcycle/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_iso/base/rules.mk rename to keyboards/handwired/dactyl_lightcycle/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/4x5/config.h b/keyboards/handwired/dactyl_manuform/4x5/config.h deleted file mode 100644 index 9a4e39dad21..00000000000 --- a/keyboards/handwired/dactyl_manuform/4x5/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 - -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/4x5/info.json b/keyboards/handwired/dactyl_manuform/4x5/info.json index 5fdab01ef43..141bb477177 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/info.json +++ b/keyboards/handwired/dactyl_manuform/4x5/info.json @@ -8,6 +8,9 @@ "pid": "0x3435", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/info.json b/keyboards/handwired/dactyl_manuform/4x5_5/info.json index 7ad7118ee47..76f13971d45 100644 --- a/keyboards/handwired/dactyl_manuform/4x5_5/info.json +++ b/keyboards/handwired/dactyl_manuform/4x5_5/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "Dactyl Manuform 4x5 5 thumb keys", + "keyboard_name": "Dactyl ManuForm 4x5_5", "manufacturer": "ssedrick", "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform/4x5_5", "maintainer": "ssedrick", @@ -16,9 +16,7 @@ "split": { "soft_serial_pin": "D0" }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "community_layouts": ["split_3x5_3"], + "development_board": "promicro", "layouts": { "LAYOUT": { "layout": [ @@ -28,11 +26,11 @@ {"matrix": [0, 3], "x": 3, "y": 0}, {"matrix": [0, 4], "x": 4, "y": 0}, - {"matrix": [5, 0], "x": 6, "y": 0}, - {"matrix": [5, 1], "x": 7, "y": 0}, - {"matrix": [5, 2], "x": 8, "y": 0}, - {"matrix": [5, 3], "x": 9, "y": 0}, - {"matrix": [5, 4], "x": 10, "y": 0}, + {"matrix": [5, 0], "x": 8, "y": 0}, + {"matrix": [5, 1], "x": 9, "y": 0}, + {"matrix": [5, 2], "x": 10, "y": 0}, + {"matrix": [5, 3], "x": 11, "y": 0}, + {"matrix": [5, 4], "x": 12, "y": 0}, {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, @@ -40,11 +38,11 @@ {"matrix": [1, 3], "x": 3, "y": 1}, {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [6, 0], "x": 6, "y": 1}, - {"matrix": [6, 1], "x": 7, "y": 1}, - {"matrix": [6, 2], "x": 8, "y": 1}, - {"matrix": [6, 3], "x": 9, "y": 1}, - {"matrix": [6, 4], "x": 10, "y": 1}, + {"matrix": [6, 0], "x": 8, "y": 1}, + {"matrix": [6, 1], "x": 9, "y": 1}, + {"matrix": [6, 2], "x": 10, "y": 1}, + {"matrix": [6, 3], "x": 11, "y": 1}, + {"matrix": [6, 4], "x": 12, "y": 1}, {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, @@ -52,82 +50,31 @@ {"matrix": [2, 3], "x": 3, "y": 2}, {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [7, 0], "x": 6, "y": 2}, - {"matrix": [7, 1], "x": 7, "y": 2}, - {"matrix": [7, 2], "x": 8, "y": 2}, - {"matrix": [7, 3], "x": 9, "y": 2}, - {"matrix": [7, 4], "x": 10, "y": 2}, + {"matrix": [7, 0], "x": 8, "y": 2}, + {"matrix": [7, 1], "x": 9, "y": 2}, + {"matrix": [7, 2], "x": 10, "y": 2}, + {"matrix": [7, 3], "x": 11, "y": 2}, + {"matrix": [7, 4], "x": 12, "y": 2}, {"matrix": [3, 1], "x": 1, "y": 3}, {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [8, 2], "x": 8, "y": 3}, - {"matrix": [8, 3], "x": 9, "y": 3}, + {"matrix": [8, 2], "x": 10, "y": 3}, + {"matrix": [8, 3], "x": 11, "y": 3}, {"matrix": [3, 3], "x": 3, "y": 4}, + {"matrix": [3, 4], "x": 4, "y": 4}, + {"matrix": [4, 4], "x": 5, "y": 4}, - {"matrix": [8, 1], "x": 7, "y": 4}, + {"matrix": [8, 1], "x": 9, "y": 4}, + {"matrix": [9, 0], "x": 7, "y": 4}, + {"matrix": [8, 0], "x": 8, "y": 4}, - {"matrix": [3, 4], "x": 3, "y": 5}, - {"matrix": [4, 4], "x": 4, "y": 5}, + {"matrix": [4, 2], "x": 4, "y": 5}, + {"matrix": [4, 3], "x": 5, "y": 5}, - {"matrix": [9, 0], "x": 6, "y": 5}, - {"matrix": [8, 0], "x": 7, "y": 5}, - - {"matrix": [4, 2], "x": 3, "y": 6}, - {"matrix": [4, 3], "x": 4, "y": 6}, - - {"matrix": [9, 1], "x": 6, "y": 6}, - {"matrix": [9, 2], "x": 7, "y": 6} - ] - }, - "LAYOUT_split_3x5_3": { - "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": [5, 0], "x": 6, "y": 0}, - {"matrix": [5, 1], "x": 7, "y": 0}, - {"matrix": [5, 2], "x": 8, "y": 0}, - {"matrix": [5, 3], "x": 9, "y": 0}, - {"matrix": [5, 4], "x": 10, "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": [6, 0], "x": 6, "y": 1}, - {"matrix": [6, 1], "x": 7, "y": 1}, - {"matrix": [6, 2], "x": 8, "y": 1}, - {"matrix": [6, 3], "x": 9, "y": 1}, - {"matrix": [6, 4], "x": 10, "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": [7, 0], "x": 6, "y": 2}, - {"matrix": [7, 1], "x": 7, "y": 2}, - {"matrix": [7, 2], "x": 8, "y": 2}, - {"matrix": [7, 3], "x": 9, "y": 2}, - {"matrix": [7, 4], "x": 10, "y": 2}, - - {"matrix": [3, 3], "x": 3, "y": 4}, - - {"matrix": [8, 1], "x": 7, "y": 4}, - - {"matrix": [3, 4], "x": 3, "y": 5}, - {"matrix": [4, 4], "x": 4, "y": 5}, - - {"matrix": [9, 0], "x": 6, "y": 5}, - {"matrix": [8, 0], "x": 7, "y": 5} + {"matrix": [9, 1], "x": 7, "y": 5}, + {"matrix": [9, 2], "x": 8, "y": 5} ] } } diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/default/keymap.c index cb78c9fb56b..8d38152f969 100644 --- a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/default/keymap.c @@ -2,7 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -#include "print.h" enum key_layers { _BASE, @@ -11,145 +10,45 @@ enum key_layers { _LOWER }; -enum layer_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, -}; - #define RAISE MO(_RAISE) #define LOWER MO(_LOWER) #define SH_ESC SFT_T(KC_ESC) -#define ____ KC_TRANSPARENT +#define ____ KC_TRNS const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base (qwerty) - * ,----------------------------------, ,----------------------------------, - * | q | w | e | r | t | | y | u | i | o | p | - * |------+------+------+------+------| |------+------+------+------+------| - * | a | s | d | f | g | | h | j | k | l | ; | - * |------+------+------+------+------| |------+------+------+------+------| - * | z | x | c | v | b | | n | m | , | . | / | - * '------+------+------+-------------' '------+------+------+------+------' - * | [ | ] | | ' | `~ | - * '-------------+------, ,------|-------------' - * | ESC | | BSPC | - * |-------------, ,------+------| - * | GUI | TAB | | SHIFT| SPACE| - * |------+------| |------+------| - * | RAISE| CTRL | | LOWER| ENTER| - * '-------------' '-------------' - */ [_BASE] = LAYOUT( - 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_LBRC, KC_RBRC, KC_QUOT, KC_GRV, - SH_ESC, KC_BSPC, - KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, - RAISE, KC_LCTL, LOWER, KC_ENT + 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_LBRC, KC_RBRC, KC_QUOT, KC_GRV, + SH_ESC, KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, KC_BSPC, + RAISE, KC_LCTL, LOWER, KC_ENT ), - /* Colemak - * ,----------------------------------, ,----------------------------------, - * | q | w | f | p | g | | j | l | u | y | ; | - * |------+------+------+------+------| |------+------+------+------+------| - * | a | r | s | t | d | | h | n | e | i | o | - * |------+------+------+------+------| |------+------+------+------+------| - * | z | x | c | v | b | | k | m | , | . | / | - * '------+------+------+-------------' '------+------+------+------+------' - * | [ | ] | | ' | `~ | - * '-------------+------, ,------|-------------' - * | ESC | | BSPC | - * |-------------, ,------+------| - * | GUI | TAB | | SHIFT| SPACE| - * |------+------| |------+------| - * | RAISE| CTRL | | LOWER| ENTER| - * '-------------' '-------------' - */ [_COLEMAK] = LAYOUT( - KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, - KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_QUOT, KC_GRV, - KC_ESC, KC_BSPC, - KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, - RAISE, KC_LCTL, LOWER, KC_ENT + KC_ESC, ____, ____, ____, ____, ____, + ____, ____, ____, ____ ), - /* RAISE - * ,----------------------------------, ,----------------------------------, - * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - * |------+------+------+------+------| |------+------+------+------+------| - * | ( | ) | { | } | = | | - | 4 | 5 | 6 | ; | - * |------+------+------+------+------| |------+------+------+------+------| - * | QK_BOOT| BOOT | [ | ] | | | | 1 | 2 | 3 | | - * |------+------+------+-------------| |------+------+------+------+------, - * | | | | 0 | . | - * '-------------+------, ,------|-------------' - * | ESC | | BSPC | - * |-------------, ,------+------| - * | GUI | TAB | | SHIFT| SPACE| - * |------+------| |------+------| - * | RAISE| CTRL | | LOWER| ENTER| - * '-------------' '-------------' - */ + [_RAISE] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - S(KC_9), S(KC_0), KC_LCBR, KC_RCBR, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT, - QK_RBT, QK_BOOT, KC_LBRC, KC_RBRC, ____, ____, KC_1, KC_2, KC_3, ____, - ____, ____, KC_0, KC_DOT, - ____, ____, - ____, ____, ____, ____, - ____, ____, ____, ____ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + S(KC_9), S(KC_0), KC_LCBR, KC_RCBR, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT, + QK_RBT, QK_BOOT, KC_LBRC, KC_RBRC, ____, ____, KC_1, KC_2, KC_3, ____, + ____, ____, KC_0, KC_DOT, + ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____ ), - /* LOWER - * ,----------------------------------, ,----------------------------------, - * | ! | @ | # | $ | % | | ^ | & | * | ( | ) | - * |------+------+------+------+------| |------+------+------+------+------| - * | ( | ) | { | } | = | | | - | + | | | | - * |------+------+------+------+------| |------+------+------+------+------| - * | | | | | | | | LEFT | DOWN | UP | RIGHT| - * |------+------+------+-------------| |------+------+------+------+------, - * | | | |QWERTY|COLEMA| - * '-------------+------, ,------|-------------' - * | ESC | | BSPC | - * |-------------, ,------+------| - * | GUI | TAB | | SHIFT| SPACE| - * |------+------| |------+------| - * | RAISE| CTRL | | LOWER| ENTER| - * '-------------' '-------------' - */ [_LOWER] = LAYOUT( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, ____, KC_MINS, KC_EQL, KC_PIPE, ____, - ____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, - ____, ____, QWERTY, COLEMAK, - ____, ____, - ____, ____, ____, ____, - ____, ____, ____, ____ + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, ____, KC_MINS, KC_EQL, KC_PIPE, ____, + ____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + ____, ____, KC_QUOT, KC_GRV, + ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____ ) }; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // If console is enabled, it will print the matrix position and status of each key pressed -#ifdef CONSOLE_ENABLE - uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %d, time: %u, interrupt: %d, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count); -#endif - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_BASE); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - } - return true; -} - diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c index 0e962023158..5774ab7f3bd 100644 --- a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c @@ -16,7 +16,6 @@ enum layer_keycodes { COLEMAK, }; - #define RAISE TT(_RAISE) #define LOWER MO(_LOWER) #define SH_ESC SFT_T(KC_ESC) @@ -28,111 +27,40 @@ enum layer_keycodes { #define TAPPING_TOGGLE 2 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base (qwerty) - * ,----------------------------------, ,----------------------------------, - * | q | w | e | r | t | | y | u | i | o | p | - * |------+------+------+------+------| |------+------+------+------+------| - * | a | s | d | f | g | | h | j | k | l | ; | - * |------+------+------+------+------| |------+------+------+------+------| - * | z | x | c | v | b | | n | m | , | . | / | - * '------+------+------+-------------' '------+------+------+------+------' - * | { | } | | ' | `~ | - * '-------------+------, ,------|-------------' - * | ESC | | ENTER| - * |-------------, ,------+------| - * | GUI | TAB | | BCKSP| SPACE| - * |------+------| |------+------| - * | RAISE| CTRL | | SHIFT| LOWER| - * '-------------' '-------------' - */ [_BASE] = LAYOUT( - 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_LCBR, KC_RCBR, KC_QUOT, KC_GRV, - SH_ESC, KC_ENT, - KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, - RAISE, KC_LCTL, KC_BSPC, LOWER + 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_LCBR, KC_RCBR, KC_QUOT, KC_GRV, + SH_ESC, KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, KC_ENT, + RAISE, KC_LCTL, KC_BSPC, LOWER ), - - /* Colemak - * ,----------------------------------, ,----------------------------------, - * | q | w | f | p | g | | j | l | u | y | ; | - * |------+------+------+------+------| |------+------+------+------+------| - * | a | r | s | t | d | | h | n | e | i | o | - * |------+------+------+------+------| |------+------+------+------+------| - * | z | x | c | v | b | | k | m | , | . | / | - * '------+------+------+-------------' '------+------+------+------+------' - * | [ | ] | | ' | `~ | - * '-------------+------, ,------|-------------' - * | ESC | | BSPC | - * |-------------, ,------+------| - * | GUI | TAB | | SHIFT| SPACE| - * |------+------| |------+------| - * | RAISE| CTRL | | LOWER| ENTER| - * '-------------' '-------------' - */ + [_COLEMAK] = LAYOUT( - KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, - KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV, - SH_ESC, KC_ENT, - KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, - RAISE, KC_LCTL, KC_BSPC, LOWER + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV, + ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____ ), - /* RAISE - * ,----------------------------------, ,----------------------------------, - * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - * |------+------+------+------+------| |------+------+------+------+------| - * | ( | ) | [ | ] | = | | _ | 4 | 5 | 6 | ; | - * |------+------+------+------+------| |------+------+------+------+------| - * | QK_BOOT| BOOT | | | | | | 1 | 2 | 3 | | - * |------+------+------+-------------| |------+------+------+------+------, - * |MAC_LC| | | 0 | . | - * '-------------+------, ,------|-------------' - * | ESC | | BSPC | - * |-------------, ,------+------| - * | GUI | TAB | | SHIFT| SPACE| - * |------+------| |------+------| - * | RAISE| CTRL | | LOWER| ENTER| - * '-------------' '-------------' - */ + [_RAISE] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT, QK_RBT, QK_BOOT, ____, ____, ____, ____, KC_1, KC_2, KC_3, ____, MAC_LOCK, ____, KC_0, KC_DOT, - ____, ____, - ____, ____, ____, ____, - ____, ____, ____, ____ + ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____ ), - /* LOWER - * ,----------------------------------, ,----------------------------------, - * | ! | @ | # | $ | % | | ^ | & | * | ( | ) | - * |------+------+------+------+------| |------+------+------+------+------| - * | ( | ) | { | } | = | | _ | - | + | \ | | | - * |------+------+------+------+------| |------+------+------+------+------| - * | NEXT | PLAY | VOLU | VOLD | | | | LEFT | DOWN | UP | RIGHT| - * |------+------+------+-------------| |------+------+------+------+------, - * | | | |QWERTY|COLEMA| - * '-------------+------, ,------|-------------' - * | ESC | | BSPC | - * |-------------, ,------+------| - * | GUI | TAB | | SHIFT| SPACE| - * |------+------| |------+------| - * | RAISE| CTRL | | LOWER| ENTER| - * '-------------' '-------------' - */ [_LOWER] = LAYOUT( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, UNDSC, KC_MINS, KC_EQL, KC_BSLS, KC_PIPE, KC_MNXT, KC_MPLY, KC_VOLU, KC_VOLD, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, ____, ____, QWERTY, COLEMAK, - ____, ____, - ____, ____, ____, ____, - ____, ____, ____, ____ + ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____ ) }; diff --git a/keyboards/handwired/dactyl_manuform/4x6/config.h b/keyboards/handwired/dactyl_manuform/4x6/config.h deleted file mode 100644 index 9a4e39dad21..00000000000 --- a/keyboards/handwired/dactyl_manuform/4x6/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 - -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/4x6/info.json b/keyboards/handwired/dactyl_manuform/4x6/info.json index 7de3ef0b0d2..5b415fbd2bb 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/info.json +++ b/keyboards/handwired/dactyl_manuform/4x6/info.json @@ -8,6 +8,9 @@ "pid": "0x3436", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/config.h deleted file mode 100644 index 9a4e39dad21..00000000000 --- a/keyboards/handwired/dactyl_manuform/4x6_5/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 - -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/info.json b/keyboards/handwired/dactyl_manuform/4x6_5/info.json index b9ebd6d7df1..f54f0d56d25 100644 --- a/keyboards/handwired/dactyl_manuform/4x6_5/info.json +++ b/keyboards/handwired/dactyl_manuform/4x6_5/info.json @@ -8,6 +8,9 @@ "pid": "0x3436", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/dactyl_manuform/5x6/config.h b/keyboards/handwired/dactyl_manuform/5x6/config.h deleted file mode 100644 index 9a4e39dad21..00000000000 --- a/keyboards/handwired/dactyl_manuform/5x6/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 - -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/5x6/info.json b/keyboards/handwired/dactyl_manuform/5x6/info.json index 89c2c800c6e..e6372961d8f 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/info.json +++ b/keyboards/handwired/dactyl_manuform/5x6/info.json @@ -8,6 +8,9 @@ "pid": "0x3536", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/info.json b/keyboards/handwired/dactyl_manuform/5x6_68/info.json index f82f84da9c5..78a602cb64f 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_68/info.json +++ b/keyboards/handwired/dactyl_manuform/5x6_68/info.json @@ -3,14 +3,25 @@ "manufacturer": "kpagratis", "url": "", "maintainer": "kpagratis", - "bootloader": "caterina", - "processor": "atmega32u4", + "development_board": "promicro", "usb": { "vid": "0xFEED", "pid": "0x0016", "device_version": "0.0.1" }, + "features": { + "bootmagic": true, + "command": true, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "audio": false, + "backlight": false, + "rgblight": false + }, "split": { + "enabled": true, "soft_serial_pin": "D0" }, "matrix_pins": { @@ -21,80 +32,89 @@ "layouts": { "LAYOUT": { "layout": [ - {"x": 0, "y": 0, "matrix": [0, 0]}, - {"x": 1, "y": 0, "matrix": [0, 1]}, - {"x": 2, "y": 0, "matrix": [0, 2]}, - {"x": 3, "y": 0, "matrix": [0, 3]}, - {"x": 4, "y": 0, "matrix": [0, 4]}, - {"x": 5, "y": 0, "matrix": [0, 5]}, - {"x": 14, "y": 0, "matrix": [6, 0]}, - {"x": 15, "y": 0, "matrix": [6, 1]}, - {"x": 16, "y": 0, "matrix": [6, 2]}, - {"x": 17, "y": 0, "matrix": [6, 3]}, - {"x": 18, "y": 0, "matrix": [6, 4]}, - {"x": 19, "y": 0, "matrix": [6, 5]}, + {"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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 4], "x": 15, "y": 0}, + {"matrix": [6, 5], "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": [7, 0], "x": 11, "y": 1}, + {"matrix": [7, 1], "x": 12, "y": 1}, + {"matrix": [7, 2], "x": 13, "y": 1}, + {"matrix": [7, 3], "x": 14, "y": 1}, + {"matrix": [7, 4], "x": 15, "y": 1}, + {"matrix": [7, 5], "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": [8, 0], "x": 11, "y": 2}, + {"matrix": [8, 1], "x": 12, "y": 2}, + {"matrix": [8, 2], "x": 13, "y": 2}, + {"matrix": [8, 3], "x": 14, "y": 2}, + {"matrix": [8, 4], "x": 15, "y": 2}, + {"matrix": [8, 5], "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": [9, 0], "x": 11, "y": 3}, + {"matrix": [9, 1], "x": 12, "y": 3}, + {"matrix": [9, 2], "x": 13, "y": 3}, + {"matrix": [9, 3], "x": 14, "y": 3}, + {"matrix": [9, 4], "x": 15, "y": 3}, + {"matrix": [9, 5], "x": 16, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4}, + + {"matrix": [10, 2], "x": 13, "y": 4}, + {"matrix": [10, 3], "x": 14, "y": 4}, + {"matrix": [10, 4], "x": 15, "y": 4}, + {"matrix": [10, 5], "x": 16, "y": 4}, - {"x": 0, "y": 1, "matrix": [1, 0]}, - {"x": 1, "y": 1, "matrix": [1, 1]}, - {"x": 2, "y": 1, "matrix": [1, 2]}, - {"x": 3, "y": 1, "matrix": [1, 3]}, - {"x": 4, "y": 1, "matrix": [1, 4]}, - {"x": 5, "y": 1, "matrix": [1, 5]}, - {"x": 14, "y": 1, "matrix": [7, 0]}, - {"x": 15, "y": 1, "matrix": [7, 1]}, - {"x": 16, "y": 1, "matrix": [7, 2]}, - {"x": 17, "y": 1, "matrix": [7, 3]}, - {"x": 18, "y": 1, "matrix": [7, 4]}, - {"x": 19, "y": 1, "matrix": [7, 5]}, + {"matrix": [4, 4], "x": 4, "y": 5}, + {"matrix": [4, 5], "x": 5, "y": 5}, - {"x": 0, "y": 2, "matrix": [2, 0]}, - {"x": 1, "y": 2, "matrix": [2, 1]}, - {"x": 2, "y": 2, "matrix": [2, 2]}, - {"x": 3, "y": 2, "matrix": [2, 3]}, - {"x": 4, "y": 2, "matrix": [2, 4]}, - {"x": 5, "y": 2, "matrix": [2, 5]}, - {"x": 14, "y": 2, "matrix": [8, 0]}, - {"x": 15, "y": 2, "matrix": [8, 1]}, - {"x": 16, "y": 2, "matrix": [8, 2]}, - {"x": 17, "y": 2, "matrix": [8, 3]}, - {"x": 18, "y": 2, "matrix": [8, 4]}, - {"x": 19, "y": 2, "matrix": [8, 5]}, + {"matrix": [10, 0], "x": 11, "y": 5}, + {"matrix": [10, 1], "x": 12, "y": 5}, - {"x": 0, "y": 3, "matrix": [3, 0]}, - {"x": 1, "y": 3, "matrix": [3, 1]}, - {"x": 2, "y": 3, "matrix": [3, 2]}, - {"x": 3, "y": 3, "matrix": [3, 3]}, - {"x": 4, "y": 3, "matrix": [3, 4]}, - {"x": 5, "y": 3, "matrix": [3, 5]}, - {"x": 14, "y": 3, "matrix": [9, 0]}, - {"x": 15, "y": 3, "matrix": [9, 1]}, - {"x": 16, "y": 3, "matrix": [9, 2]}, - {"x": 17, "y": 3, "matrix": [9, 3]}, - {"x": 18, "y": 3, "matrix": [9, 4]}, - {"x": 19, "y": 3, "matrix": [9, 5]}, + {"matrix": [5, 4], "x": 6, "y": 6}, + {"matrix": [5, 5], "x": 7, "y": 6}, - {"x": 0, "y": 4, "matrix": [4, 0]}, - {"x": 1, "y": 4, "matrix": [4, 1]}, - {"x": 2, "y": 4, "matrix": [4, 2]}, - {"x": 3, "y": 4, "matrix": [4, 3]}, - {"x": 16, "y": 4, "matrix": [10, 2]}, - {"x": 17, "y": 4, "matrix": [10, 3]}, - {"x": 18, "y": 4, "matrix": [10, 4]}, - {"x": 19, "y": 4, "matrix": [10, 5]}, + {"matrix": [11, 0], "x": 9, "y": 6}, + {"matrix": [11, 1], "x": 10, "y": 6}, - {"x": 5, "y": 5, "matrix": [5, 0]}, - {"x": 6, "y": 5, "matrix": [5, 1]}, - {"x": 7, "y": 5, "matrix": [5, 2]}, - {"x": 13, "y": 5, "matrix": [11, 0]}, - {"x": 14, "y": 5, "matrix": [11, 1]}, - {"x": 15, "y": 5, "matrix": [11, 2]}, + {"matrix": [5, 2], "x": 6, "y": 7}, + {"matrix": [5, 3], "x": 7, "y": 7}, - {"x": 5, "y": 6, "matrix": [5, 3]}, - {"x": 6, "y": 6, "matrix": [5, 4]}, - {"x": 7, "y": 6, "matrix": [5, 5]}, - {"x": 13, "y": 6, "matrix": [11, 3]}, - {"x": 14, "y": 6, "matrix": [11, 4]}, - {"x": 15, "y": 6, "matrix": [11, 5]} + {"matrix": [11, 2], "x": 9, "y": 7}, + {"matrix": [11, 3], "x": 10, "y": 7} ] } } diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c index 20699ed2e14..4e774ea7160 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c @@ -5,39 +5,45 @@ enum custom_layers { _QWERTY, - _LAYER2, + _LOWER, + _RAISE }; -#define GUI_J RGUI_T(KC_J) -#define GUI_F LGUI_T(KC_F) -#define SFT_A LSFT_T(KC_A) -#define CTL_S LCTL_T(KC_S) -#define ALT_D LALT_T(KC_D) -#define ALT_K RALT_T(KC_K) -#define CTL_L RCTL_T(KC_L) -#define SFT_SC RSFT_T(KC_SCLN) -#define IMPORTS LALT(LCTL(KC_O)) //Intellij Organize Imports -#define LINES LALT(LGUI(KC_L)) //Intellij Reformat Code -#define USAGES LALT(KC_F7) //Intelllj Find Usages -#define RENAME LSFT(KC_F6) //Intellij Refactor Rename +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT( - 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_BSLS, - KC_ESC , SFT_A , CTL_S , ALT_D , GUI_F , KC_G , KC_H , GUI_J , ALT_K , CTL_L , SFT_SC , 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_RSFT, - KC_GRV , KC_INS , KC_LEFT, KC_RGHT, KC_DOWN, KC_UP , KC_LBRC, KC_RBRC, - KC_LCTL, KC_LALT, KC_HOME, KC_DEL , KC_PGUP, KC_BSPC, - KC_SPC , KC_DEL , KC_END , MO(_LAYER2), KC_PGDN, KC_ENT + 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_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_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_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_RALT, KC_RCTL, + RAISE, KC_SPC, KC_ENT, LOWER, + KC_HOME, KC_BSPC, KC_DEL, KC_END, + KC_PGUP, KC_LGUI, KC_RGUI, KC_PGDN ), - [_LAYER2] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, - XXXXXXX, IMPORTS, XXXXXXX, USAGES , RENAME , XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, - XXXXXXX, LINES , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, 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 + + [_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_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, _______, + _______, KC_SCRL, KC_INS, KC_PAUS, KC_PSCR, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, + _______, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + + ), + + [_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_TRNS, KC_TRNS, _______, KC_NUM, _______, _______, KC_MUTE, + _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/readme.md b/keyboards/handwired/dactyl_manuform/5x6_68/readme.md index 69f68bbfb89..b21270e3911 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_68/readme.md +++ b/keyboards/handwired/dactyl_manuform/5x6_68/readme.md @@ -1,5 +1,5 @@ -# Dactyl Manuform +# Dactyl Manuform 5x6_68 -This is a 5x6 manuform with a 4 key bottom row and 6 key thumb clusters. +This is a Dactyl ManuForm 5x6 with an extended, 4 key, bottom row; totalling 68 keys. -This results in a 68 key 5x6 \ No newline at end of file +![diagram](https://i.imgur.com/TGd36fWh.png) diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_68/rules.mk index 5ef0d2fdb96..6e7633bfe01 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_68/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6_68/rules.mk @@ -1,13 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -SPLIT_KEYBOARD = yes +# This file intentionally left blank diff --git a/keyboards/handwired/dactyl_manuform/5x7/config.h b/keyboards/handwired/dactyl_manuform/5x7/config.h deleted file mode 100644 index 9a4e39dad21..00000000000 --- a/keyboards/handwired/dactyl_manuform/5x7/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 - -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/5x7/info.json b/keyboards/handwired/dactyl_manuform/5x7/info.json index b166df22a04..68270606cc4 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/info.json +++ b/keyboards/handwired/dactyl_manuform/5x7/info.json @@ -8,6 +8,9 @@ "pid": "0x3537", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/dactyl_manuform/6x6/promicro/info.json b/keyboards/handwired/dactyl_manuform/6x6/promicro/info.json index 2b542a15da2..245310fd3c5 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/promicro/info.json +++ b/keyboards/handwired/dactyl_manuform/6x6/promicro/info.json @@ -7,6 +7,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/config.h b/keyboards/handwired/dactyl_manuform/6x6_4/config.h deleted file mode 100644 index 9a4e39dad21..00000000000 --- a/keyboards/handwired/dactyl_manuform/6x6_4/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 - -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/info.json b/keyboards/handwired/dactyl_manuform/6x6_4/info.json index 567057cf084..955060de7a0 100644 --- a/keyboards/handwired/dactyl_manuform/6x6_4/info.json +++ b/keyboards/handwired/dactyl_manuform/6x6_4/info.json @@ -8,6 +8,9 @@ "pid": "0x3636", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h b/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h deleted file mode 100644 index 9a4e39dad21..00000000000 --- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -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 - -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c deleted file mode 100644 index 2ef9794d6d7..00000000000 --- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2012 Jun Wako -// Copyright 2021 Dmitriy Kuminov (@dmik) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -enum custom_layers { - _QWERTY, - _LOWER, - _RAISE, -}; - -#define RAISE MO(_RAISE) -#define LOWER MO(_LOWER) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_6x6_kinesis( - KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_CAPS, - 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_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_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, - KC_GRV , LOWER , KC_LEFT, KC_RGHT, KC_UP , KC_DOWN, KC_LBRC, KC_RBRC, - KC_BSPC, KC_DEL , KC_ENT , KC_SPC , - KC_LGUI, KC_LALT, KC_RCTL, KC_RGUI, - KC_END , KC_HOME, KC_PGUP, KC_PGDN - ), - - [_LOWER] = LAYOUT_6x6_kinesis( - _______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_INS , _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______ - ), - - [_RAISE] = LAYOUT_6x6_kinesis( - _______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_INS , _______, _______, - _______, _______, _______, _______, - _______, _______, _______, _______ - ), -}; diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md b/keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md deleted file mode 100644 index 1e44cc96015..00000000000 --- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md +++ /dev/null @@ -1,85 +0,0 @@ -# Kinesis Advantage Keymap - -## About this keymap - -This keymap is designed after Kinesis Advantage's QWERTY layout with the following key differences: - - There are only 10 F-keys in the main layer, F1 and F2 are moved to additional LOWER layer. - - The INS key acts like a LOWER layer activation key and Del in LOWER layer ats like INS. - - LCtl is placed where CAPS should be and CAPS is moved to a free key after F10. - - Brigtness and volume control keys are added to LOWER layer. - - The keymap file also contains RAISE layer but it is currently equivalent to LOWER layer and does - not have an activation key mapped. It is intended for possible extensions. - -## Mapping details - - Main QUERTY layer: - ,-------------------------------------------. ,-------------------------------------------. - | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | CAPS | - |--------+------+------+------+------+------| |------+------+------+------+------+--------| - | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | - |--------+------+------+------+------+------| |------+------+------+------+------+--------| - | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | - |--------+------+------+------+------+------| |------+------+------+------+------+--------| - | LCtl | A | S | D | F | G | | H | J | K | L | ; | ' | - |--------+------+------+------+------+------| |------+------+------+------+------+--------| - | LShift | Z | X | C | V | B | | N | M | , | . | / | RShift | - `--------+------+------+------+------+------' `------+------+------+------+------+--------' - | ` | LOWER| Left | Rght | | Up | Dn | [ | ] | - `---------------------------' `---------------------------' - ,-------------. ,-------------. - | LGui | LAlt | | RCtl | RGui | - ,------|------|------| |------+------+------. - | | | Home | | PgUp | | | - | BkSp | Del |------| |------|Enter |Space | - | | | End | | PgDn | | | - `--------------------' `--------------------' - - LOWER layer: - ,-------------------------------------------. ,-------------------------------------------. - | | F11 | F12 | | | | |BriDn |BriUp |VMute |VolDn |VolUp | | - |--------+------+------+------+------+------| |------+------+------+------+------+--------| - | | | | | | | | | | | | | | - |--------+------+------+------+------+------| |------+------+------+------+------+--------| - | | | | | | | | | | | | | | - |--------+------+------+------+------+------| |------+------+------+------+------+--------| - | | | | | | | | | | | | | | - |--------+------+------+------+------+------| |------+------+------+------+------+--------| - | | | | | | | | | | | | | | - `--------+------+------+------+------+------' `------+------+------+------+------+--------' - | | | | | | | | | | - `---------------------------' `---------------------------' - ,-------------. ,-------------. - | | | | | | - ,------|------|------| |------+------+------. - | | | | | | | | - | | INS |------| |------| | | - | | | | | | | | - `--------------------' `--------------------' - -## Soldering details - -The below picture shows correspondence between the keys and the row/column wires of the left and -right halves: - - LOWER layer: - ,-------------------------------------------. ,-------------------------------------------. - | 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 | | R40 | R41 | R42 | R43 | R44 | R45 | - `--------+------+------+------+------+------' `------+------+------+------+------+--------' - | L50 | L51 | L52 | L53 | | R52 | R53 | R54 | R55 | - `---------------------------' `---------------------------' - ,-------------. ,-------------. - | L64 | L65 | | R60 | R61 | - ,------|------|------| |------+------+------. - | | | L63 | | R62 | | | - | L54 | L55 |------| |------| R50 | R51 | - | | | L62 | | R63 | | | - `--------------------' `--------------------' diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk b/keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk deleted file mode 100644 index b893863bb52..00000000000 --- a/keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk +++ /dev/null @@ -1,13 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/dactyl_manuform/6x7/info.json b/keyboards/handwired/dactyl_manuform/6x7/info.json index 93776f8abd0..529d92bd3f9 100644 --- a/keyboards/handwired/dactyl_manuform/6x7/info.json +++ b/keyboards/handwired/dactyl_manuform/6x7/info.json @@ -23,7 +23,7 @@ "pin": "D3" }, "matrix_pins": { - "cols": ["D4", "C6", "D7", "E6", "B4", "B5", "B7"], + "cols": ["D4", "C6", "D7", "E6", "B4", "B5", "D1"], "rows": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"] }, "diode_direction": "COL2ROW", diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h index 0c3bee7dcb4..584db341d69 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h @@ -5,4 +5,3 @@ #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 #define RGBLIGHT_EFFECT_CHRISTMAS #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1 -#define RGBLED_NUM 6 // Used when chaining strips diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json index 379ca33af6b..99e1739d206 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json @@ -11,6 +11,7 @@ "device_version": "0.0.1" }, "rgblight": { + "led_count": 6, "split_count": [3, 3] }, "ws2812": { diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md index 560562f5442..dd281844007 100644 --- a/keyboards/handwired/dactyl_manuform/readme.md +++ b/keyboards/handwired/dactyl_manuform/readme.md @@ -1,188 +1,112 @@ -# Dactyl Manuform (4x5, 5x6, 5x7, 6x6, 6x7) +# Dactyl ManuForm -the [Dactyl-Manuform](https://github.com/tshort/dactyl-keyboard) is a split curved keyboard based on the design of [adereth dactyl](https://github.com/adereth/dactyl-keyboard) and thumb cluster design of the [manuform](https://geekhack.org/index.php?topic=46015.0) keyboard, the hardware is similar to the let's split keyboard. all information needed for making one is in the first link. -![Imgur](https://i.imgur.com/7y0Vbyd.jpg) +![Imgur](https://i.imgur.com/7y0Vbydh.jpg) +*Pair of Dactyl Manuform 4x6* -## First Time Setup +Forked from the [Dactyl](/keyboards/handwired/dactyl), the *Dactyl ManuForm* is a parameterized, handwired, split bodied, tented, concave key-well design that incorporates the thumb cluster from the [ManuForm](https://geekhack.org/index.php?topic=46015.0). -Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using: +* Keyboard Maintainer: [Tom Short](https://github.com/tshort) +* Hardware Supported: Pro Micro, or clone of +* Hardware Availability: [Github](https://github.com/tshort/dactyl-keyboard) -Depending on your Layout chose one of the follwing commands: +## Variants -``` -$ make handwired/dactyl_manuform/YOUR_LAYOUT:YOUR_KEYMAP_NAME -``` - -example: - -``` -$ make handwired/dactyl_manuform/4x5:default -``` - -If everything worked correctly you will see a file: - -``` -dactyl_manuform_YOUR_LAYOUT_YOUR_KEYMAP_NAME.hex -``` - -For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/docs/faq_keymap.md) in the main readme.md. - -## Keymaps - -### [Keymaps 4x5](/keyboards/handwired/dactyl_manuform/4x5/keymaps/) - -#### Default - -Simple QWERTY layout with 3 Layers. - -#### Dvorak - -### [Keymaps 5x6](/keyboards/handwired/dactyl_manuform/5x6/keymaps/) - -#### Default - -Just a copy of the Impstyle keymap. Feel free to adjust it. - -#### Impstyle - -A simple QWERTY keymap with 3 Layers. Both sides are connected via serial and the Left ist the master. - -### [Keymaps 5x6_5](/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/) - -Similar layout to 5x6 but with only 5 thumb keys per side instead of 6. - -#### Default -QWERTY layout with 7 Layers. +*Dactyl ManuForm's* are built in variations that cater for different row and column counts, and thumb clusters. -#### Via -Similar to Default but adds support for the [Via](https://www.caniusevia.com/) keymap configurator. Reduces the number of layers to 4 to comply with Via defaults, and remaps -some keys to accomodate that constraint. +As standard: +- The finger keywell bottom row has 2 keys, 1 each in ring and middle columns + - Exception to this rule is the `5x7` variant - that has two additional keys, per half, in this row +- The thumb cluster has 6 keys, arranged in a staggered 2 columns by 3 rows -### [Keymaps 5x7 aka almost Ergodox](/keyboards/handwired/dactyl_manuform/5x7/keymaps/) +Variants are denoted as `RowCount`*x*`ColumnCount`*(_`Alteration`)* -#### Default +### Row +| Count | Description | +| :---: | :---: | +| 4 | Three rows, typically for alphabet and some puncuation characters, with 2 key (finger keywell) bottom row | +| 5 | As *4 row* with number row above | +| 6 | As *5 row* with function row above | -Keymap of Loligagger from geekhack. +### Column +| Count | Description | +| :---: | :---: | +| 5 | A column for each finger with additional column for first finger | +| 6 | As *5 column* with additional pinky finger column | +| 7 | As *6 column* with either an additional first finger column (`5x7`) or additional pinky column (`6x7`) | -### [Keymaps 6x6](/keyboards/handwired/dactyl_manuform/6x6/keymaps/) +### Alteration +| Code | Description | +| :---: | :---: | +| 5 | Thumb cluster replaced with five key thumb cluster of [Dactyl Manuform Mini](https://github.com/l4u/dactyl-manuform-mini-keyboard) | +| 2_5 | Same as code *5* with two additional keys added to finger key-well bottom row | -#### Default +## Case Files Generator -Simple QWERTY layout with 3 Layers. +[Dactyl Generator](https://ryanis.cool/dactyl), created by [rianadon](https://github.com/rianadon), is a web based file generator that negates having to compose case files using programming languages, which was the matter when using the original *Dactyl* and *Dactyl ManuForm* GitHub repos, by instead compiling case files based on options and parameters configured in a web front end. -### [Keymaps 6x7](/keyboards/handwired/dactyl_manuform/6x7/keymaps/) +## Compile -#### Default +Make example for this keyboard (after setting up your build environment) in the 5x6 variant: -Simple QWERTY layout with 3 Layers. + make handwired/dactyl_manuform/5x6:default -### [Keymaps 3x5_3](/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/) +Flashing example for this keyboard: -#### Dlford + make handwired/dactyl_manuform/5x6:default:flash -QWERTY/Colemak layout with per key RGB and other features +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). -## Required Hardware - -Apart from diodes and key switches for the keyboard matrix in each half, you -will need: - -- 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each. -- 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable - -Alternatively, you can use any sort of cable and socket that has at least 3 -wires. If you want to use I2C to communicate between halves, you will need a -cable with at least 4 wires and 2x 4.7kΩ pull-up resistors - -## Optional Hardware - -A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`. - -## Wiring - -The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e. -PD0 on the ATmega32u4) between the two Pro Micros. +## Keymaps -Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro -and modify the `matrix.c` accordingly. +### Default -The wiring for serial: +The default functional layout, based on QWERTY, and every variant has this keymap; used as a starting point/template for custom keymaps and for debugging purposes when soldering key matrix to controller. -![serial wiring](https://i.imgur.com/C3D1GAQ.png) +### VIA +Similar to *Default* but adds support for the [VIA](https://usevia.app/) keymap configurator. Layer count set to 4 to comply with VIA defaults, and remaps keys to accommodate this constraint, if applicable. -The wiring for i2c: +Variants with VIA support: +- 4x6 +- 5x6_5 +- 5x7 -![i2c wiring](https://i.imgur.com/Hbzhc6E.png) +### Miryoku -The pull-up resistors may be placed on either half. It is also possible -to use 4 resistors and have the pull-ups in both halves, but this is -unnecessary in simple use cases. +For more information on this layout schematic, please see the [Miryoku Reference Manual](https://github.com/manna-harbour/miryoku/tree/master/docs/reference). +For QMK specifics, please see [Miryoku QMK](https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku). -You can change your configuration between serial and i2c by modifying your `config.h` file. +Variants with *Miryoku* support: +- 4x5 +- 4x5_5 +- 4x6 +- 4x6_5 +- 5x6 -## Notes on Software Configuration +## Non-Pro Micro Controller Compilation -the keymaps in here are for the 4x5 layout of the keyboard only. +If building a Dactyl Manuform with controllers that aren't a pro micro, the Converter feature of QMK will allow compilation of firmware for the intended variant and supported controller without having to create a new QMK keyboard/keymap. +Please see [Converters](https://docs.qmk.fm/#/feature_converters?id=supported-converters) documentation for list of controllers that are supported converting from `pro_micro` and how to implement conversion. ## Flashing -To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing) - -## Choosing which board to plug the USB cable into (choosing Master) - -Because the two boards are identical, the firmware has logic to differentiate the left and right board. - -It uses two strategies to figure things out: looking at the EEPROM (memory on the chip) or looking if the current board has the usb cable. - -The EEPROM approach requires additional setup (flashing the eeprom) but allows you to swap the usb cable to either side. - -The USB cable approach is easier to setup and if you just want the usb cable on the left board, you do not need to do anything extra. +To flash your board with generated firmware file, please see [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing) -### Setting the left hand as master +## Handedness configurations -If you always plug the usb cable into the left board, nothing extra is needed as this is the default. Comment out `EE_HANDS` and comment out `I2C_MASTER_RIGHT` or `MASTER_RIGHT` if for some reason it was set. +See [Handedness](https://docs.qmk.fm/#/config_options?id=setting-handedness) documentation for more information on configuring handedness/master half. -### Setting the right hand as master - -If you always plug the usb cable into the right board, add an extra flag to your `config.h` - -``` - #define MASTER_RIGHT -``` - -### Setting EE_hands to use either hands as master - -If you define `EE_HANDS` in your `config.h`, you will need to set the -EEPROM for the left and right halves. - -The EEPROM is used to store whether the -half is left handed or right handed. This makes it so that the same firmware -file will run on both hands instead of having to flash left and right handed -versions of the firmware to each half. To flash the EEPROM file for the left -half run: +## VIA Configuration +Variants with a `via` keymap are VIA capable. +Compile firmware, for [enabled variant](#via), with it's `via` keymap and flash board with this firmware file. ``` -make handwired/dactyl_promicro:default:dfu-split-left -make handwired/dactyl_promicro:default:dfu-split-right +qmk compile -kb handwired/dactyl_manuform/4x6 -km via ``` -After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash. - -Note that you need to program both halves, but you have the option of using -different keymaps for each half. You could program the left half with a QWERTY -layout and the right half with a Colemak layout using bootmagic's default layout option. -Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the -right half is connected. - -## Notes on Using Pro Micro 3.3V +## Bootloader -Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects -the frequency on the 3.3V board. +Enter the bootloader in 3 ways: -Also, if the slave board is producing weird characters in certain columns, -update the following line in `matrix.c` to the following: - -``` -// wait_us(30); // without this wait read unstable value. -wait_us(300); // without this wait read unstable value. -``` +* **Bootmagic reset**: If enabled, 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 or controller - 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/handwired/dactyl_maximus/info.json b/keyboards/handwired/dactyl_maximus/info.json new file mode 100644 index 00000000000..424fde95622 --- /dev/null +++ b/keyboards/handwired/dactyl_maximus/info.json @@ -0,0 +1,137 @@ +{ + "keyboard_name": "Dactyl Maximus", + "manufacturer": "handwired", + "url": "", + "maintainer": "dunk2k", + "usb": { + "vid": "0x444D", + "pid": "0x3536", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "build": { + "lto": true + }, + "matrix_pins": { + "cols": ["D0", "D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F6", "F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "soft_serial_pin": "D1" + }, + "development_board": "promicro", + "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": [6, 0], "x": 12, "y": 0}, + {"matrix": [6, 1], "x": 13, "y": 0}, + {"matrix": [6, 2], "x": 14, "y": 0}, + {"matrix": [6, 3], "x": 15, "y": 0}, + {"matrix": [6, 4], "x": 16, "y": 0}, + {"matrix": [6, 5], "x": 17, "y": 0}, + {"matrix": [6, 6], "x": 18, "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": [7, 0], "x": 12, "y": 1}, + {"matrix": [7, 1], "x": 13, "y": 1}, + {"matrix": [7, 2], "x": 14, "y": 1}, + {"matrix": [7, 3], "x": 15, "y": 1}, + {"matrix": [7, 4], "x": 16, "y": 1}, + {"matrix": [7, 5], "x": 17, "y": 1}, + {"matrix": [7, 6], "x": 18, "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": [2, 6], "x": 6, "y": 2}, + + {"matrix": [8, 0], "x": 12, "y": 2}, + {"matrix": [8, 1], "x": 13, "y": 2}, + {"matrix": [8, 2], "x": 14, "y": 2}, + {"matrix": [8, 3], "x": 15, "y": 2}, + {"matrix": [8, 4], "x": 16, "y": 2}, + {"matrix": [8, 5], "x": 17, "y": 2}, + {"matrix": [8, 6], "x": 18, "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": [3, 6], "x": 6, "y": 3}, + + {"matrix": [9, 0], "x": 12, "y": 3}, + {"matrix": [9, 1], "x": 13, "y": 3}, + {"matrix": [9, 2], "x": 14, "y": 3}, + {"matrix": [9, 3], "x": 15, "y": 3}, + {"matrix": [9, 4], "x": 16, "y": 3}, + {"matrix": [9, 5], "x": 17, "y": 3}, + {"matrix": [9, 6], "x": 18, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4}, + {"matrix": [4, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + + {"matrix": [10, 1], "x": 13, "y": 4}, + {"matrix": [10, 2], "x": 14, "y": 4}, + {"matrix": [10, 3], "x": 15, "y": 4}, + {"matrix": [10, 4], "x": 16, "y": 4}, + {"matrix": [10, 5], "x": 17, "y": 4}, + {"matrix": [10, 6], "x": 18, "y": 4}, + + {"matrix": [4, 6], "x": 7, "y": 5}, + {"matrix": [5, 6], "x": 8, "y": 5}, + + {"matrix": [11, 0], "x": 10, "y": 5}, + {"matrix": [10, 0], "x": 11, "y": 5}, + + {"matrix": [5, 3], "x": 6, "y": 6}, + {"matrix": [5, 4], "x": 7, "y": 6}, + {"matrix": [5, 5], "x": 8, "y": 6}, + + {"matrix": [11, 1], "x": 10, "y": 6}, + {"matrix": [11, 2], "x": 11, "y": 6}, + {"matrix": [11, 3], "x": 12, "y": 6}, + + {"matrix": [5, 0], "x": 6, "y": 7}, + {"matrix": [5, 1], "x": 7, "y": 7}, + {"matrix": [5, 2], "x": 8, "y": 7}, + + {"matrix": [11, 4], "x": 10, "y": 7}, + {"matrix": [11, 5], "x": 11, "y": 7}, + {"matrix": [11, 6], "x": 12, "y": 7} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_maximus/keymaps/default/keymap.c b/keyboards/handwired/dactyl_maximus/keymaps/default/keymap.c new file mode 100644 index 00000000000..cfd95db563e --- /dev/null +++ b/keyboards/handwired/dactyl_maximus/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +// Copyright 2021 Duncan Sutherland (https://github.com/dunk2k) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define CUT C(KC_X) +#define COPY C(KC_C) +#define PSTE C(KC_V) +#define UNDO C(KC_Z) +#define REDO C(KC_Y) +#define SALL C(KC_A) +#define APP_N A(KC_TAB) +#define APP_P LSA(KC_TAB) +#define SLFT S(KC_HOME) +#define SRGHT S(KC_END) +#define APP_X A(KC_F4) +#define TSKMG RCS(KC_ESC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + APP_P, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR, APP_N, + SLFT, KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, SRGHT, + COPY, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, PSTE, + CUT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, SALL, + UNDO, KC_LCTL, KC_LALT, KC_LGUI, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_RGUI, KC_RALT, KC_RCTL, REDO, + KC_HOME, KC_PGUP, KC_VOLU, KC_END, + MO(1), KC_SPC, KC_DEL, KC_BSPC, KC_ENT, MO(2), + KC_UP, KC_DOWN, KC_PGDN, KC_VOLD, KC_LEFT, KC_RGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, TSKMG, APP_X, KC_SCRL, KC_INS, KC_PAUS, KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_NUM, KC_TRNS, + KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSLS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PCMM, KC_P0, KC_PDOT, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_RCTL, + KC_TRNS, KC_NO, KC_NO, KC_RSFT, KC_PENT, KC_LALT, + KC_NO, KC_NO, KC_NO, KC_NO, KC_RGUI, KC_NO + ), + + [2] = LAYOUT( + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_NO, KC_ACL2, KC_ACL1, KC_ACL0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_BTN1, KC_BTN2, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; diff --git a/keyboards/handwired/dactyl_maximus/keymaps/via/keymap.c b/keyboards/handwired/dactyl_maximus/keymaps/via/keymap.c new file mode 100644 index 00000000000..cfd95db563e --- /dev/null +++ b/keyboards/handwired/dactyl_maximus/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +// Copyright 2021 Duncan Sutherland (https://github.com/dunk2k) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define CUT C(KC_X) +#define COPY C(KC_C) +#define PSTE C(KC_V) +#define UNDO C(KC_Z) +#define REDO C(KC_Y) +#define SALL C(KC_A) +#define APP_N A(KC_TAB) +#define APP_P LSA(KC_TAB) +#define SLFT S(KC_HOME) +#define SRGHT S(KC_END) +#define APP_X A(KC_F4) +#define TSKMG RCS(KC_ESC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + APP_P, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR, APP_N, + SLFT, KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, SRGHT, + COPY, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, PSTE, + CUT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, SALL, + UNDO, KC_LCTL, KC_LALT, KC_LGUI, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_RGUI, KC_RALT, KC_RCTL, REDO, + KC_HOME, KC_PGUP, KC_VOLU, KC_END, + MO(1), KC_SPC, KC_DEL, KC_BSPC, KC_ENT, MO(2), + KC_UP, KC_DOWN, KC_PGDN, KC_VOLD, KC_LEFT, KC_RGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, TSKMG, APP_X, KC_SCRL, KC_INS, KC_PAUS, KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_NUM, KC_TRNS, + KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSLS, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PCMM, KC_P0, KC_PDOT, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_RCTL, + KC_TRNS, KC_NO, KC_NO, KC_RSFT, KC_PENT, KC_LALT, + KC_NO, KC_NO, KC_NO, KC_NO, KC_RGUI, KC_NO + ), + + [2] = LAYOUT( + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_NO, KC_ACL2, KC_ACL1, KC_ACL0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_BTN1, KC_BTN2, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; diff --git a/keyboards/handwired/dactyl_maximus/keymaps/via/rules.mk b/keyboards/handwired/dactyl_maximus/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/handwired/dactyl_maximus/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/dactyl_maximus/readme.md b/keyboards/handwired/dactyl_maximus/readme.md new file mode 100644 index 00000000000..d4c2d44def6 --- /dev/null +++ b/keyboards/handwired/dactyl_maximus/readme.md @@ -0,0 +1,34 @@ +# Dactyl Maximus + +![KeycapLess](https://i.imgur.com/OJs3bkWh.jpg) +*Thanks to [unit-5370](https://github.com/unit-5370) for image* + +The largest [Dactyl](/keyboards/handwired/dactyl/) variation available from a Dactyl generator. This variation is electronically more similar to the [Dactyl (Pro Micro)](/keyboards/handwired/dactyl_promicro/) as it requires two micro controllers, one per half, instead of the *Dactyl's* original implementation of one microcontroller and an I/O expander. + +* Keyboard Maintainer: [Duncan Sutherland](https://github.com/dunk2k) +* Hardware Supported: Pro Micro controller, of clone of +* Case Files: [Dactyl Generator](https://ryanis.cool/dactyl/#original) + +'Keys' settings for *Dactyl Generator* link: +* Number of Columns: 7 +* Use Number Row: true +* Use Bottom Row: true +* Thumb Key Count: 8 + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_maximus:default + +Flashing example for this keyboard: + + make handwired/dactyl_maximus: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/handwired/dactyl_maximus/rules.mk b/keyboards/handwired/dactyl_maximus/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/dactyl_maximus/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/dactyl_promicro/config.h b/keyboards/handwired/dactyl_promicro/config.h index ab6beb807f0..543ef8e6c5a 100644 --- a/keyboards/handwired/dactyl_promicro/config.h +++ b/keyboards/handwired/dactyl_promicro/config.h @@ -33,8 +33,6 @@ along with this program. If not, see . /* Enables This makes it easier for fast typists to use dual-function keys */ #define PERMISSIVE_HOLD -#define RGBLED_NUM 12 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/handwired/dactyl_promicro/info.json b/keyboards/handwired/dactyl_promicro/info.json index 5f0b4f85a28..2ae20d2f4a8 100644 --- a/keyboards/handwired/dactyl_promicro/info.json +++ b/keyboards/handwired/dactyl_promicro/info.json @@ -16,6 +16,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c index ed2d1440c83..1dd2f478410 100644 --- a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c @@ -1,5 +1,22 @@ -#include QMK_KEYBOARD_H +/* +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 . +*/ + +#include QMK_KEYBOARD_H #define _QWERTY 0 #define _LOWER 1 diff --git a/keyboards/handwired/dactyl_promicro/readme.md b/keyboards/handwired/dactyl_promicro/readme.md index a426319b4e5..63fd3a8df6d 100644 --- a/keyboards/handwired/dactyl_promicro/readme.md +++ b/keyboards/handwired/dactyl_promicro/readme.md @@ -1,93 +1,30 @@ -# Dactyl with Arduino Pro Micro +# Dactyl (Pro Micro) -See https://github.com/adereth/dactyl-keyboard for the original Version. +![Dactyl](https://i.imgur.com/a7uY1eSh.png) -This Dactyl uses the Arduino Pro Mirco (2x). -Wiring is a 6x6 Matrix like the [Dactyl Manuform](https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform) +A split body, concave shaped key well, columnar keyboard with a 6 key thumb cluster that takes inspiration from the Kinesis Advantage keyboard range. This rendition of the *Dactyl* requires two micro controllers rather than the [original implementation](/keyboards/handwired/dactyl/) of a micro controller and I/O expander. +* Keyboard Maintainer: [Matt Adereth](https://github.com/adereth) +* Hardware Supported: Pro Micro controller, or clones of +* Hardware Availability: [GitHub](https://github.com/adereth/dactyl-keyboard) -## Build the Firmware: +Make example for this keyboard (after setting up your build environment): - - Build the firmware with `make handwired/dactyl_promicro:`, for example `make handwired/dactyl:default` - - This will result in a hex file called `handwired_dactyl_promicro_.hex`, e.g. - `handwired_dactyl_promicro_default.hex` + make handwired/dactyl_promicro:default -How to setup your build enviroment can be found here: [Installing Build Tools](https://docs.qmk.fm/#/getting_started_build_tools) +Flashing example for this keyboard: -## Required Hardware + make handwired/dactyl_promicro:default:flash -Apart from diodes and key switches for the keyboard matrix in each half, you -will need: - -* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each. -* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable - -Alternatively, you can use any sort of cable and socket that has at least 3 -wires. If you want to use I2C to communicate between halves, you will need a -cable with at least 4 wires and 2x 4.7kΩ pull-up resistors +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). ## Optional Hardware -A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`. - -## Wiring - -The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e. -PD0 on the ATmega32u4) between the two Pro Micros. - -Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro -and modify the `matrix.c` accordingly. - -The wiring for serial: - -![serial wiring](https://i.imgur.com/C3D1GAQ.png) - -The wiring for i2c: - -![i2c wiring](https://i.imgur.com/Hbzhc6E.png) - -The pull-up resistors may be placed on either half. It is also possible -to use 4 resistors and have the pull-ups in both halves, but this is -unnecessary in simple use cases. - -You can change your configuration between serial and i2c by modifying your `config.h` file. - -## Notes on Software Configuration -the keymaps in here are for the 4x5 layout of the keyboard only. - -## Flashing - -To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing). - -Under Windows the most convenient way is installing the [QMK Drivers](https://github.com/qmk/qmk_driver_installer/releases) and use the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases). - - -## Choosing which board to plug the USB cable into (choosing Master) - -### Setting the right or left hand as master - -If you always plug the usb cable into the right board, add an extra flag to your `config.h` -``` - #define MASTER_RIGHT -``` - -OR - -``` - #define MASTER_LEFT -``` - - -Notes on Using Pro Micro 3.3V ------------------------------ +A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`. -Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects -the frequency on the 3.3V board. +## Bootloader -Also, if the slave board is producing weird characters in certain columns, -update the following line in `matrix.c` to the following: +Enter the bootloader in 2 ways: -``` -// _delay_us(30); // without this wait read unstable value. -_delay_us(300); // without this wait read unstable value. -``` +* **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/handwired/dactyl_rah/config.h b/keyboards/handwired/dactyl_rah/config.h index e40f6dfc69e..107d8e16683 100644 --- a/keyboards/handwired/dactyl_rah/config.h +++ b/keyboards/handwired/dactyl_rah/config.h @@ -24,9 +24,6 @@ along with this program. If not, see . #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -/* layer config */ -#define TAPPING_TOGGLE 1 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/handwired/dactyl_rah/info.json b/keyboards/handwired/dactyl_rah/info.json index 9234536a232..bfacb99a4b0 100644 --- a/keyboards/handwired/dactyl_rah/info.json +++ b/keyboards/handwired/dactyl_rah/info.json @@ -18,6 +18,9 @@ }, "processor": "atmega32u4", "bootloader": "caterina", + "tapping": { + "toggle": 1 + }, "layouts": { "LAYOUT_6x6": { "layout": [ diff --git a/keyboards/handwired/dactylmacropad/config.h b/keyboards/handwired/dactylmacropad/config.h deleted file mode 100644 index a2a5455ab14..00000000000 --- a/keyboards/handwired/dactylmacropad/config.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 bwprobably -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* - * 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 - -#define TAP_CODE_DELAY 100 diff --git a/keyboards/handwired/dactylmacropad/info.json b/keyboards/handwired/dactylmacropad/info.json index 6744d4b7015..5d40a240a9f 100644 --- a/keyboards/handwired/dactylmacropad/info.json +++ b/keyboards/handwired/dactylmacropad/info.json @@ -28,6 +28,9 @@ {"pin_a": "D1", "pin_b": "D0"} ] }, + "qmk": { + "tap_keycode_delay": 100 + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/handwired/daishi/info.json b/keyboards/handwired/daishi/info.json index 37d80633a79..6b6508eb83b 100644 --- a/keyboards/handwired/daishi/info.json +++ b/keyboards/handwired/daishi/info.json @@ -18,6 +18,9 @@ {"pin_a": "F1", "pin_b": "F0", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "at90usb1286", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/handwired/datahand/config.h b/keyboards/handwired/datahand/config.h index 0b2de61490a..b1d8cc9c773 100644 --- a/keyboards/handwired/datahand/config.h +++ b/keyboards/handwired/datahand/config.h @@ -20,8 +20,6 @@ #define MATRIX_ROWS 13 #define MATRIX_COLS 4 -//#define DIODE_DIRECTION - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/handwired/datahand/keymaps/default/keymap.c b/keyboards/handwired/datahand/keymaps/default/keymap.c index 7ebcff366ff..608c45dea34 100644 --- a/keyboards/handwired/datahand/keymaps/default/keymap.c +++ b/keyboards/handwired/datahand/keymaps/default/keymap.c @@ -302,8 +302,9 @@ void matrix_init_user(void) { #endif } -void led_set_user(uint8_t usb_led) { - lock_led_set(usb_led & (1<. #pragma once -#define TAPPING_TERM 500 #define PERMISSIVE_HOLD /* diff --git a/keyboards/handwired/ergocheap/info.json b/keyboards/handwired/ergocheap/info.json index 12bff57b3e0..17d78632377 100644 --- a/keyboards/handwired/ergocheap/info.json +++ b/keyboards/handwired/ergocheap/info.json @@ -8,6 +8,9 @@ "pid": "0x6942", "device_version": "0.0.1" }, + "tapping": { + "term": 500 + }, "matrix_pins": { "cols": ["A8", "A9", "B14", "B12", "B13", "B15", "B3", "B11", "A4", "A5", "A6", "A7", "B0", "B1", "B10"], "rows": ["B5", "B6", "B7", "B9", "B8"] diff --git a/keyboards/handwired/ergocheap/rules.mk b/keyboards/handwired/ergocheap/rules.mk index 2c8f1f42bf1..10c9a692dff 100644 --- a/keyboards/handwired/ergocheap/rules.mk +++ b/keyboards/handwired/ergocheap/rules.mk @@ -1,5 +1,3 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable diff --git a/keyboards/handwired/frenchdev/config.h b/keyboards/handwired/frenchdev/config.h index 9cb309c78ff..d758c602394 100644 --- a/keyboards/handwired/frenchdev/config.h +++ b/keyboards/handwired/frenchdev/config.h @@ -31,10 +31,6 @@ along with this program. If not, see . #define MOUSEKEY_MAX_SPEED 2 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 1 - -#define TAPPING_TERM 200 - /* key combination for command */ #define IS_COMMAND() ( \ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \ diff --git a/keyboards/handwired/frenchdev/info.json b/keyboards/handwired/frenchdev/info.json index d5981aebd47..8d031b3c42f 100644 --- a/keyboards/handwired/frenchdev/info.json +++ b/keyboards/handwired/frenchdev/info.json @@ -9,6 +9,9 @@ }, "processor": "atmega32u4", "bootloader": "halfkay", + "tapping": { + "toggle": 1 + }, "layouts": { "LAYOUT": { "layout": [ @@ -116,15 +119,15 @@ {"matrix": [1, 0], "x": 18, "y": 5.9}, {"matrix": [0, 0], "x": 19, "y": 5.9}, - {"matrix": [8, 3], "x": 2.25, "y": 7.5, "w": 1.5, "h": 2}, - {"matrix": [8, 4], "x": 3.75, "y": 7.5, "w": 1.5, "h": 2}, + {"matrix": [8, 3], "x": 2.25, "y": 7.5, "w": 1.75, "h": 2}, + {"matrix": [8, 4], "x": 4, "y": 7.5, "w": 1.75, "h": 2}, - {"matrix": [8, 5], "x": 5.25, "y": 7.5, "w": 1.5, "h": 2}, + {"matrix": [8, 5], "x": 5.75, "y": 7.5, "w": 1.75, "h": 2}, - {"matrix": [7, 3], "x": 13.25, "y": 7.5, "w": 1.5, "h": 2}, - {"matrix": [7, 4], "x": 14.75, "y": 7.5, "w": 1.5, "h": 2}, + {"matrix": [7, 3], "x": 12.5, "y": 7.5, "w": 1.75, "h": 2}, + {"matrix": [7, 4], "x": 14.25, "y": 7.5, "w": 1.75, "h": 2}, - {"matrix": [7, 5], "x": 16.25, "y": 7.5, "w": 1.5, "h": 2} + {"matrix": [7, 5], "x": 16, "y": 7.5, "w": 1.75, "h": 2} ] } } diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c index e5a5dcc6c16..60e355f290e 100644 --- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c +++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c @@ -351,11 +351,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<. #define EE_HANDS /* ws2812 RGB LED */ -#if !defined(RGBLED_NUM) -# define RGBLED_NUM 30 -# define RGBLIGHT_SPLIT -// Switch RGB sides with LED MAP. -# define RGBLIGHT_LED_MAP { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30} # define RGBLIGHT_LAYERS -#endif #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -35,7 +29,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP -#define RGBLIGHT_HUE_STEP 16 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/handwired/freoduo/info.json b/keyboards/handwired/freoduo/info.json index a4d6144cf95..96281574779 100644 --- a/keyboards/handwired/freoduo/info.json +++ b/keyboards/handwired/freoduo/info.json @@ -17,6 +17,12 @@ "soft_serial_pin": "D0" }, "rgblight": { + "hue_steps": 16, + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 30, + "sleep": true, + "led_map": [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "split_count": [16, 14] }, "ws2812": { diff --git a/keyboards/handwired/heisenberg/config.h b/keyboards/handwired/heisenberg/config.h index 00362c53758..470d1163489 100644 --- a/keyboards/handwired/heisenberg/config.h +++ b/keyboards/handwired/heisenberg/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 6 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -47,9 +42,6 @@ along with this program. If not, see . * Heisenberg-specific definitions END */ - -#define TAPPING_TERM 200 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/handwired/heisenberg/info.json b/keyboards/handwired/heisenberg/info.json index 5b3e000fba3..246171e696f 100644 --- a/keyboards/handwired/heisenberg/info.json +++ b/keyboards/handwired/heisenberg/info.json @@ -8,6 +8,9 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/handwired/jopr/config.h b/keyboards/handwired/jopr/config.h index 5d5233ca999..59717346c33 100644 --- a/keyboards/handwired/jopr/config.h +++ b/keyboards/handwired/jopr/config.h @@ -7,9 +7,3 @@ #define LOCKING_RESYNC_ENABLE #define NO_ACTION_ONESHOT -#define TAPPING_TOGGLE 3 - -#define RGBLED_NUM 1 -#define RGBLIGHT_HUE_STEP 1 -#define RGBLIGHT_SAT_STEP 1 -#define RGBLIGHT_VAL_STEP 1 diff --git a/keyboards/handwired/jopr/info.json b/keyboards/handwired/jopr/info.json index efebe52d0bc..78fb52cb995 100644 --- a/keyboards/handwired/jopr/info.json +++ b/keyboards/handwired/jopr/info.json @@ -8,6 +8,12 @@ "pid": "0x1000", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 1, + "saturation_steps": 1, + "brightness_steps": 1, + "led_count": 1 + }, "ws2812": { "pin": "F4" }, @@ -18,6 +24,9 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "tapping": { + "toggle": 3 + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/handwired/jopr/keymaps/default/keymap.c b/keyboards/handwired/jopr/keymaps/default/keymap.c index 1dc0f3a59e3..fc615b01091 100644 --- a/keyboards/handwired/jopr/keymaps/default/keymap.c +++ b/keyboards/handwired/jopr/keymaps/default/keymap.c @@ -22,23 +22,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { writePinHigh(F1); } else { writePinLow(F1); } - if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { writePinHigh(F0); } else { writePinLow(F0); } - if (!(IS_LED_ON(usb_led, USB_LED_NUM_LOCK))) { + if (!led_state.num_lock) { tap_code(KC_NUM_LOCK); } + return false; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { static bool sysreq_led = false; diff --git a/keyboards/handwired/jopr/keymaps/modded_white/keymap.c b/keyboards/handwired/jopr/keymaps/modded_white/keymap.c index edaabe78e6b..69d1a56bb5c 100644 --- a/keyboards/handwired/jopr/keymaps/modded_white/keymap.c +++ b/keyboards/handwired/jopr/keymaps/modded_white/keymap.c @@ -22,23 +22,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { writePinHigh(F1); } else { writePinLow(F1); } - if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { writePinHigh(F0); } else { writePinLow(F0); } - if (!(IS_LED_ON(usb_led, USB_LED_NUM_LOCK))) { + if (!led_state.num_lock) { tap_code(KC_NUM_LOCK); } + return false; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { static bool sysreq_led = false; diff --git a/keyboards/handwired/k_numpad17/config.h b/keyboards/handwired/k_numpad17/config.h index 9bcc1ca12ed..9f71a07f90c 100644 --- a/keyboards/handwired/k_numpad17/config.h +++ b/keyboards/handwired/k_numpad17/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define TAPPING_TERM 400 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/handwired/k_numpad17/info.json b/keyboards/handwired/k_numpad17/info.json index e0cd79a9c00..97d5f38774b 100644 --- a/keyboards/handwired/k_numpad17/info.json +++ b/keyboards/handwired/k_numpad17/info.json @@ -8,6 +8,9 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "tapping": { + "term": 400 + }, "matrix_pins": { "cols": ["B2", "B1", "F6", "F4"], "rows": ["D1", "D4", "C6", "D7", "E6"] diff --git a/keyboards/handwired/kbod/config.h b/keyboards/handwired/kbod/config.h index f9528817727..b9449c4714b 100644 --- a/keyboards/handwired/kbod/config.h +++ b/keyboards/handwired/kbod/config.h @@ -37,5 +37,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -#define TAPPING_TOGGLE 2 diff --git a/keyboards/handwired/kbod/info.json b/keyboards/handwired/kbod/info.json index 6508b3d8596..69005c65790 100644 --- a/keyboards/handwired/kbod/info.json +++ b/keyboards/handwired/kbod/info.json @@ -18,6 +18,9 @@ }, "processor": "atmega32u4", "bootloader": "caterina", + "tapping": { + "toggle": 2 + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/handwired/lovelive9/config.h b/keyboards/handwired/lovelive9/config.h index a946442dc05..547baa54c23 100644 --- a/keyboards/handwired/lovelive9/config.h +++ b/keyboards/handwired/lovelive9/config.h @@ -2,8 +2,6 @@ #pragma once -#define RGBLED_NUM 9 // Number of LEDs - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -15,8 +13,3 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - -#define TAPPING_TERM 200 diff --git a/keyboards/handwired/lovelive9/info.json b/keyboards/handwired/lovelive9/info.json index 4000b543c31..893db7f9da0 100644 --- a/keyboards/handwired/lovelive9/info.json +++ b/keyboards/handwired/lovelive9/info.json @@ -17,6 +17,10 @@ "backlight": { "breathing_period": 2 }, + "rgblight": { + "hue_steps": 10, + "led_count": 9 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/macroboard/config.h b/keyboards/handwired/macroboard/config.h index d20625da085..e019e4251a9 100644 --- a/keyboards/handwired/macroboard/config.h +++ b/keyboards/handwired/macroboard/config.h @@ -23,13 +23,7 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_PWM_TARGET_PERIOD 800000 -#define RGBLIGHT_LED_MAP { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 23, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1 } -# define RGBLED_NUM 24 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/macroboard/info.json b/keyboards/handwired/macroboard/info.json index b82cee4fb52..493e6981f7d 100644 --- a/keyboards/handwired/macroboard/info.json +++ b/keyboards/handwired/macroboard/info.json @@ -8,6 +8,13 @@ "pid": "0x2137", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "sleep": true, + "led_map": [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 23, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1] + }, "ws2812": { "pin": "B9" }, diff --git a/keyboards/handwired/marauder/config.h b/keyboards/handwired/marauder/config.h index bdb092a3ae8..9d56df98e1d 100644 --- a/keyboards/handwired/marauder/config.h +++ b/keyboards/handwired/marauder/config.h @@ -17,9 +17,3 @@ #pragma once #define LAYER_STATE_8BIT - - #define RGBLED_NUM 7 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ diff --git a/keyboards/handwired/marauder/info.json b/keyboards/handwired/marauder/info.json index a4bab132846..5c17825a634 100644 --- a/keyboards/handwired/marauder/info.json +++ b/keyboards/handwired/marauder/info.json @@ -8,6 +8,12 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/mutepad/config.h b/keyboards/handwired/mutepad/config.h index 83c78b16342..632465bba71 100644 --- a/keyboards/handwired/mutepad/config.h +++ b/keyboards/handwired/mutepad/config.h @@ -3,8 +3,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/handwired/mutepad/info.json b/keyboards/handwired/mutepad/info.json index e8df528eff3..5adb2505fbc 100644 --- a/keyboards/handwired/mutepad/info.json +++ b/keyboards/handwired/mutepad/info.json @@ -19,6 +19,9 @@ {"pin_a": "F4", "pin_b": "F5", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/handwired/myskeeb/config.h b/keyboards/handwired/myskeeb/config.h index 2e2a2bbcbf5..8c37524a0e5 100644 --- a/keyboards/handwired/myskeeb/config.h +++ b/keyboards/handwired/myskeeb/config.h @@ -13,7 +13,3 @@ #define OLED_FONT_HEIGHT 8 #define OLED_FONT_WIDTH 6 #define OLED_FONT_H "skeeb_font.c" - -// Tap Dance - -#define TAPPING_TERM 200 diff --git a/keyboards/handwired/myskeeb/oled.c b/keyboards/handwired/myskeeb/oled.c index 3f43590b8e9..675b290630d 100644 --- a/keyboards/handwired/myskeeb/oled.c +++ b/keyboards/handwired/myskeeb/oled.c @@ -127,13 +127,13 @@ void render_layer_state(void){ } // Keylock State -void render_keylock_status(uint8_t led_usb_state) { +void render_keylock_status(led_t led_state) { oled_write_P(PSTR(" "), false); - oled_write_P(led_usb_state & (1<. /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAPPING_TERM 500 #define PERMISSIVE_HOLD /* diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/config.h b/keyboards/handwired/onekey/evb_wb32f3g71/config.h index 4a65e9a72fe..5f6f04f7b41 100644 --- a/keyboards/handwired/onekey/evb_wb32f3g71/config.h +++ b/keyboards/handwired/onekey/evb_wb32f3g71/config.h @@ -3,13 +3,8 @@ #pragma once - #define ADC_PIN A0 -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) #define SOLENOID_PIN B12 diff --git a/keyboards/handwired/onekey/evb_wb32fq95/config.h b/keyboards/handwired/onekey/evb_wb32fq95/config.h index 4a65e9a72fe..5f6f04f7b41 100644 --- a/keyboards/handwired/onekey/evb_wb32fq95/config.h +++ b/keyboards/handwired/onekey/evb_wb32fq95/config.h @@ -3,13 +3,8 @@ #pragma once - #define ADC_PIN A0 -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) #define SOLENOID_PIN B12 diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json index 339dfe5974e..17bb84a82c1 100644 --- a/keyboards/handwired/onekey/info.json +++ b/keyboards/handwired/onekey/info.json @@ -7,6 +7,9 @@ "pid": "0x6465", "device_version": "0.0.1" }, + "tapping": { + "term": 500 + }, "diode_direction": "COL2ROW", "features": { "bootmagic": false, diff --git a/keyboards/handwired/onekey/nucleo_f446re/config.h b/keyboards/handwired/onekey/nucleo_f446re/config.h index c6c04ed6154..4401623e85c 100644 --- a/keyboards/handwired/onekey/nucleo_f446re/config.h +++ b/keyboards/handwired/onekey/nucleo_f446re/config.h @@ -2,11 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define ADC_PIN A0 #define SOLENOID_PINS { B12, B13, B14, B15 } diff --git a/keyboards/handwired/onekey/nucleo_g431rb/info.json b/keyboards/handwired/onekey/nucleo_g431rb/info.json new file mode 100644 index 00000000000..4e5e3b1cba3 --- /dev/null +++ b/keyboards/handwired/onekey/nucleo_g431rb/info.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "Onekey Nucleo G431RB", + "processor": "STM32G431", + "bootloader": "stm32-dfu", + "matrix_pins": { + "cols": ["A9"], + "rows": ["A10"] + }, + "backlight": { + "pin": "B8" + }, + "ws2812": { + "pin": "A0" + }, + "apa102": { + "data_pin": "A0", + "clock_pin": "B13" + } +} diff --git a/keyboards/handwired/onekey/nucleo_g431rb/readme.md b/keyboards/handwired/onekey/nucleo_g431rb/readme.md new file mode 100644 index 00000000000..3b393e12768 --- /dev/null +++ b/keyboards/handwired/onekey/nucleo_g431rb/readme.md @@ -0,0 +1,7 @@ +# ST Microelectronics Nucleo64-G431RB onekey + +Supported Hardware: + +To trigger keypress, short together pins *A9* and *A10*. + +The usual USB connection to ST-Link will not work for QMK -- pins *A11* and *A12* need to be connected to *D-* and *D+* respectively. diff --git a/keyboards/handwired/onekey/nucleo_g431rb/rules.mk b/keyboards/handwired/onekey/nucleo_g431rb/rules.mk new file mode 100644 index 00000000000..e69de29bb2d diff --git a/keyboards/handwired/onekey/nucleo_g474re/info.json b/keyboards/handwired/onekey/nucleo_g474re/info.json new file mode 100644 index 00000000000..02f59be74e9 --- /dev/null +++ b/keyboards/handwired/onekey/nucleo_g474re/info.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "Onekey Nucleo G474RE", + "processor": "STM32G474", + "bootloader": "stm32-dfu", + "matrix_pins": { + "cols": ["A9"], + "rows": ["A10"] + }, + "backlight": { + "pin": "B8" + }, + "ws2812": { + "pin": "A0" + }, + "apa102": { + "data_pin": "A0", + "clock_pin": "B13" + } +} diff --git a/keyboards/handwired/onekey/nucleo_g474re/readme.md b/keyboards/handwired/onekey/nucleo_g474re/readme.md new file mode 100644 index 00000000000..f6115b10c7d --- /dev/null +++ b/keyboards/handwired/onekey/nucleo_g474re/readme.md @@ -0,0 +1,7 @@ +# ST Microelectronics Nucleo64-G474RE onekey + +Supported Hardware: + +To trigger keypress, short together pins *A9* and *A10*. + +The usual USB connection to ST-Link will not work for QMK -- pins *A11* and *A12* need to be connected to *D-* and *D+* respectively. diff --git a/keyboards/handwired/onekey/nucleo_g474re/rules.mk b/keyboards/handwired/onekey/nucleo_g474re/rules.mk new file mode 100644 index 00000000000..e69de29bb2d diff --git a/keyboards/handwired/onekey/nucleo_h723zg/info.json b/keyboards/handwired/onekey/nucleo_h723zg/info.json new file mode 100644 index 00000000000..7596d007b2d --- /dev/null +++ b/keyboards/handwired/onekey/nucleo_h723zg/info.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "Onekey Nucleo H723ZG", + "processor": "STM32H723", + "bootloader": "stm32-dfu", + "matrix_pins": { + "cols": ["A9"], + "rows": ["A10"] + }, + "backlight": { + "pin": "B8" + }, + "ws2812": { + "pin": "A0" + }, + "apa102": { + "data_pin": "A0", + "clock_pin": "B13" + } +} diff --git a/keyboards/handwired/onekey/nucleo_h723zg/readme.md b/keyboards/handwired/onekey/nucleo_h723zg/readme.md new file mode 100755 index 00000000000..97a2da51153 --- /dev/null +++ b/keyboards/handwired/onekey/nucleo_h723zg/readme.md @@ -0,0 +1,5 @@ +# ST Microelectronics Nucleo144-H723 onekey + +Supported Hardware: + +To trigger keypress, short together pins *A9* and *A10*. diff --git a/keyboards/handwired/onekey/nucleo_h723zg/rules.mk b/keyboards/handwired/onekey/nucleo_h723zg/rules.mk new file mode 100755 index 00000000000..e69de29bb2d diff --git a/keyboards/handwired/onekey/nucleo_l432kc/config.h b/keyboards/handwired/onekey/nucleo_l432kc/config.h index d344a110942..03e017892c7 100644 --- a/keyboards/handwired/onekey/nucleo_l432kc/config.h +++ b/keyboards/handwired/onekey/nucleo_l432kc/config.h @@ -2,9 +2,4 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/proton_c/config.h b/keyboards/handwired/onekey/proton_c/config.h index 49376e474e2..07ce9292211 100644 --- a/keyboards/handwired/onekey/proton_c/config.h +++ b/keyboards/handwired/onekey/proton_c/config.h @@ -16,9 +16,4 @@ #pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 - #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h index 5cbfb8dbffc..0563ebfa5f1 100644 --- a/keyboards/handwired/onekey/rp2040/config.h +++ b/keyboards/handwired/onekey/rp2040/config.h @@ -13,7 +13,6 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U -#define BACKLIGHT_PWM_DRIVER PWMD4 #define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B #define AUDIO_PIN GP16 diff --git a/keyboards/handwired/onekey/stm32f0_disco/config.h b/keyboards/handwired/onekey/stm32f0_disco/config.h index 806eb69df4e..b8880f65813 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/config.h +++ b/keyboards/handwired/onekey/stm32f0_disco/config.h @@ -16,9 +16,7 @@ #pragma once - #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 #define BACKLIGHT_PAL_MODE 0 #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/stm32f0_disco/rules.mk b/keyboards/handwired/onekey/stm32f0_disco/rules.mk index a92b0993283..8b137891791 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/rules.mk +++ b/keyboards/handwired/onekey/stm32f0_disco/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/handwired/onekey/stm32f405_feather/rules.mk b/keyboards/handwired/onekey/stm32f405_feather/rules.mk index a92b0993283..8b137891791 100644 --- a/keyboards/handwired/onekey/stm32f405_feather/rules.mk +++ b/keyboards/handwired/onekey/stm32f405_feather/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/handwired/onekey/teensy_32/rules.mk b/keyboards/handwired/onekey/teensy_32/rules.mk index a92b0993283..8b137891791 100644 --- a/keyboards/handwired/onekey/teensy_32/rules.mk +++ b/keyboards/handwired/onekey/teensy_32/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/handwired/onekey/teensy_35/rules.mk b/keyboards/handwired/onekey/teensy_35/rules.mk index a92b0993283..8b137891791 100644 --- a/keyboards/handwired/onekey/teensy_35/rules.mk +++ b/keyboards/handwired/onekey/teensy_35/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/handwired/onekey/teensy_lc/rules.mk b/keyboards/handwired/onekey/teensy_lc/rules.mk index 9803d8cc703..abd2f7fce97 100644 --- a/keyboards/handwired/onekey/teensy_lc/rules.mk +++ b/keyboards/handwired/onekey/teensy_lc/rules.mk @@ -1,4 +1,2 @@ USE_CHIBIOS_CONTRIB = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/handwired/ortho5x14/config.h b/keyboards/handwired/ortho5x14/config.h index c37ac425370..5f60fd44d7e 100644 --- a/keyboards/handwired/ortho5x14/config.h +++ b/keyboards/handwired/ortho5x14/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAPPING_TERM 200 - //#define PERMISSIVE_HOLD /* diff --git a/keyboards/handwired/owlet60/config.h b/keyboards/handwired/owlet60/config.h index ba5322f32fb..18ab1e446f4 100644 --- a/keyboards/handwired/owlet60/config.h +++ b/keyboards/handwired/owlet60/config.h @@ -40,11 +40,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/owlet60/info.json b/keyboards/handwired/owlet60/info.json index d0369117553..e697ca7a388 100644 --- a/keyboards/handwired/owlet60/info.json +++ b/keyboards/handwired/owlet60/info.json @@ -12,7 +12,11 @@ "pin": "D0" }, "rgblight": { - "max_brightness": 128 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "max_brightness": 128, + "sleep": true }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c b/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c index f617fb5e682..f54ceb44910 100644 --- a/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c +++ b/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c @@ -67,24 +67,6 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } bool oled_task_user(void) { - // Host Keyboard Layer Status - /*oled_write_P(PSTR("Lyr: "), false); - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR("Alpha\n"), false); - break; - case 1: - oled_write_P(PSTR("FN\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); - } - - uint8_t led_usb_state = host_keyboard_leds(); - oled_write_P(led_usb_state & (1<. - */ -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD5 -#define BACKLIGHT_PWM_CHANNEL 1 diff --git a/keyboards/handwired/prime_exl_plus/config.h b/keyboards/handwired/prime_exl_plus/config.h index a660e0ddfa1..691995b3498 100644 --- a/keyboards/handwired/prime_exl_plus/config.h +++ b/keyboards/handwired/prime_exl_plus/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/prime_exl_plus/info.json b/keyboards/handwired/prime_exl_plus/info.json index cb4a939a02d..edea65842cd 100644 --- a/keyboards/handwired/prime_exl_plus/info.json +++ b/keyboards/handwired/prime_exl_plus/info.json @@ -8,6 +8,9 @@ "pid": "0x6579", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/handwired/prkl30/feather/config.h b/keyboards/handwired/prkl30/feather/config.h index bb71df9c64f..692efc513ca 100644 --- a/keyboards/handwired/prkl30/feather/config.h +++ b/keyboards/handwired/prkl30/feather/config.h @@ -26,7 +26,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 13 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/handwired/prkl30/feather/info.json b/keyboards/handwired/prkl30/feather/info.json index 08c6e107ddf..e0570d71bfe 100644 --- a/keyboards/handwired/prkl30/feather/info.json +++ b/keyboards/handwired/prkl30/feather/info.json @@ -1,4 +1,9 @@ { + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/handwired/prkl30/promicro/config.h b/keyboards/handwired/prkl30/promicro/config.h index bb71df9c64f..692efc513ca 100644 --- a/keyboards/handwired/prkl30/promicro/config.h +++ b/keyboards/handwired/prkl30/promicro/config.h @@ -26,7 +26,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 13 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/handwired/prkl30/promicro/info.json b/keyboards/handwired/prkl30/promicro/info.json index 69c3ae8bfe4..a77a02a6c3b 100644 --- a/keyboards/handwired/prkl30/promicro/info.json +++ b/keyboards/handwired/prkl30/promicro/info.json @@ -3,6 +3,11 @@ "cols": ["B4", "B5", "F6", "F5", "F4", "F7", "B1", "B3", "B2", "B6"], "rows": ["D4", "C6", "D7", "E6"] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c index 42819245c7a..ff73e51d5eb 100644 --- a/keyboards/handwired/promethium/keymaps/default/keymap.c +++ b/keyboards/handwired/promethium/keymaps/default/keymap.c @@ -1303,8 +1303,8 @@ void turn_off_capslock(void) { rgbsps_send(); } - void led_set_user(uint8_t usb_led) { - bool new_capslock = usb_led & (1<. #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 1 - /* key combination for command */ #define IS_COMMAND() ( \ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \ diff --git a/keyboards/handwired/pterodactyl/info.json b/keyboards/handwired/pterodactyl/info.json index 213b7aa53bb..3598b39b8de 100644 --- a/keyboards/handwired/pterodactyl/info.json +++ b/keyboards/handwired/pterodactyl/info.json @@ -11,6 +11,9 @@ "processor": "atmega32u4", "bootloader": "caterina", "debounce": 0, + "tapping": { + "toggle": 1 + }, "layouts": { "LAYOUT_pterodactyl": { "layout": [ diff --git a/keyboards/handwired/qc60/info.json b/keyboards/handwired/qc60/info.json index b78ca3c807e..7fba95f9d13 100644 --- a/keyboards/handwired/qc60/info.json +++ b/keyboards/handwired/qc60/info.json @@ -8,6 +8,9 @@ "pid": "0x0C60", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/qc60/proto/config.h b/keyboards/handwired/qc60/proto/config.h deleted file mode 100644 index a64c4ebeecb..00000000000 --- a/keyboards/handwired/qc60/proto/config.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -/* ws2812 RGB LED */ -#define RGBLED_NUM 1 // Number of LEDs diff --git a/keyboards/handwired/riblee_f401/config.h b/keyboards/handwired/riblee_f401/config.h index 09a304e1c73..c39cbc87f5e 100644 --- a/keyboards/handwired/riblee_f401/config.h +++ b/keyboards/handwired/riblee_f401/config.h @@ -17,5 +17,3 @@ #pragma once #define MOUSEKEY_INTERVAL 32 - -#define TAPPING_TERM 175 \ No newline at end of file diff --git a/keyboards/handwired/riblee_f401/info.json b/keyboards/handwired/riblee_f401/info.json index 7b9b320b98b..4ff8ec21f63 100644 --- a/keyboards/handwired/riblee_f401/info.json +++ b/keyboards/handwired/riblee_f401/info.json @@ -8,6 +8,9 @@ "pid": "0x002A", "device_version": "0.0.1" }, + "tapping": { + "term": 175 + }, "matrix_pins": { "cols": ["B10", "B1", "B0", "B15", "A8", "B3", "B4", "B5", "B6", "B7", "B8", "B9"], "rows": ["A6", "A5", "A4", "A3", "A2"] diff --git a/keyboards/handwired/riblee_f411/config.h b/keyboards/handwired/riblee_f411/config.h index 425b35f266a..c39cbc87f5e 100644 --- a/keyboards/handwired/riblee_f411/config.h +++ b/keyboards/handwired/riblee_f411/config.h @@ -17,5 +17,3 @@ #pragma once #define MOUSEKEY_INTERVAL 32 - -#define TAPPING_TERM 175 diff --git a/keyboards/handwired/riblee_f411/info.json b/keyboards/handwired/riblee_f411/info.json index d13dfb22919..1c957e99404 100644 --- a/keyboards/handwired/riblee_f411/info.json +++ b/keyboards/handwired/riblee_f411/info.json @@ -8,6 +8,9 @@ "pid": "0x002B", "device_version": "0.0.1" }, + "tapping": { + "term": 175 + }, "matrix_pins": { "cols": ["B10", "B1", "B0", "B15", "A8", "B3", "B4", "B5", "B14", "A0", "B8", "B9"], "rows": ["A6", "A5", "A4", "A3", "A2"] diff --git a/keyboards/handwired/scottokeebs/scottoalp/info.json b/keyboards/handwired/scottokeebs/scottoalp/info.json new file mode 100644 index 00000000000..d6262e11e64 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoalp/info.json @@ -0,0 +1,76 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoAlp", + "maintainer": "joe-scotto", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + // 4, 5, 6, 7, 8, 9, A3, A2, A1, A0 + "cols": ["D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6", "F7"], + + // 15, 14, 16, 10 + "rows": ["B1", "B3", "B2", "B6"] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0007", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT_ortho_3x10_5": { + "layout": [ + // Row 1 + { "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 }, + + // Row 2 + { "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 }, + + // Row 3 + { "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": [2, 6], "x": 6, "y": 2 }, + { "matrix": [2, 7], "x": 7, "y": 2 }, + { "matrix": [2, 8], "x": 8, "y": 2 }, + { "matrix": [2, 9], "x": 9, "y": 2 }, + + // Row 4 + { "matrix": [3, 1], "x": 1, "y": 3 }, + { "matrix": [3, 2], "x": 2, "y": 3 }, + { "matrix": [3, 4], "x": 4, "y": 3 }, + { "matrix": [3, 6], "x": 6, "y": 3 }, + { "matrix": [3, 7], "x": 7, "y": 3 } + ] + } + } +} diff --git a/keyboards/9key/config.h b/keyboards/handwired/scottokeebs/scottoalp/keymaps/default/config.h similarity index 75% rename from keyboards/9key/config.h rename to keyboards/handwired/scottokeebs/scottoalp/keymaps/default/config.h index bb910a4427d..1a6512052c1 100644 --- a/keyboards/9key/config.h +++ b/keyboards/handwired/scottokeebs/scottoalp/keymaps/default/config.h @@ -1,5 +1,5 @@ /* -Copyright 2012 Jun Wako +Copyright 2022 Joe Scotto This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -8,7 +8,7 @@ the Free Software Foundation, either version 2 of the License, or This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License @@ -17,6 +17,7 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 1 // Number of LEDs - -#define TAPPING_TERM 200 +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottoalp/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoalp/keymaps/default/keymap.c new file mode 100644 index 00000000000..88b4a4b0b43 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoalp/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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_5( + 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_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_LGUI, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT) + ), + [1] = LAYOUT_ortho_3x10_5( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_ortho_3x10_5( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_ortho_3x10_5( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/kikoslab/ellora65/config.h b/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/config.h similarity index 75% rename from keyboards/kikoslab/ellora65/config.h rename to keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/config.h index c6fba5ebcf8..1a6512052c1 100644 --- a/keyboards/kikoslab/ellora65/config.h +++ b/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/config.h @@ -1,5 +1,5 @@ /* -Copyright 2021 Swiftrax +Copyright 2022 Joe Scotto This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -8,7 +8,7 @@ the Free Software Foundation, either version 2 of the License, or This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License @@ -17,5 +17,7 @@ along with this program. If not, see . #pragma once -/*RGB TINGS*/ -#define RGBLED_NUM 12 +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/keymap.c new file mode 100644 index 00000000000..dfe688267e3 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/keymap.c @@ -0,0 +1,174 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +// Tap dance declarations +enum { + TD_LCTL_ESC_SPOTLIGHT_EMOJI, + TD_LALT_ESC_WINDOWS_EMOJI +}; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) : + case TD(TD_LALT_ESC_WINDOWS_EMOJI) : + case LGUI_T(KC_SPC) : + case LT(1, KC_TAB) : + case LT(2, KC_ENT) : + return 200; + default: + return TAPPING_TERM; + } +}; + +// Begin quad TD +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_HOLD, + TD_SINGLE_TAP, + TD_DOUBLE_TAP, + TD_TRIPLE_TAP +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +// Create an instance of 'td_tap_t' for the 'x' tap dance. +static td_tap_t xtap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +td_state_t cur_dance(tap_dance_state_t *state) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) { + return TD_SINGLE_TAP; + } else { + return TD_SINGLE_HOLD; + } + } else if (state->count == 2) { + return TD_DOUBLE_TAP; + } else if (state->count == 3) { + return TD_TRIPLE_TAP; + } + + return TD_UNKNOWN; +} + +void td_lctl_esc_spotlight_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: register_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_TAP: tap_code16(G(KC_SPC)); break; + case TD_TRIPLE_TAP: tap_code16(C(G(KC_SPC))); break; + default: break; + } +} + +void td_lctl_esc_spotlight_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break; + default: break; + } + xtap_state.state = TD_NONE; +} + +void td_lalt_esc_windowr_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: register_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_TAP: tap_code(KC_LGUI); break; + case TD_TRIPLE_TAP: tap_code16(G(KC_DOT)); break; + default: break; + } +} + +void td_lalt_esc_windowr_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LALT); break; + default: break; + } + xtap_state.state = TD_NONE; +} + + // Tap Dance definitions +tap_dance_action_t tap_dance_actions[] = { + [TD_LCTL_ESC_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lctl_esc_spotlight_emoji_finished, td_lctl_esc_spotlight_emoji_reset), + [TD_LALT_ESC_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lalt_esc_windowr_emoji_finished, td_lalt_esc_windowr_emoji_reset), +}; +// For the x tap dance. Put it here so it can be used in any keymap +void x_finished(tap_dance_state_t *state, void *user_data); +void x_reset(tap_dance_state_t *state, void *user_data); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_3x10_5( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT) + ), + [1] = LAYOUT_ortho_3x10_5( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_ortho_3x10_5( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_ortho_3x10_5( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS + ), + [4] = LAYOUT_ortho_3x10_5( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT) + ), + [5] = LAYOUT_ortho_3x10_5( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT) + ), + [6] = LAYOUT_ortho_3x10_5( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(7), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT) + ), + [7] = LAYOUT_ortho_3x10_5( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT) + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/rules.mk new file mode 100644 index 00000000000..e5ddcae8d92 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoalp/keymaps/scotto/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottoalp/readme.md b/keyboards/handwired/scottokeebs/scottoalp/readme.md new file mode 100644 index 00000000000..07c7d889de7 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoalp/readme.md @@ -0,0 +1,27 @@ +# ScottoAlp + +![ScottoAlp](https://i.imgur.com/XKpYcMgh.jpeg) + +A 35-key ortholinear keyboard with a 3u spacebar and is compatible with both MX or Alps. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: ATmega32U4 +* Hardware Availability: [Amazon](https://amazon.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/jscotto/scottoalp:default + +Flashing example for this keyboard: + + make handwired/jscotto/scottoalp: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 \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoalp/rules.mk b/keyboards/handwired/scottokeebs/scottoalp/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoalp/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/mechllama/g35/v1/config.h b/keyboards/handwired/scottokeebs/scottocmd/config.h similarity index 82% rename from keyboards/mechllama/g35/v1/config.h rename to keyboards/handwired/scottokeebs/scottocmd/config.h index 1aee08380ca..a168f0ef218 100644 --- a/keyboards/mechllama/g35/v1/config.h +++ b/keyboards/handwired/scottokeebs/scottocmd/config.h @@ -1,5 +1,5 @@ /* -Copyright 2019 Kaylyn Bogle +Copyright 2022 Joe Scotto This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -8,7 +8,7 @@ the Free Software Foundation, either version 2 of the License, or This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License @@ -17,4 +17,5 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 41 +// OLED +#define OLED_DISPLAY_128X64 \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottocmd/info.json b/keyboards/handwired/scottokeebs/scottocmd/info.json new file mode 100644 index 00000000000..d945b70ce9c --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottocmd/info.json @@ -0,0 +1,89 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoCMD", + "maintainer": "joe-scotto", + "diode_direction": "COL2ROW", + "development_board": "promicro", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "oled": true + }, + "build": { + "lto": true + }, + "matrix_pins": { + // TX0, RX1, 4, 5, 6, 7, 8, 9, A3, A2, A1 + "cols": ["D3", "D2", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6"], + // A0, 15, 14, 16, 10 + "rows": ["F7", "B1", "B3", "B2", "B6"] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0005", + "vid": "0x534B" + }, + "bootmagic": { + "matrix": [1, 0] + }, + "layouts": { + "LAYOUT_ortho_4_3x10_4": { + "layout": [ + // Row 1 (Macros) + {"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}, + + // Row 2 + {"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}, + + // Row 3 + {"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": [2, 6], "x": 6, "y": 2}, + {"matrix": [2, 7], "x": 7, "y": 2}, + {"matrix": [2, 8], "x": 8, "y": 2}, + {"matrix": [2, 9], "x": 9, "y": 2}, + {"matrix": [2, 10], "x": 10, "y": 2}, + + // Row 4 + {"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": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + + // Row 5 + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + {"matrix": [4, 9], "x": 9, "y": 4}, + {"matrix": [4, 10], "x": 10, "y": 4} + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/config.h new file mode 100644 index 00000000000..1a6512052c1 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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 options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/keymap.c new file mode 100644 index 00000000000..dbb5cbc4a97 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottocmd/keymaps/default/keymap.c @@ -0,0 +1,49 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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_4_3x10_4( + KC_LCTL, KC_2, KC_3, 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_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT) + ), + [1] = LAYOUT_ortho_4_3x10_4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TAB, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_ENT, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_ortho_4_3x10_4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_ENT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_ortho_4_3x10_4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_ENT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/config.h new file mode 100644 index 00000000000..1a6512052c1 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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 options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/keymap.c new file mode 100644 index 00000000000..c196c3b1e90 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/keymap.c @@ -0,0 +1,511 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 +char wpm_str[10]; + +// Tap Dance declarations +enum { + TD_ESC_SPOTLIGHT_EMOJI, + TD_ESC_WINDOWS_EMOJI +}; + +void td_esc_spotlight_emoji (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + tap_code(KC_ESC); + } else if (state->count == 2) { + tap_code16(G(KC_SPC)); + } else if (state->count == 3) { + tap_code16(C(G(KC_SPC))); + } +} + +void td_esc_windows_emoji (tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + tap_code(KC_ESC); + } else if (state->count == 2) { + tap_code(KC_LGUI); + } else if (state->count == 3) { + tap_code16(G(KC_DOT)); + } +}; + + // Tap Dance definitions +tap_dance_action_t tap_dance_actions[] = { + [TD_ESC_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN(td_esc_spotlight_emoji), + [TD_ESC_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN(td_esc_windows_emoji) +}; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_ESC_SPOTLIGHT_EMOJI) : + case TD(TD_ESC_WINDOWS_EMOJI) : + case LGUI_T(KC_SPC) : + case LT(1, KC_TAB) : + case LT(2, KC_ENT) : + return 200; + default: + return TAPPING_TERM; + } +}; + +// Layer Names +enum layer_names { + _MAC_DEFAULT, + _MAC_CODE, + _MAC_NUM, + _MAC_FUNC, + _WIN_DEFAULT, + _WIN_CODE, + _WIN_NUM, + _WIN_FUNC +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4_3x10_4( + KC_LCTL, KC_2, KC_3, TD(TD_ESC_SPOTLIGHT_EMOJI), + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_ENT, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT) + ), + [1] = LAYOUT_ortho_4_3x10_4( + KC_LCTL, KC_2, KC_3, TD(TD_ESC_SPOTLIGHT_EMOJI), + KC_TAB, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_ENT, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_ortho_4_3x10_4( + KC_LCTL, KC_2, KC_3, TD(TD_ESC_SPOTLIGHT_EMOJI), + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_ENT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_ortho_4_3x10_4( + KC_LCTL, KC_2, KC_3, TD(TD_ESC_SPOTLIGHT_EMOJI), + KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4), + KC_ENT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS + ), + [4] = LAYOUT_ortho_4_3x10_4( + KC_1, KC_2, KC_3, TD(TD_ESC_WINDOWS_EMOJI), + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_ENT, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT) + ), + [5] = LAYOUT_ortho_4_3x10_4( + KC_1, KC_2, KC_3, TD(TD_ESC_WINDOWS_EMOJI), + KC_TAB, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_ENT, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS + ), + [6] = LAYOUT_ortho_4_3x10_4( + KC_1, KC_2, KC_3, TD(TD_ESC_WINDOWS_EMOJI), + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_ENT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(7), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS + ), + [7] = LAYOUT_ortho_4_3x10_4( + KC_1, KC_2, KC_3, TD(TD_ESC_WINDOWS_EMOJI), + KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0), + KC_ENT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS + ) +}; + +// OLED +#ifdef OLED_ENABLE +// WPM responsiveness +#define IDLE_FRAMES 5 // How many idle frames in animation +#define IDLE_SPEED 20 // Speed at which animation idles +#define TAP_FRAMES 2 // How many tapping frames +#define TAP_SPEED 40 // WPM to trigger Bongo +#define ANIMATION_FRAME_DURATION 200 // MS duration of each frame +#define ANIMATION_SIZE 256 // Number of bytes per animation frame + +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; +uint8_t current_idle_frame = 0; +uint8_t current_tap_frame = 0; + +static void render_animation(void) { + static const char PROGMEM idle[IDLE_FRAMES][ANIMATION_SIZE] = { + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 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, 0x06, 0x0d, 0x31, 0xc1, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, + 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, + 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, + 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, + 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }, + { + 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, 0x80, 0x40, 0x40, 0x20, 0x10, + 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 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, 0x1c, 0x34, 0xc4, 0x04, 0x04, 0x04, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, + 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, + 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, + 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, + 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }, + { + 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, 0x80, 0x40, 0x40, 0x20, 0x10, + 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 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, 0x7e, 0x82, 0x02, 0x02, 0x04, 0x04, 0x08, + 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x08, + 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, + 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, + 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, + 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }, + { + 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, 0x40, 0x40, 0x40, 0x20, 0x10, 0x08, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 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, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, + 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, + 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, + 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, + 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, + 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 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, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, + 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, + 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, + 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, + 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, + 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }; + static const char PROGMEM prep[][ANIMATION_SIZE] = { + { + 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, 0x40, 0x40, 0x20, 0x20, 0x10, + 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 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, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, + 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, + 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, + 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, + 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, + 0x02, 0x02, 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 + } + }; + static const char PROGMEM tap[TAP_FRAMES][ANIMATION_SIZE] = { + { + 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, 0x40, 0x40, 0x20, 0x20, 0x10, + 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 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, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, + 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, + 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, + 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, + 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x98, 0xc0, 0x88, 0x88, 0x8c, 0x9c, + 0x1c, 0x1e, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }, + { + 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, 0x40, 0x40, 0x20, 0x20, 0x10, + 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 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, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, + 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, + 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, + 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, + 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, + 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x61, + 0xf0, 0xf8, 0xfc, 0x60, 0x01, 0x01, 0x01, 0x3c, 0x78, 0xf8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00 + } + }; + + void animation_phase(void) { + // Set cursor to draw from the bottom up + oled_set_cursor(128, 0); + + if (get_current_wpm() <= IDLE_SPEED) { + current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES; + oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIMATION_SIZE); + } + + // Start prep image + if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { + oled_write_raw_P(prep[0], ANIMATION_SIZE); + } + + // Start tap animation + if (get_current_wpm() >= TAP_SPEED) { + current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES; + oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIMATION_SIZE); + } + } + if (get_current_wpm() != 000) { + oled_on(); // Enables OLED on any alpha keypress + + if (timer_elapsed32(anim_timer) > ANIMATION_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + + anim_sleep = timer_read32(); + } else { + if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { + oled_off(); + } else { + if (timer_elapsed32(anim_timer) > ANIMATION_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + } + } +} + +// Draw to OLED +bool oled_task_user(void) { + // Caps lock text + led_t led_state = host_keyboard_led_state(); + oled_set_cursor(0,1); + oled_write_P(led_state.caps_lock ? PSTR(" Caps Lock "): PSTR(" ScottoCMD "), false); + + //WPM text + oled_set_cursor(0, 9); + oled_write(get_u8_str(get_current_wpm(), '0'), false); + oled_write_P(PSTR(" WPM"), false); + + static const char PROGMEM logos[][256] = { + // Apple + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x78, 0x7c, 0x3e, 0x1f, 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, 0xc0, 0xf0, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3e, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 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, 0x00, 0x03, 0x0f, 0x1f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + }, + + // Windows + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xf8, 0xf8, 0x00, 0x80, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb8, 0x9f, 0x9f, 0x9f, 0x9f, 0x8f, 0x9f, 0x9f, 0x9f, 0x1f, 0x3f, 0x3f, + 0x07, 0xc0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 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, 0xe0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x03, 0xe0, + 0xfc, 0xfc, 0xf9, 0xf9, 0xf9, 0xf3, 0xf3, 0xf3, 0xfb, 0xfb, 0xf9, 0x19, 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, + 0x02, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x01, 0x00, 0x1e, 0x1f, + 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + }, + + // Code + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe0, 0xf0, 0x78, 0x3c, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, + 0xf8, 0xfc, 0x3f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3c, 0x78, 0xf0, 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, + 0x01, 0x03, 0x07, 0x0f, 0x3e, 0x3c, 0x38, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfc, 0x7e, 0x1f, 0x07, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x3c, 0x3e, 0x0f, 0x07, 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 + }, + + // Number + { + 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x1e, 0x1e, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1e, + 0x1e, 0x1e, 0xbe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1e, 0x1e, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x78, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x78, 0x78, + 0x78, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x78, 0x78, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, + 0xc0, 0xff, 0xff, 0xff, 0xff, 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 + + }, + + // Function + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xf0, + 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0x9f, 0x0f, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x80, 0xc0, 0xc0, 0x8f, 0x3f, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf8, 0xfc, 0xfe, 0x7f, 0x3f, 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, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3e, + 0x1e, 0x0c, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 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, + 0x78, 0xfc, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }, + + // Caps Lock + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xc0, 0xc0, 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, + 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 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, + 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0xe0, 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, 0x01, + 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 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 + } + }; + + // Layer images + oled_set_cursor(32, 0); + switch (get_highest_layer(layer_state)) { + case _MAC_DEFAULT : + oled_write_raw_P(logos[0], sizeof(logos[0])); + break; + case _WIN_DEFAULT : + oled_write_raw_P(logos[1], sizeof(logos[1])); + break; + case _MAC_CODE : + case _WIN_CODE : + oled_write_raw_P(logos[2], sizeof(logos[2])); + break; + case _MAC_NUM : + case _WIN_NUM : + oled_write_raw_P(logos[3], sizeof(logos[3])); + break; + case _MAC_FUNC : + case _WIN_FUNC : + oled_write_raw_P(logos[4], sizeof(logos[4])); + break; + } + + // Render Bongo Cat + render_animation(); + + return false; +} +#endif diff --git a/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/rules.mk new file mode 100644 index 00000000000..bcee933e75e --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottocmd/keymaps/scotto/rules.mk @@ -0,0 +1,2 @@ +WPM_ENABLE = yes +TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottocmd/readme.md b/keyboards/handwired/scottokeebs/scottocmd/readme.md new file mode 100644 index 00000000000..f5c5f3306c3 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottocmd/readme.md @@ -0,0 +1,27 @@ +# ScottoCMD + +![ScottoCMD](https://i.imgur.com/rxiMZNnh.jpg) + +A 40-key ortholinear keyboard with a 6.25u spacebar, 4 dedicated function keys and 0.96" 128x64 OLED display. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: ATmega32U4, 0.96" 128x64 I2C OLED +* Hardware Availability: [Amazon](https://amazon.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottocmd:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottocmd: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 (1,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/handwired/scottokeebs/scottocmd/rules.mk b/keyboards/handwired/scottokeebs/scottocmd/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottocmd/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/mode/m75h/m75h.c b/keyboards/handwired/scottokeebs/scottocmd/scottocmd.c similarity index 51% rename from keyboards/mode/m75h/m75h.c rename to keyboards/handwired/scottokeebs/scottocmd/scottocmd.c index 2f2bfbfa4bf..9027b500288 100644 --- a/keyboards/mode/m75h/m75h.c +++ b/keyboards/handwired/scottokeebs/scottocmd/scottocmd.c @@ -1,5 +1,5 @@ /* - Copyright 2020 Álvaro "Gondolindrim" Volpato +Copyright 2023 Joe Scotto This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -8,7 +8,7 @@ the Free Software Foundation, either version 2 of the License, or This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License @@ -17,6 +17,23 @@ along with this program. If not, see . #include "quantum.h" -void board_init(void) { - setPinInput(B10); +#ifdef OLED_ENABLE + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_90; // flips the display 180 degrees if offhand +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + // Default OLED code + led_t led_state = host_keyboard_led_state(); + oled_set_cursor(0,7); + oled_write_P(led_state.caps_lock ? PSTR(" Caps Lock "): PSTR(" ScottoCMD "), false); + + return false; } + +#endif \ No newline at end of file diff --git a/keyboards/handwired/sejin_eat1010r2/rules.mk b/keyboards/handwired/sejin_eat1010r2/rules.mk index a92b0993283..8b137891791 100644 --- a/keyboards/handwired/sejin_eat1010r2/rules.mk +++ b/keyboards/handwired/sejin_eat1010r2/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/handwired/selene/config.h b/keyboards/handwired/selene/config.h index 7ee210aa846..31c0cc59f75 100644 --- a/keyboards/handwired/selene/config.h +++ b/keyboards/handwired/selene/config.h @@ -16,7 +16,5 @@ #pragma once -#define RGBLED_NUM 50 - #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE diff --git a/keyboards/handwired/selene/info.json b/keyboards/handwired/selene/info.json index 24cb90487c4..b99e41bda58 100644 --- a/keyboards/handwired/selene/info.json +++ b/keyboards/handwired/selene/info.json @@ -8,6 +8,9 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 50 + }, "ws2812": { "pin": "A3" }, diff --git a/keyboards/handwired/sono1/stm32f103/rules.mk b/keyboards/handwired/sono1/stm32f103/rules.mk index a92b0993283..8b137891791 100644 --- a/keyboards/handwired/sono1/stm32f103/rules.mk +++ b/keyboards/handwired/sono1/stm32f103/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/handwired/split65/promicro/config.h b/keyboards/handwired/split65/promicro/config.h index b92456da981..f5c5ee3be29 100644 --- a/keyboards/handwired/split65/promicro/config.h +++ b/keyboards/handwired/split65/promicro/config.h @@ -15,8 +15,6 @@ */ #pragma once -#define MATRIX_IO_DELAY 5 - #define SELECT_SOFT_SERIAL_SPEED 1 // Feature diable options diff --git a/keyboards/handwired/split65/promicro/info.json b/keyboards/handwired/split65/promicro/info.json index e1540d99a2c..ea41cb3ac17 100644 --- a/keyboards/handwired/split65/promicro/info.json +++ b/keyboards/handwired/split65/promicro/info.json @@ -1,7 +1,8 @@ { "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"], - "rows": ["D4", "C6", "D7", "E6", "B4"] + "rows": ["D4", "C6", "D7", "E6", "B4"], + "io_delay": 5 }, "diode_direction": "COL2ROW", "split": { diff --git a/keyboards/handwired/split65/stm32/config.h b/keyboards/handwired/split65/stm32/config.h index 020e44f02ed..3d48891e7e7 100644 --- a/keyboards/handwired/split65/stm32/config.h +++ b/keyboards/handwired/split65/stm32/config.h @@ -21,8 +21,6 @@ #define AUDIO_PIN_ALT A4 #define AUDIO_PIN_ALT_AS_NEGATIVE -#define MATRIX_IO_DELAY 5 - #define SELECT_SOFT_SERIAL_SPEED 1 #define SERIAL_USART_DRIVER SD1 #define SERIAL_USART_TX_PAL_MODE 7 diff --git a/keyboards/handwired/split65/stm32/info.json b/keyboards/handwired/split65/stm32/info.json index b9956ed7abc..61aff0e7eab 100644 --- a/keyboards/handwired/split65/stm32/info.json +++ b/keyboards/handwired/split65/stm32/info.json @@ -1,7 +1,8 @@ { "matrix_pins": { "cols": ["A2", "A1", "A0", "B8", "B13", "B14", "B15", "B9"], - "rows": ["B5", "B4", "B3", "B2", "B1"] + "rows": ["B5", "B4", "B3", "B2", "B1"], + "io_delay": 5 }, "diode_direction": "COL2ROW", "split": { diff --git a/keyboards/handwired/splittest/bluepill/rules.mk b/keyboards/handwired/splittest/bluepill/rules.mk index a92b0993283..8b137891791 100644 --- a/keyboards/handwired/splittest/bluepill/rules.mk +++ b/keyboards/handwired/splittest/bluepill/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/handwired/splittest/config.h b/keyboards/handwired/splittest/config.h index c656f968153..ef6699d079c 100644 --- a/keyboards/handwired/splittest/config.h +++ b/keyboards/handwired/splittest/config.h @@ -34,7 +34,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 /* * Feature disable options diff --git a/keyboards/handwired/splittest/info.json b/keyboards/handwired/splittest/info.json index b301ffeaaf3..cb9c16e889c 100644 --- a/keyboards/handwired/splittest/info.json +++ b/keyboards/handwired/splittest/info.json @@ -9,6 +9,7 @@ "device_version": "1.0.0" }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "layouts": { diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c b/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c index 7b6a4c1e741..21ba0e5b3d5 100644 --- a/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c +++ b/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c @@ -62,19 +62,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______ ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/steamvan/rev1/config.h b/keyboards/handwired/steamvan/rev1/config.h index ffd061fa17e..28d368dab8f 100644 --- a/keyboards/handwired/steamvan/rev1/config.h +++ b/keyboards/handwired/steamvan/rev1/config.h @@ -36,7 +36,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM - #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/handwired/steamvan/rev1/info.json b/keyboards/handwired/steamvan/rev1/info.json index b76753f19f4..08a6cd06ceb 100644 --- a/keyboards/handwired/steamvan/rev1/info.json +++ b/keyboards/handwired/steamvan/rev1/info.json @@ -17,6 +17,9 @@ "pin": "B8", "breathing": true }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "A7", "driver": "spi" diff --git a/keyboards/handwired/swiftrax/bumblebee/config.h b/keyboards/handwired/swiftrax/bumblebee/config.h index 4fe6fb4428e..fa4c9291e74 100644 --- a/keyboards/handwired/swiftrax/bumblebee/config.h +++ b/keyboards/handwired/swiftrax/bumblebee/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once -/* RGB Indicators */ -#define RGBLED_NUM 3 - /* Solenid Pin */ #define SOLENOID_PIN D2 diff --git a/keyboards/handwired/swiftrax/bumblebee/info.json b/keyboards/handwired/swiftrax/bumblebee/info.json index 9a46cb98495..e2cad64ad8b 100644 --- a/keyboards/handwired/swiftrax/bumblebee/info.json +++ b/keyboards/handwired/swiftrax/bumblebee/info.json @@ -8,6 +8,9 @@ "pid": "0xE881", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 3 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/handwired/swiftrax/glacier/config.h b/keyboards/handwired/swiftrax/glacier/config.h index 4bff062d6ce..b0fe39ae460 100644 --- a/keyboards/handwired/swiftrax/glacier/config.h +++ b/keyboards/handwired/swiftrax/glacier/config.h @@ -21,7 +21,6 @@ along with this program. If not, see . #define DYNAMIC_KEYMAP_LAYER_COUNT 3 /* RGB */ -#define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/swiftrax/glacier/info.json b/keyboards/handwired/swiftrax/glacier/info.json index 3aed06628fa..8898503eb71 100644 --- a/keyboards/handwired/swiftrax/glacier/info.json +++ b/keyboards/handwired/swiftrax/glacier/info.json @@ -8,6 +8,9 @@ "pid": "0xE890", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/handwired/swiftrax/walter/config.h b/keyboards/handwired/swiftrax/walter/config.h index 5fdda201e0c..daf96d9c9da 100644 --- a/keyboards/handwired/swiftrax/walter/config.h +++ b/keyboards/handwired/swiftrax/walter/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 24 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/swiftrax/walter/info.json b/keyboards/handwired/swiftrax/walter/info.json index a52a0470e70..e7e72a5707b 100644 --- a/keyboards/handwired/swiftrax/walter/info.json +++ b/keyboards/handwired/swiftrax/walter/info.json @@ -8,6 +8,9 @@ "pid": "0xE964", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 24 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/handwired/symmetry60/config.h b/keyboards/handwired/symmetry60/config.h index c92944a48fa..3ae1aa8032a 100644 --- a/keyboards/handwired/symmetry60/config.h +++ b/keyboards/handwired/symmetry60/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/handwired/symmetry60/info.json b/keyboards/handwired/symmetry60/info.json index 54d58d8b7f2..88f6f1c913d 100644 --- a/keyboards/handwired/symmetry60/info.json +++ b/keyboards/handwired/symmetry60/info.json @@ -8,6 +8,11 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/handwired/t111/info.json b/keyboards/handwired/t111/info.json index f4ecf44eabc..f25b0790988 100644 --- a/keyboards/handwired/t111/info.json +++ b/keyboards/handwired/t111/info.json @@ -96,7 +96,7 @@ {"matrix": [2, 10], "x": 10.75, "y": 3.5}, {"matrix": [3, 10], "x": 11.75, "y": 3.5}, {"matrix": [4, 10], "x": 12.75, "y": 3.5}, - {"matrix": [5, 10], "x": 13.75, "y": 2.5, "w": 1.5, "h": 2}, + {"matrix": [5, 10], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, {"matrix": [6, 10], "x": 15.5, "y": 3.5}, {"matrix": [7, 10], "x": 16.5, "y": 3.5}, diff --git a/keyboards/handwired/t111/rules.mk b/keyboards/handwired/t111/rules.mk index 3939229475d..2542c545bff 100644 --- a/keyboards/handwired/t111/rules.mk +++ b/keyboards/handwired/t111/rules.mk @@ -1,5 +1,3 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable diff --git a/keyboards/handwired/tennie/config.h b/keyboards/handwired/tennie/config.h index c1acec70015..b54ad5f3ef8 100644 --- a/keyboards/handwired/tennie/config.h +++ b/keyboards/handwired/tennie/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once #define RGBW - #define RGBLED_NUM 1 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/tennie/info.json b/keyboards/handwired/tennie/info.json index a48d64f730c..241bacd95fb 100644 --- a/keyboards/handwired/tennie/info.json +++ b/keyboards/handwired/tennie/info.json @@ -8,6 +8,11 @@ "pid": "0x1313", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/handwired/terminus_mini/config.h b/keyboards/handwired/terminus_mini/config.h index 50ee7eac613..6243804dc58 100644 --- a/keyboards/handwired/terminus_mini/config.h +++ b/keyboards/handwired/terminus_mini/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once -//define tapping-toggle count -#define TAPPING_TOGGLE 1 - -//define maximum duration of hold required to register a tap vs hold default is 200 -#define TAPPING_TERM 150 //reduce time required to register a held key - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/handwired/terminus_mini/info.json b/keyboards/handwired/terminus_mini/info.json index 6948b13edc7..5593be8bb7a 100644 --- a/keyboards/handwired/terminus_mini/info.json +++ b/keyboards/handwired/terminus_mini/info.json @@ -8,6 +8,10 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "tapping": { + "term": 150, + "toggle": 1 + }, "matrix_pins": { "cols": ["B0", "D0", "D5", "B6", "D4", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], "rows": ["B5", "B4", "D7", "D6"] diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h index 9ed3bc9702d..af4b3c0ac0e 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h @@ -18,10 +18,6 @@ along with this program. If not, see . #pragma once -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 20 -#define RGBLIGHT_SPLIT - #define AUDIO_PIN C6 #define EE_HANDS diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json index 3ea61f0a1a4..92e0baace1f 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/info.json @@ -17,6 +17,7 @@ "pin": "D3" }, "rgblight": { + "led_count": 20, "max_brightness": 80, "split_count": [10, 10] }, diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h index 9c02cc3b289..3a7f97f8d2f 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h @@ -29,9 +29,6 @@ along with this program. If not, see . // #define WS2812_DMA_STREAM STM32_DMA1_STREAM3 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -#define RGBLED_NUM 20 -#define RGBLIGHT_SPLIT - #define DEBUG_LED_PIN C13 /* Audio config */ diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json index 7e9f90fb1f0..62fa261ac72 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/info.json @@ -6,6 +6,7 @@ }, "diode_direction": "COL2ROW", "rgblight": { + "led_count": 20, "split_count": [10, 10] }, "ws2812": { diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index 532ca017fba..2ad18267ad5 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -31,10 +31,6 @@ along with this program. If not, see . #define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_PWM_TARGET_PERIOD 800000 - -#define RGBLED_NUM 57 -#define RGBLIGHT_SPLIT - #define DEBUG_LED_PIN C13 /* Audio config */ diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json index ca4f930cbf5..3f0c316928b 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/info.json @@ -6,8 +6,12 @@ }, "diode_direction": "COL2ROW", "rgblight": { + "led_count": 57, "split_count": [26, 31] }, + "build": { + "debounce_type": "asym_eager_defer_pk" + }, "ws2812": { "pin": "A1", "driver": "pwm" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk index cd07b8d49f6..b466a6234ad 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk @@ -5,5 +5,3 @@ MOUSE_SHARED_EP = yes EEPROM_DRIVER = spi SERIAL_DRIVER = usart AUDIO_DRIVER = pwm_hardware - -DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h index c45500050ae..769a348e652 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h @@ -18,9 +18,6 @@ along with this program. If not, see . #pragma once -// WS2812 RGB LED strip input and number of LEDs -#define RGBLED_NUM 20 -#define RGBLIGHT_SPLIT #define RGBLIGHT_LIMIT_VAL 80 #define DEBUG_LED_PIN D6 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json index 725c519c0ec..a131ac085bd 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/info.json @@ -17,6 +17,7 @@ "pin": "E7" }, "rgblight": { + "led_count": 20, "max_brightness": 80, "split_count": [10, 10] }, diff --git a/keyboards/handwired/traveller/info.json b/keyboards/handwired/traveller/info.json index 91fe9e1cf44..ea1b3e35305 100644 --- a/keyboards/handwired/traveller/info.json +++ b/keyboards/handwired/traveller/info.json @@ -8,6 +8,10 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 1 + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/handwired/tritium_numpad/config.h b/keyboards/handwired/tritium_numpad/config.h index 838776b5eb4..b9449c4714b 100644 --- a/keyboards/handwired/tritium_numpad/config.h +++ b/keyboards/handwired/tritium_numpad/config.h @@ -22,10 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Underlight configuration - */ -#define RGBLED_NUM 4 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/handwired/tritium_numpad/info.json b/keyboards/handwired/tritium_numpad/info.json index 8f56d909474..2e2fc6c81f6 100644 --- a/keyboards/handwired/tritium_numpad/info.json +++ b/keyboards/handwired/tritium_numpad/info.json @@ -21,6 +21,9 @@ "num_lock": "D5", "on_state": 0 }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/handwired/tsubasa/config.h b/keyboards/handwired/tsubasa/config.h index fee26e10350..52087ea54b5 100644 --- a/keyboards/handwired/tsubasa/config.h +++ b/keyboards/handwired/tsubasa/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once #define MASTER_RIGHT -# define RGBLED_NUM 12 -# define RGBLIGHT_SPLIT -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 1 -# define RGBLIGHT_VAL_STEP 1 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/tsubasa/info.json b/keyboards/handwired/tsubasa/info.json index e1966467597..f5e2ecd126e 100644 --- a/keyboards/handwired/tsubasa/info.json +++ b/keyboards/handwired/tsubasa/info.json @@ -9,6 +9,9 @@ "device_version": "1.0.0" }, "rgblight": { + "saturation_steps": 1, + "brightness_steps": 1, + "led_count": 12, "split_count": [6, 6] }, "ws2812": { @@ -62,21 +65,21 @@ {"matrix": [6, 3], "x": 12, "y": 1}, {"matrix": [6, 4], "x": 13, "y": 1}, {"matrix": [6, 5], "x": 14, "y": 1}, + {"matrix": [8, 5], "x": 15, "y": 1}, - {"matrix": [8, 5], "x": 0.25, "y": 2}, - {"matrix": [2, 0], "x": 1.25, "y": 2}, - {"matrix": [2, 1], "x": 2.25, "y": 2}, - {"matrix": [2, 2], "x": 3.25, "y": 2}, - {"matrix": [2, 3], "x": 4.25, "y": 2}, - {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 0], "x": 0.25, "y": 2}, + {"matrix": [2, 1], "x": 1.25, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2}, + {"matrix": [2, 3], "x": 3.25, "y": 2}, + {"matrix": [2, 4], "x": 4.25, "y": 2}, + {"matrix": [2, 5], "x": 5.25, "y": 2}, - {"matrix": [2, 5], "x": 9.25, "y": 2}, - {"matrix": [7, 0], "x": 10.25, "y": 2}, - {"matrix": [7, 1], "x": 11.25, "y": 2}, - {"matrix": [7, 2], "x": 12.25, "y": 2}, - {"matrix": [7, 3], "x": 13.25, "y": 2}, - {"matrix": [7, 4], "x": 14.25, "y": 2}, - {"matrix": [7, 5], "x": 15, "y": 1}, + {"matrix": [7, 0], "x": 9.25, "y": 2}, + {"matrix": [7, 1], "x": 10.25, "y": 2}, + {"matrix": [7, 2], "x": 11.25, "y": 2}, + {"matrix": [7, 3], "x": 12.25, "y": 2}, + {"matrix": [7, 4], "x": 13.25, "y": 2}, + {"matrix": [7, 5], "x": 14.25, "y": 2}, {"matrix": [3, 0], "x": 0.75, "y": 3}, {"matrix": [3, 1], "x": 1.75, "y": 3}, diff --git a/keyboards/handwired/twadlee/tp69/rules.mk b/keyboards/handwired/twadlee/tp69/rules.mk index b1b6b8e616d..b73afc0e44a 100644 --- a/keyboards/handwired/twadlee/tp69/rules.mk +++ b/keyboards/handwired/twadlee/tp69/rules.mk @@ -14,5 +14,3 @@ PS2_MOUSE_ENABLE = no USE_CHIBIOS_CONTRIB = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/handwired/twig/twig50/config.h b/keyboards/handwired/twig/twig50/config.h index d3d188ef425..e4347a75b52 100644 --- a/keyboards/handwired/twig/twig50/config.h +++ b/keyboards/handwired/twig/twig50/config.h @@ -3,8 +3,6 @@ #pragma once -#define TAPPING_TERM 150 - #ifdef AUDIO_ENABLE #define AUDIO_PIN A5 #define AUDIO_PIN_ALT A4 diff --git a/keyboards/handwired/twig/twig50/info.json b/keyboards/handwired/twig/twig50/info.json index c32734cecb4..24eb51d03c1 100644 --- a/keyboards/handwired/twig/twig50/info.json +++ b/keyboards/handwired/twig/twig50/info.json @@ -9,6 +9,9 @@ "device_version": "0.2.1", "force_nkro": true }, + "tapping": { + "term": 150 + }, "matrix_pins": { "cols": ["A2", "A1", "A0", "B8", "B13", "B14", "B15", "B9", "B10", "B11", "B3", "B2", "B1", "B0"], "rows": ["B7", "B6", "B5", "B4"] diff --git a/keyboards/handwired/unk/rev1/config.h b/keyboards/handwired/unk/rev1/config.h index de1208a7eca..2a7f301a6a9 100644 --- a/keyboards/handwired/unk/rev1/config.h +++ b/keyboards/handwired/unk/rev1/config.h @@ -25,8 +25,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 12 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/handwired/unk/rev1/info.json b/keyboards/handwired/unk/rev1/info.json index 162faca32cb..171ae7bb027 100644 --- a/keyboards/handwired/unk/rev1/info.json +++ b/keyboards/handwired/unk/rev1/info.json @@ -8,6 +8,9 @@ "pid": "0x3060", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/handwired/uthol/rev2/config.h b/keyboards/handwired/uthol/rev2/config.h index bf9b590421f..f4c4fda7cf6 100644 --- a/keyboards/handwired/uthol/rev2/config.h +++ b/keyboards/handwired/uthol/rev2/config.h @@ -18,5 +18,4 @@ #pragma once //RGB Stuff -#define RGBLED_NUM 39 #define RGBLIGHT_DEFAULT_HUE 201 diff --git a/keyboards/handwired/uthol/rev2/info.json b/keyboards/handwired/uthol/rev2/info.json index 7c46269579a..89515a8fefb 100644 --- a/keyboards/handwired/uthol/rev2/info.json +++ b/keyboards/handwired/uthol/rev2/info.json @@ -3,6 +3,9 @@ "usb": { "device_version": "0.0.2" }, + "rgblight": { + "led_count": 39 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/handwired/uthol/rev3/config.h b/keyboards/handwired/uthol/rev3/config.h index dd7ef6a5a91..4e58bd9da40 100644 --- a/keyboards/handwired/uthol/rev3/config.h +++ b/keyboards/handwired/uthol/rev3/config.h @@ -31,11 +31,9 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAPPING_TERM 500 #define PERMISSIVE_HOLD // RGB Stuff -#define RGBLED_NUM 39 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/handwired/uthol/rev3/info.json b/keyboards/handwired/uthol/rev3/info.json index 5ba12dc8464..74d26c15a5f 100644 --- a/keyboards/handwired/uthol/rev3/info.json +++ b/keyboards/handwired/uthol/rev3/info.json @@ -3,6 +3,12 @@ "usb": { "device_version": "0.0.3" }, + "rgblight": { + "led_count": 39 + }, + "tapping": { + "term": 500 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/handwired/xealous/rev1/info.json b/keyboards/handwired/xealous/rev1/info.json index e2334043472..b8b45e5ee14 100644 --- a/keyboards/handwired/xealous/rev1/info.json +++ b/keyboards/handwired/xealous/rev1/info.json @@ -9,6 +9,9 @@ "device_version": "0.0.1", "force_nkro": true }, + "build": { + "debounce_type": "sym_eager_pk" + }, "matrix_pins": { "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"], "rows": ["B5", "B4", "E6", "D7", "D4"] diff --git a/keyboards/handwired/xealous/rules.mk b/keyboards/handwired/xealous/rules.mk index a9391e9f567..aff4db8cfd7 100644 --- a/keyboards/handwired/xealous/rules.mk +++ b/keyboards/handwired/xealous/rules.mk @@ -13,6 +13,5 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SPLIT_KEYBOARD = yes # Use shared split_common code SRC += matrix.c -DEBOUNCE_TYPE = sym_eager_pk DEFAULT_FOLDER = handwired/xealous/rev1 diff --git a/keyboards/handwired/z150/rules.mk b/keyboards/handwired/z150/rules.mk index 8e7bef8b5c8..421d72570ef 100644 --- a/keyboards/handwired/z150/rules.mk +++ b/keyboards/handwired/z150/rules.mk @@ -1,5 +1,3 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable diff --git a/keyboards/hazel/bad_wings/keymaps/miketronic/config.h b/keyboards/hazel/bad_wings/keymaps/miketronic/config.h new file mode 100644 index 00000000000..1f5c059c004 --- /dev/null +++ b/keyboards/hazel/bad_wings/keymaps/miketronic/config.h @@ -0,0 +1,16 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once + +# define TAPPING_TERM 160 +# define TAPPING_TERM_PER_KEY +# define HOLD_ON_OTHER_KEY_PRESS +# define QUICK_TAP_TERM TAPPING_TERM / 2 +# define QUICK_TAP_TERM_PER_KEY + +# define CIRQUE_PINNACLE_TAP_ENABLE +# define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE +# define CIRQUE_PINNACLE_ATTENUATION_4X +# define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_RELATIVE_MODE +//# define CIRQUE_DEVICE_GESTURES_SCROLL_ENABLE diff --git a/keyboards/hazel/bad_wings/keymaps/miketronic/keymap.c b/keyboards/hazel/bad_wings/keymaps/miketronic/keymap.c new file mode 100644 index 00000000000..3ebcc79fded --- /dev/null +++ b/keyboards/hazel/bad_wings/keymaps/miketronic/keymap.c @@ -0,0 +1,258 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#include "miketronic.h" + + +/* +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, 1, 2, 3); +} + + + [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, \ + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \ + KC_Z, LGUI_T(KC_X), LALT_T(KC_C), KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \ + KC_LCTL, OSL(1), OSM(MOD_LSFT), KC_SPC, LT(2, KC_BSPC), KC_ENT + ), + [1] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RBRC, KC_RCBR, KC_RPRN, KC_RABK, KC_NO, \ + KC_GRV, KC_TILD, KC_UNDS, KC_EQL, KC_NO, KC_LBRC, KC_LCBR, KC_LPRN, KC_LABK, KC_BACKSLASH, \ + KC_NO, KC_NO, KC_PLUS, KC_MINS, KC_NO, KC_NO, KC_NO, KC_COLN, KC_DOT, KC_SCLN, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PIPE, KC_NO, \ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOT, KC_NO, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_split_3x5_3( + KC_ESC, KC_F1, KC_F4, KC_F7, KC_F10, KC_NO, KC_HOME, KC_UP, KC_END, KC_BSPC, \ + KC_TAB, KC_F2, KC_F5, KC_F8, KC_F11, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, \ + KC_NO, KC_F3, KC_F6, KC_F9, KC_F12, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +*/ + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* WORKMAN + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ Q │ D │ R │ W │ B │ │ J │ F │ U │ P │ BSPC│ + * │ ESC │ │ │ │ SYM │ │ SYM │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤ + * │ A │ S │ H ┃ T ┃ G │ │ Y ┃ N ┃ E │ O │ I │ + * │SHIFT│ │ ┃ EX ┃ │ │ ┃ ┃ │ │ │ + * ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤ + * │ Z │ X │ M │ C │ V │ │ K │ L │ SPC │ SPC │ENTER│ + * │ FN │ CTRL│ OS │ ALT │LOWER│ │RAISE│ │ , │ . │ │ + * └─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┘ + * │OSM │SPACE│LOWER│ │RAISE│ENTER│COPY │ + * │SHIFT│ │ │ │ │ │PASTE│ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ +*/ + [_WM] = LAYOUT_split_3x5_3_wrapper ( + _____________WORKMAN_310_001_L_____________, _____________WORKMAN_310_001_R_____________, + _____________WORKMAN_310_002_L_____________, _____________WORKMAN_310_002_R_____________, + _____________WORKMAN_310_003_L_____________, _____________WORKMAN_310_003_R_____________, + _________3KEY_LEFT___________, _________3KEY_RIGHT__________ + ), + + [_QW] = LAYOUT_split_3x5_3_wrapper ( + _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, + _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, + _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, + _________3KEY_LEFT___________, _________3KEY_RIGHT__________ + ), + + + + /* LOWER + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ () │ [] │ /\ │ │ │ │ │ 7 │ 8 │ 9 │ │ + * │ │ <> │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤ + * │ @ # │ & % │ ┃ ┃ │ │ . ┃ 4 ┃ 5 │ 6 │ UP │ + * │ │ │ ┃ ┃ │ │ENTER┃ ┃ │ │RIGHT│ + * ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤ + * │ │ │ │ │ │ │ 0 │ 1 │ 2 │ 3 │ DOWN│ + * │ │ │ │ │LOWER│ │ │ │ 0 │ │ LEFT│ + * └─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┘ + * │OSM │SPACE│LOWER│ │RAISE│ENTER│COPY │ + * │SHIFT│ │ │ │ │ │PASTE│ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ +*/ + [_LOWER] = LAYOUT_split_3x5_3_wrapper ( + _______________LOWER_310_L1________________, _______________LOWER_310_R1________________, + _______________LOWER_310_L2________________, _______________LOWER_310_R2________________, + _______________LOWER_310_L3________________, _______________LOWER_310_R3________________, + _________3KEY_LEFT___________, _________3KEY_RIGHT__________ + ), + + + + /* RAISE + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ BOOT│DEBUG│ │ │ MAKE│ │ │ F7 │ F8 │ F9 │ F10 │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤ + * │ │ RGB │ RGB ┃ RGB ┃ RGB │ │ _ ┃ F4 ┃ F5 │ F6 │ F11 │ + * │ │ TOG │ MOD ┃ HUI ┃ HUD │ │ - ┃ ┃ │ │ │ + * ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤ + * │ │ RGB │ RGB │ RGB │ RGB │ │ │ F1 │ F2 │ F3 │ F12 │ + * │ │ SAI │ SAD │ VAI │ VAD │ │RAISE│ │ │ │ │ + * └─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┘ + * │OSM │SPACE│LOWER│ │RAISE│ENTER│COPY │ + * │SHIFT│ │ │ │ │ │PASTE│ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ +*/ + [_RAISE] = LAYOUT_split_3x5_3_wrapper ( + _______________RAISE_310_L1________________, _______________RAISE_310_R1________________, + _______________RAISE_310_L2________________, _______________RAISE_310_R2________________, + _______________RAISE_310_L3________________, _______________RAISE_310_R3________________, + _________3KEY_LEFT___________, _________3KEY_RIGHT__________ + ), + + + + /* EXTRAS + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ ! │ │ │ │ │ │ │ /\ | () | [] | ; │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤ + * │ │ │ ┃EXTRA┃ │ │ ┃ @ # ┃ & % | │ ' │ + * │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ + * ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ , │ . │ ? │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┘ + * │OSM │SPACE│LOWER│ │RAISE│ENTER│COPY │ + * │SHIFT│ │ │ │ │ │PASTE│ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ +*/ + [_EX] = LAYOUT_split_3x5_3_wrapper ( + ______________EXTRAS_310_L1________________, ______________EXTRAS_310_R1________________, + ______________EXTRAS_310_L2________________, ______________EXTRAS_310_R2________________, + ______________EXTRAS_310_L3________________, ______________EXTRAS_310_R3________________, + _________3KEY_LEFT___________, _________3KEY_RIGHT__________ + ), + + + + /* FUNCTION + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │COPY │CLIP │ SS │ │ │ │ │ /\ │ UP │ │ DEL │ + * │PASTE│ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤ + * │ TAB │ M05 │ M06 ┃ M07 ┃ M08 │ │ ┃ LEFT┃ DOWN│RIGHT│ UP │ + * │ │ │ ┃ ┃ │ │ ┃ ┃ │ │RIGHT│ + * ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤ + * │ │ M01 │ M02 │ M03 │ M04 │ │ │ │ , │ . │DOWN │ + * │ FN │ │ │ │ │ │ │ │ │ │LEFT │ + * └─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┘ + * │OSM │SPACE│LOWER│ │RAISE│ENTER│COPY │ + * │SHIFT│ │ │ │ │ │PASTE│ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ +*/ + [_FN] = LAYOUT_split_3x5_3_wrapper ( + _____________FUNCTION_310_L1_______________, _____________FUNCTION_310_R1_______________, + _____________FUNCTION_310_L2_______________, _____________FUNCTION_310_R2_______________, + _____________FUNCTION_310_L3_______________, _____________FUNCTION_310_R3_______________, + _________3KEY_LEFT___________, _________3KEY_RIGHT__________ + ), + + + + /* SYMBOLS + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ $ │ ^ │ < │ > │ │ │ │ | │ [ │ ] │ - │ + * │ │ │ │ │ SYMB│ │ SYMB│ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤ + * │ % │ : │ ; ┃ + ┃ = │ │ ┃ ┃ ( │ ) │ _ │ + * │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ + * ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤ + * │ & │ ' │ " │ * │ # │ │ ! │ ? │ / │ \ │ @ │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┘ + * │OSM │SPACE│LOWER│ │RAISE│ENTER│COPY │ + * │SHIFT│ │ │ │ │ │PASTE│ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ +*/ + [_SYMB] = LAYOUT_split_3x5_3_wrapper ( + KC_DLR, KC_CIRC, KC_LABK, KC_RABK, XXXX, XXXX, KC_PIPE, KC_LBRC, KC_RBRC, KC_MINS, + KC_PERC, KC_COLN, KC_SCLN, KC_PLUS, KC_EQL, XXXX, XXXX, KC_LPRN, KC_RPRN, KC_UNDS, + KC_AMPR, KC_QUOT, KC_DQUO, KC_ASTR, KC_HASH, KC_EXLM, KC_QUES, KC_SLSH, KC_BSLS, KC_AT, + _________3KEY_LEFT___________, _________3KEY_RIGHT__________ + ), + +}; + + +bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SFT_T(KC_A): + // Do not force the mod-tap key press to be handled as a modifier + // if any other key was pressed while the mod-tap key is held down. + return false; + case TEX: + return false; + case CTRLX: + return false; + case FNZ: + return false; + case MGUI: + return false; + case VLOWER: + return false; + case KRAISE: + return false; + default: + // Force the dual-role key press to be handled as a modifier if any + // other key was pressed while the mod-tap key is held down. + return true; + } +} + + +#ifdef AUDIO_ENABLE +float leader_start_song[][2] = SONG(ONE_UP_SOUND); +float leader_succeed_song[][2] = SONG(ALL_STAR); +float leader_fail_song[][2] = SONG(RICK_ROLL); +#endif + +void matrix_scan_user(void); + +void leader_start_user(void) { +#ifdef AUDIO_ENABLE + PLAY_SONG(leader_start_song); +#endif +} + +bool did_leader_succeed; + +void leader_end_user(void) { + did_leader_succeed = false; + + if (leader_sequence_one_key(KC_E)) { + SEND_STRING(SS_LCTL(SS_LSFT("t"))); + did_leader_succeed = true; + } else if (leader_sequence_two_keys(KC_E, KC_D)) { + SEND_STRING(SS_LGUI("r") "cmd\n" SS_LCTL("c")); + did_leader_succeed = true; + } else if (leader_sequence_two_keys(KC_A, KC_T)) { + SEND_STRING("@guidehouse.com"); + did_leader_succeed = true; + } + + +#ifdef AUDIO_ENABLE + if (did_leader_succeed) { + PLAY_SONG(leader_succeed_song); + } else { + PLAY_SONG(leader_fail_song); + } +#endif +} + diff --git a/keyboards/hazel/bad_wings/keymaps/miketronic/rules.mk b/keyboards/hazel/bad_wings/keymaps/miketronic/rules.mk new file mode 100644 index 00000000000..72c338c1574 --- /dev/null +++ b/keyboards/hazel/bad_wings/keymaps/miketronic/rules.mk @@ -0,0 +1,31 @@ +# Common feature for all keyboards +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +EXTRAKEY_ENABLE = yes # Audio control and System control +TAP_DANCE_ENABLE = yes # Tap Dance keys +NKRO_ENABLE = yes # Enable N-Key Rollover +MACROS_ENABLED = yes + +# Keyboard specific +MOUSEKEY_ENABLE = yes # Mouse keys +CAPS_WORD_ENABLE = yes +KEY_OVERRIDE_ENABLE = yes +LEADER_ENABLE = yes + + + LTO_ENABLE = no # Enabled this causes longer build time, but smaller file. + AUTO_SHIFT_ENABLE = no + UNICODE_ENABLE = no # Unicode + CONSOLE_ENABLE = no # Console for debug + COMMAND_ENABLE = no # Commands for debug and configuration + RGBLIGHT_ENABLE = no + BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality + SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend (it uses the same timer as BACKLIGHT_ENABLE) + AUDIO_ENABLE = no # Audio output on port C6 + MIDI_ENABLE = no # MIDI support + BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID + GRAVE_ESC_ENABLE = no + SPACE_CADET_ENABLE = no + COMBO_ENABLE = no + OLED_ENABLE = no + ENCODER_ENABLE = no + ENCODER_MAP_ENABLE = no diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h index cf4e9f4ffea..f5eb4c13e10 100644 --- a/keyboards/helix/pico/config.h +++ b/keyboards/helix/pico/config.h @@ -20,7 +20,6 @@ along with this program. If not, see . #pragma once #define QUICK_TAP_TERM 0 -#define TAPPING_TERM 100 #define SERIAL_SLAVE_BUFFER_LENGTH ((MATRIX_ROWS)/2) #define SERIAL_MASTER_BUFFER_LENGTH ((MATRIX_ROWS)/2) @@ -48,8 +47,6 @@ along with this program. If not, see . #define AUDIO_PIN B5 #endif -//#define RGBLED_NUM 12 // Number of LEDs. see ./keymaps/default/config.h - // Helix keyboard RGB LED support // see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes #ifdef RGBLED_BACK @@ -73,8 +70,6 @@ along with this program. If not, see . #endif #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for Helix keyboard diff --git a/keyboards/helix/pico/info.json b/keyboards/helix/pico/info.json index 1147d09f372..34305944bd1 100644 --- a/keyboards/helix/pico/info.json +++ b/keyboards/helix/pico/info.json @@ -11,6 +11,12 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 100 + }, + "rgblight": { + "hue_steps": 10 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h index 1d716367571..212d0e1e384 100644 --- a/keyboards/helix/rev2/config.h +++ b/keyboards/helix/rev2/config.h @@ -20,7 +20,6 @@ along with this program. If not, see . #pragma once #define QUICK_TAP_TERM 0 -#define TAPPING_TERM 100 #define SPLIT_LAYER_STATE_ENABLE #define SPLIT_LED_STATE_ENABLE @@ -55,8 +54,6 @@ along with this program. If not, see . #endif #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for Helix keyboard diff --git a/keyboards/helix/rev2/info.json b/keyboards/helix/rev2/info.json index 105b05e6e3b..0cdc10815dc 100644 --- a/keyboards/helix/rev2/info.json +++ b/keyboards/helix/rev2/info.json @@ -16,6 +16,12 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 100 + }, + "rgblight": { + "hue_steps": 10 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c index 14e3e5533b9..38a91c1639f 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c +++ b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c @@ -5,13 +5,9 @@ #ifdef OLED_ENABLE void render_host_led_state(void) { char led_state_str[24]; - uint8_t leds = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); - bool is_num_lock_enabled = leds & (1 << USB_LED_NUM_LOCK); - bool is_caps_lock_enabled = leds & (1 << USB_LED_CAPS_LOCK); - bool is_scroll_lock_enabled = leds & (1 << USB_LED_SCROLL_LOCK); - - snprintf(led_state_str, sizeof(led_state_str), "NL:%s CL:%s SL:%s", is_num_lock_enabled ? "on" : "- ", is_caps_lock_enabled ? "on" : "- ", is_scroll_lock_enabled ? "on" : "- "); + snprintf(led_state_str, sizeof(led_state_str), "NL:%s CL:%s SL:%s", led_state.num_lock ? "on" : "- ", led_state.caps_lock ? "on" : "- ", led_state.scroll_lock ? "on" : "- "); oled_write(led_state_str, false); } diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c index 32b446c498d..ff7b174f5bd 100644 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c @@ -205,7 +205,7 @@ const char code_to_name[60] = { static inline void set_keylog(uint16_t keycode, keyrecord_t *record) { char name = ' '; - uint8_t leds = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); if (keycode < 60) { @@ -218,9 +218,9 @@ static inline void set_keylog(uint16_t keycode, keyrecord_t *record) record->event.key.col, keycode, name, - (leds & (1<. /* Dip switch on matrix grid */ #define DIP_SWITCH_MATRIX_GRID { {0,6}, {1,6}, {5,6}, {6,6} } -#define RGBLED_NUM 50 // Number of LEDs - #ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_LED_COUNT RGBLED_NUM + #define RGB_MATRIX_LED_COUNT 50 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended @@ -57,18 +55,9 @@ along with this program. If not, see . // # 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 #endif #ifdef RGBLIGHT_ENABLE - #define RGBLIGHT_SPLIT -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/helix/rev3_4rows/info.json b/keyboards/helix/rev3_4rows/info.json index ed2c1544b85..7c8042bb5e8 100644 --- a/keyboards/helix/rev3_4rows/info.json +++ b/keyboards/helix/rev3_4rows/info.json @@ -9,7 +9,10 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "encoder": { "rotary": [ @@ -23,6 +26,7 @@ "pin": "D3" }, "rgblight": { + "led_count": 50, "max_brightness": 120, "split_count": [25, 25] }, diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h index 716bdf162fc..658b3bcd4c1 100644 --- a/keyboards/helix/rev3_5rows/config.h +++ b/keyboards/helix/rev3_5rows/config.h @@ -46,10 +46,8 @@ along with this program. If not, see . /* Dip switch on matrix grid */ #define DIP_SWITCH_MATRIX_GRID { {0,6}, {1,6}, {5,6}, {6,6} } -#define RGBLED_NUM 64 // Number of LEDs - #ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_LED_COUNT RGBLED_NUM + #define RGB_MATRIX_LED_COUNT 64 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended @@ -57,18 +55,9 @@ along with this program. If not, see . // # 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 #endif #ifdef RGBLIGHT_ENABLE - #define RGBLIGHT_SPLIT -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/helix/rev3_5rows/info.json b/keyboards/helix/rev3_5rows/info.json index bdb5bfaf6b2..12a4b618e20 100644 --- a/keyboards/helix/rev3_5rows/info.json +++ b/keyboards/helix/rev3_5rows/info.json @@ -9,7 +9,10 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "encoder": { "rotary": [ @@ -23,6 +26,7 @@ "pin": "D3" }, "rgblight": { + "led_count": 64, "max_brightness": 120, "split_count": [32, 32] }, diff --git a/keyboards/hfdkb/ac001/config.h b/keyboards/hfdkb/ac001/config.h index 899a134762c..6c0c2a2cf61 100644 --- a/keyboards/hfdkb/ac001/config.h +++ b/keyboards/hfdkb/ac001/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 5 - /* ws2812 RGB LED */ #define RGB_MATRIX_LED_COUNT 5 diff --git a/keyboards/hfdkb/ac001/info.json b/keyboards/hfdkb/ac001/info.json index 2efee90deba..229bee6ff45 100644 --- a/keyboards/hfdkb/ac001/info.json +++ b/keyboards/hfdkb/ac001/info.json @@ -20,6 +20,9 @@ "ws2812": { "pin": "A1" }, + "qmk": { + "tap_keycode_delay": 5 + }, "processor": "WB32FQ95", "bootloader": "wb32-dfu", "layouts": { diff --git a/keyboards/hhkb/ansi/config.h b/keyboards/hhkb/ansi/config.h index 723fe29479a..7fe9f1f9dbc 100644 --- a/keyboards/hhkb/ansi/config.h +++ b/keyboards/hhkb/ansi/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . #define MATRIX_ROWS 8 #define MATRIX_COLS 8 -#define TAPPING_TERM 200 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/hhkb/jp/config.h b/keyboards/hhkb/jp/config.h index 9de64724b78..88b9c9b6cc8 100644 --- a/keyboards/hhkb/jp/config.h +++ b/keyboards/hhkb/jp/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . #define MATRIX_ROWS 16 #define MATRIX_COLS 8 -#define TAPPING_TERM 200 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/hidtech/bastyl/config.h b/keyboards/hidtech/bastyl/config.h index 48ac76c74b7..b544871c2ee 100644 --- a/keyboards/hidtech/bastyl/config.h +++ b/keyboards/hidtech/bastyl/config.h @@ -18,8 +18,6 @@ #pragma once -#define RGBLED_NUM 38 -#define RGBLIGHT_SPLIT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hidtech/bastyl/info.json b/keyboards/hidtech/bastyl/info.json index 02b8854e360..5d313e7186e 100644 --- a/keyboards/hidtech/bastyl/info.json +++ b/keyboards/hidtech/bastyl/info.json @@ -19,6 +19,10 @@ "ws2812": { "pin": "D2" }, + "rgblight": { + "led_count": 38, + "split": true + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/hifumi/config.h b/keyboards/hifumi/config.h index bcf040c6cb1..019c322c09c 100644 --- a/keyboards/hifumi/config.h +++ b/keyboards/hifumi/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once /* ws2812 RGB LED */ -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 5 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hifumi/info.json b/keyboards/hifumi/info.json index a4aeccf83ad..7e11c0b4a60 100644 --- a/keyboards/hifumi/info.json +++ b/keyboards/hifumi/info.json @@ -13,6 +13,10 @@ "rows": ["D4", "C6"] }, "diode_direction": "COL2ROW", + "rgblight": { + "hue_steps": 5, + "led_count": 6 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/hillside/46/0_1/config.h b/keyboards/hillside/46/0_1/config.h index 81736ff1759..55395dd4079 100644 --- a/keyboards/hillside/46/0_1/config.h +++ b/keyboards/hillside/46/0_1/config.h @@ -8,8 +8,6 @@ #define SPLIT_HAND_MATRIX_GRID B5, F6 #define MATRIX_MASKED -#define RGBLIGHT_SLEEP - /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work #define FB_ERM_LRA 1 diff --git a/keyboards/hillside/46/0_1/info.json b/keyboards/hillside/46/0_1/info.json index 8b5fa112f7a..7512debabdf 100644 --- a/keyboards/hillside/46/0_1/info.json +++ b/keyboards/hillside/46/0_1/info.json @@ -36,7 +36,8 @@ "split": true, "hue_steps": 8, "saturation_steps": 8, - "brightness_steps": 8 + "brightness_steps": 8, + "sleep": true }, "ws2812": { "pin": "D3" diff --git a/keyboards/hillside/48/0_1/config.h b/keyboards/hillside/48/0_1/config.h index 72f1a842c77..dc642c11933 100644 --- a/keyboards/hillside/48/0_1/config.h +++ b/keyboards/hillside/48/0_1/config.h @@ -3,8 +3,6 @@ #pragma once -#define RGBLIGHT_SLEEP - /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work #define FB_ERM_LRA 1 diff --git a/keyboards/hillside/48/0_1/info.json b/keyboards/hillside/48/0_1/info.json index 19e38259d37..2159d1ca687 100644 --- a/keyboards/hillside/48/0_1/info.json +++ b/keyboards/hillside/48/0_1/info.json @@ -37,7 +37,8 @@ "split": true, "hue_steps": 8, "saturation_steps": 8, - "brightness_steps": 8 + "brightness_steps": 8, + "sleep": true }, "ws2812": { "pin": "D3" diff --git a/keyboards/hillside/52/0_1/config.h b/keyboards/hillside/52/0_1/config.h index 81736ff1759..55395dd4079 100644 --- a/keyboards/hillside/52/0_1/config.h +++ b/keyboards/hillside/52/0_1/config.h @@ -8,8 +8,6 @@ #define SPLIT_HAND_MATRIX_GRID B5, F6 #define MATRIX_MASKED -#define RGBLIGHT_SLEEP - /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work #define FB_ERM_LRA 1 diff --git a/keyboards/hillside/52/0_1/info.json b/keyboards/hillside/52/0_1/info.json index 8584ee15124..63bbf3b2577 100644 --- a/keyboards/hillside/52/0_1/info.json +++ b/keyboards/hillside/52/0_1/info.json @@ -36,7 +36,8 @@ "split": true, "hue_steps": 8, "saturation_steps": 8, - "brightness_steps": 8 + "brightness_steps": 8, + "sleep": true }, "ws2812": { "pin": "D3" diff --git a/keyboards/hineybush/h08_ocelot/config.h b/keyboards/hineybush/h08_ocelot/config.h index e275779f4c7..5b18aaa265c 100644 --- a/keyboards/hineybush/h08_ocelot/config.h +++ b/keyboards/hineybush/h08_ocelot/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 7 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hineybush/h08_ocelot/info.json b/keyboards/hineybush/h08_ocelot/info.json index addd71a5a8c..f802eea1344 100644 --- a/keyboards/hineybush/h08_ocelot/info.json +++ b/keyboards/hineybush/h08_ocelot/info.json @@ -17,7 +17,11 @@ "pin": "F1" }, "rgblight": { - "max_brightness": 220 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "max_brightness": 220, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/hineybush/h60/config.h b/keyboards/hineybush/h60/config.h index a4d338b500d..696c5aefdec 100644 --- a/keyboards/hineybush/h60/config.h +++ b/keyboards/hineybush/h60/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/hineybush/h60/info.json b/keyboards/hineybush/h60/info.json index 3069b4a4b37..964ce2b73d6 100644 --- a/keyboards/hineybush/h60/info.json +++ b/keyboards/hineybush/h60/info.json @@ -17,6 +17,12 @@ "pin": "B7", "levels": 12 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/hineybush/h65/config.h b/keyboards/hineybush/h65/config.h index ae0ecc61cf3..5b18aaa265c 100644 --- a/keyboards/hineybush/h65/config.h +++ b/keyboards/hineybush/h65/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 17 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hineybush/h65/info.json b/keyboards/hineybush/h65/info.json index dba8541b991..c12588c6765 100644 --- a/keyboards/hineybush/h65/info.json +++ b/keyboards/hineybush/h65/info.json @@ -20,6 +20,12 @@ "indicators": { "caps_lock": "E6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 17, + "sleep": true + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/hineybush/h65_hotswap/config.h b/keyboards/hineybush/h65_hotswap/config.h index ae0ecc61cf3..5b18aaa265c 100644 --- a/keyboards/hineybush/h65_hotswap/config.h +++ b/keyboards/hineybush/h65_hotswap/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 17 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hineybush/h65_hotswap/info.json b/keyboards/hineybush/h65_hotswap/info.json index a4c09e02da3..f512458e3b0 100644 --- a/keyboards/hineybush/h65_hotswap/info.json +++ b/keyboards/hineybush/h65_hotswap/info.json @@ -20,6 +20,12 @@ "indicators": { "caps_lock": "E6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 17, + "sleep": true + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/hineybush/h660s/config.h b/keyboards/hineybush/h660s/config.h index e4d5a87a008..0d893c95c43 100644 --- a/keyboards/hineybush/h660s/config.h +++ b/keyboards/hineybush/h660s/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hineybush/h660s/info.json b/keyboards/hineybush/h660s/info.json index be6e28b2618..6e7a96929e6 100644 --- a/keyboards/hineybush/h660s/info.json +++ b/keyboards/hineybush/h660s/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/hineybush/h75_singa/config.h b/keyboards/hineybush/h75_singa/config.h index 760e5fdd706..0299e7c44f7 100644 --- a/keyboards/hineybush/h75_singa/config.h +++ b/keyboards/hineybush/h75_singa/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 22 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hineybush/h75_singa/info.json b/keyboards/hineybush/h75_singa/info.json index f4a94774f4c..bded9c56ad5 100644 --- a/keyboards/hineybush/h75_singa/info.json +++ b/keyboards/hineybush/h75_singa/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/hineybush/h87a/config.h b/keyboards/hineybush/h87a/config.h index 26b995ddd0f..05b7afca125 100644 --- a/keyboards/hineybush/h87a/config.h +++ b/keyboards/hineybush/h87a/config.h @@ -32,8 +32,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP // RGB will turn off when PC is put to sleep diff --git a/keyboards/hineybush/h87a/info.json b/keyboards/hineybush/h87a/info.json index ee067e1f321..5c9f9dc6201 100644 --- a/keyboards/hineybush/h87a/info.json +++ b/keyboards/hineybush/h87a/info.json @@ -20,7 +20,11 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c index 76fd4abae93..6d064455b36 100644 --- a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c +++ b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c @@ -278,15 +278,16 @@ void led_init_ports(void) { DDRE |= (1<<6); // OUT } -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { DDRD |= (1 << 5); PORTD &= ~(1 << 5); } else { DDRD &= ~(1 << 5); PORTD &= ~(1 << 5); } - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { DDRE |= (1 << 6); PORTE &= ~(1 << 6); } else { DDRE &= ~(1 << 6); PORTE &= ~(1 << 6); } + return false; } diff --git a/keyboards/hineybush/h88/config.h b/keyboards/hineybush/h88/config.h index 0eb28d50c1e..a60fa381e9b 100644 --- a/keyboards/hineybush/h88/config.h +++ b/keyboards/hineybush/h88/config.h @@ -32,8 +32,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP // RGB will turn off when PC is put to sleep diff --git a/keyboards/hineybush/h88/info.json b/keyboards/hineybush/h88/info.json index 7c78582c769..931b56eb930 100644 --- a/keyboards/hineybush/h88/info.json +++ b/keyboards/hineybush/h88/info.json @@ -16,6 +16,12 @@ "backlight": { "pin": "B7" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/hineybush/hbcp/config.h b/keyboards/hineybush/hbcp/config.h index ee8f76aafde..c17a8fd6ef4 100644 --- a/keyboards/hineybush/hbcp/config.h +++ b/keyboards/hineybush/hbcp/config.h @@ -35,14 +35,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { B1, B6, D0, C7, C6, C5 } #define MATRIX_COL_PINS { F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, B5, B4, B3, B2 } -//EITHERWAY is supported through a custom matrix -//#define DIODE_DIRECTION EITHERWAY - - #define RGBLED_NUM 27 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c index d4601cd2e3c..7d0f5ecf730 100644 --- a/keyboards/hineybush/hbcp/hbcp.c +++ b/keyboards/hineybush/hbcp/hbcp.c @@ -45,32 +45,40 @@ void eeconfig_init_kb(void) { // EEPROM is getting reset! #ifdef RGBLIGHT_ENABLE -__attribute__ ((weak)) -void led_set_user(uint8_t usb_led) { - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { - sethsv_raw(HSV_CAPS, (LED_TYPE *)&led[0]); - } else { - sethsv(HSV_BLACK, (LED_TYPE *)&led[0]); - } - if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { - sethsv_raw(HSV_NLCK, (LED_TYPE *)&led[1]); - } else { - sethsv(HSV_BLACK, (LED_TYPE *)&led[1]); - } - if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { - sethsv_raw(HSV_SCRL, (LED_TYPE *)&led[2]); - } else { - sethsv(HSV_BLACK, (LED_TYPE *)&led[2]); +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { + if (led_state.caps_lock) { + sethsv_raw(HSV_CAPS, (LED_TYPE *)&led[0]); + } else { + sethsv(HSV_BLACK, (LED_TYPE *)&led[0]); + } + if (led_state.num_lock) { + sethsv_raw(HSV_NLCK, (LED_TYPE *)&led[1]); + } else { + sethsv(HSV_BLACK, (LED_TYPE *)&led[1]); + } + if (led_state.scroll_lock) { + sethsv_raw(HSV_SCRL, (LED_TYPE *)&led[2]); + } else { + sethsv(HSV_BLACK, (LED_TYPE *)&led[2]); + } + rgblight_set(); } - rgblight_set(); + return false; } __attribute__ ((weak)) void keyboard_post_init_user(void) { rgblight_set_effect_range(3, RGBLED_NUM-3); - led_set_user(_BV(USB_LED_CAPS_LOCK)|_BV(USB_LED_NUM_LOCK)|_BV(USB_LED_SCROLL_LOCK)); + led_t led_state = { + .caps_lock = true, + .num_lock = true, + .scroll_lock = true + }; + led_update_kb(led_state); wait_ms(300); - led_set_user(0); + led_update_kb((led_t){0}); } __attribute__ ((weak)) diff --git a/keyboards/hineybush/hbcp/info.json b/keyboards/hineybush/hbcp/info.json index 45d52629ae6..858551e0877 100644 --- a/keyboards/hineybush/hbcp/info.json +++ b/keyboards/hineybush/hbcp/info.json @@ -16,7 +16,11 @@ "pin": "B0" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 27, + "max_brightness": 200, + "sleep": true }, "processor": "at90usb1286", "bootloader": "atmel-dfu", diff --git a/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c b/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c index 5f1d7700f60..26a67fe7ca8 100644 --- a/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c +++ b/keyboards/hineybush/hbcp/keymaps/hiney/keymap.c @@ -77,23 +77,24 @@ void matrix_scan_user(void) { #ifdef RGBLIGHT_ENABLE // The first three LEDs are used as indicators for CAPS_LOCK, NUM_LOCK and SCROLL_LOCK. -void led_set_user(uint8_t usb_led) { - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { sethsv_raw(HSV_SOFT_RED, (LED_TYPE *)&led[0]); } else { sethsv(HSV_BLACK, (LED_TYPE *)&led[0]); } - if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { sethsv_raw(HSV_WARM_WHITE, (LED_TYPE *)&led[1]); } else { sethsv(HSV_BLACK, (LED_TYPE *)&led[1]); } - if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { sethsv_raw(HSV_SOFT_BLUE, (LED_TYPE *)&led[2]); } else { sethsv(HSV_BLACK, (LED_TYPE *)&led[2]); } rgblight_set(); + return false; } #endif diff --git a/keyboards/hineybush/physix/config.h b/keyboards/hineybush/physix/config.h index 848c217499a..0299e7c44f7 100644 --- a/keyboards/hineybush/physix/config.h +++ b/keyboards/hineybush/physix/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 26 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hineybush/physix/info.json b/keyboards/hineybush/physix/info.json index 191621ff47d..c4a0948682c 100644 --- a/keyboards/hineybush/physix/info.json +++ b/keyboards/hineybush/physix/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 26, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/hineybush/sm68/config.h b/keyboards/hineybush/sm68/config.h index 98b32f8c37a..7dc082706d4 100644 --- a/keyboards/hineybush/sm68/config.h +++ b/keyboards/hineybush/sm68/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hineybush/sm68/info.json b/keyboards/hineybush/sm68/info.json index 6029c4faf95..f9e003f8c91 100644 --- a/keyboards/hineybush/sm68/info.json +++ b/keyboards/hineybush/sm68/info.json @@ -13,6 +13,12 @@ "rows": ["B2", "B1", "B0", "D4", "D1"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/hnahkb/stella/config.h b/keyboards/hnahkb/stella/config.h index 3589952afbd..9f9d81bea91 100644 --- a/keyboards/hnahkb/stella/config.h +++ b/keyboards/hnahkb/stella/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 14 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/hnahkb/stella/info.json b/keyboards/hnahkb/stella/info.json index 0c002b22c4d..98f8f721f30 100644 --- a/keyboards/hnahkb/stella/info.json +++ b/keyboards/hnahkb/stella/info.json @@ -22,6 +22,9 @@ "scroll_lock": "B7", "on_state": 0 }, + "rgblight": { + "led_count": 14, + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/hnahkb/vn66/config.h b/keyboards/hnahkb/vn66/config.h index 61b2d4967b5..33941efff19 100644 --- a/keyboards/hnahkb/vn66/config.h +++ b/keyboards/hnahkb/vn66/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hnahkb/vn66/info.json b/keyboards/hnahkb/vn66/info.json index aca01048105..83aaff5194c 100644 --- a/keyboards/hnahkb/vn66/info.json +++ b/keyboards/hnahkb/vn66/info.json @@ -27,6 +27,12 @@ "caps_lock": "E6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/config.h b/keyboards/horrortroll/chinese_pcb/black_e65/config.h index de5824e2223..0e58118e057 100644 --- a/keyboards/horrortroll/chinese_pcb/black_e65/config.h +++ b/keyboards/horrortroll/chinese_pcb/black_e65/config.h @@ -17,9 +17,6 @@ #pragma once #ifdef RGBLIGHT_ENABLE - /* RGB Lighting config */ - #define RGBLED_NUM 24 - /* RGB Lighting effect */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/info.json b/keyboards/horrortroll/chinese_pcb/black_e65/info.json index 2ceb38706f2..9de9b1decc2 100644 --- a/keyboards/horrortroll/chinese_pcb/black_e65/info.json +++ b/keyboards/horrortroll/chinese_pcb/black_e65/info.json @@ -21,6 +21,9 @@ "indicators": { "caps_lock": "C7" }, + "rgblight": { + "led_count": 24 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/horrortroll/handwired_k552/rules.mk b/keyboards/horrortroll/handwired_k552/rules.mk index 2d1a6e93ca4..c6854d8a44c 100644 --- a/keyboards/horrortroll/handwired_k552/rules.mk +++ b/keyboards/horrortroll/handwired_k552/rules.mk @@ -26,9 +26,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # RGB Matrix enabled RGB_MATRIX_ENABLE = yes diff --git a/keyboards/horrortroll/lemon40/config.h b/keyboards/horrortroll/lemon40/config.h index 90374871735..6867922fd37 100644 --- a/keyboards/horrortroll/lemon40/config.h +++ b/keyboards/horrortroll/lemon40/config.h @@ -18,10 +18,6 @@ /* RGB light config */ #ifdef RGBLIGHT_ENABLE - - /* RGB light pin */ - #define RGBLED_NUM 15 - /* RGB light effect */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/horrortroll/lemon40/info.json b/keyboards/horrortroll/lemon40/info.json index f4b4c383c9a..29530b37570 100644 --- a/keyboards/horrortroll/lemon40/info.json +++ b/keyboards/horrortroll/lemon40/info.json @@ -9,6 +9,9 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "led_count": 15 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/hotdox/config.h b/keyboards/hotdox/config.h index 4e801399da2..60d9fe62174 100644 --- a/keyboards/hotdox/config.h +++ b/keyboards/hotdox/config.h @@ -11,10 +11,6 @@ #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 1 - -#define TAPPING_TERM 200 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/hotdox/info.json b/keyboards/hotdox/info.json index 51c0465899a..8184588e5d7 100644 --- a/keyboards/hotdox/info.json +++ b/keyboards/hotdox/info.json @@ -12,6 +12,9 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "tapping": { + "toggle": 1 + }, "community_layouts": ["ergodox"], "layouts": { "LAYOUT_ergodox": { diff --git a/keyboards/hp69/config.h b/keyboards/hp69/config.h index cb64849d068..409b36d2b17 100644 --- a/keyboards/hp69/config.h +++ b/keyboards/hp69/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 20 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,7 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP #define AUDIO_PIN A5 #define AUDIO_PIN_ALT A4 diff --git a/keyboards/hp69/info.json b/keyboards/hp69/info.json index 8484902252e..fcb7afa6020 100644 --- a/keyboards/hp69/info.json +++ b/keyboards/hp69/info.json @@ -17,6 +17,10 @@ "caps_lock": "A6", "scroll_lock": "A7" }, + "rgblight": { + "led_count": 20, + "sleep": true + }, "ws2812": { "pin": "A3" }, diff --git a/keyboards/hub16/config.h b/keyboards/hub16/config.h index a628c11ddc1..11307003838 100755 --- a/keyboards/hub16/config.h +++ b/keyboards/hub16/config.h @@ -26,11 +26,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define RGBLED_NUM 11 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,9 +37,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -/* Tap Dance timing */ -#define TAPPING_TERM 200 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/hub16/info.json b/keyboards/hub16/info.json index 4d8161d28d8..4e3cc96d282 100644 --- a/keyboards/hub16/info.json +++ b/keyboards/hub16/info.json @@ -14,6 +14,12 @@ {"pin_a": "B5", "pin_b": "B4"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 11, + "sleep": true + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/hub20/config.h b/keyboards/hub20/config.h index 5fc99ecbf50..a72b1389ad6 100644 --- a/keyboards/hub20/config.h +++ b/keyboards/hub20/config.h @@ -18,10 +18,7 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 27 - #define RGB_MATRIX_LED_COUNT 27 - #define RGBLED_NUM 27 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES @@ -75,12 +72,6 @@ along with this program. If not, see . // #define ENABLE_RGB_MATRIX_SOLID_SPLASH // #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -/* Tap delay for tap vs hold */ -#define TAPPING_TERM 200 - -/* Slow down key press speed to ensure computer picks it up */ -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/hub20/info.json b/keyboards/hub20/info.json index 994b9405d9b..3b9cec99c28 100644 --- a/keyboards/hub20/info.json +++ b/keyboards/hub20/info.json @@ -22,6 +22,12 @@ {"pin_a": "A8", "pin_b": "A9"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "led_count": 27 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/hub20/rules.mk b/keyboards/hub20/rules.mk index 081ea9225a0..f559246b9e3 100644 --- a/keyboards/hub20/rules.mk +++ b/keyboards/hub20/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/hubble/config.h b/keyboards/hubble/config.h index ad5e772c749..59787e7920d 100644 --- a/keyboards/hubble/config.h +++ b/keyboards/hubble/config.h @@ -5,8 +5,6 @@ /* rgb */ -#define RGBLED_NUM 7 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/hubble/info.json b/keyboards/hubble/info.json index b89647e5249..953323fe009 100644 --- a/keyboards/hubble/info.json +++ b/keyboards/hubble/info.json @@ -14,6 +14,10 @@ "rgblight": true, "velocikey": true }, + "rgblight": { + "led_count": 7, + "sleep": true + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/ibm/model_m/mschwingen/config.h b/keyboards/ibm/model_m/mschwingen/config.h index b1dc81b8c78..b34d29649ad 100644 --- a/keyboards/ibm/model_m/mschwingen/config.h +++ b/keyboards/ibm/model_m/mschwingen/config.h @@ -69,9 +69,6 @@ # error one of MODELM_LEDS_FFC, MODELM_LEDS_WIRED or MODELM_LEDS_WS2812 must be set! #endif -// 3* WS2812 LEDs instead of singlecolor GPIO LEDs -#define RGBLED_NUM 3 - // disabled, needs PCB patch. //#define AUDIO_PIN C6 //#define NO_MUSIC_MODE diff --git a/keyboards/ibm/model_m/mschwingen/info.json b/keyboards/ibm/model_m/mschwingen/info.json index 1ba525de6c8..ce740e4a548 100644 --- a/keyboards/ibm/model_m/mschwingen/info.json +++ b/keyboards/ibm/model_m/mschwingen/info.json @@ -8,6 +8,9 @@ "pid": "0x558E", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 3 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c index f4a1acb0cef..4ec0a0cbc08 100644 --- a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c +++ b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c @@ -25,19 +25,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_APP, KC_PDOT ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/keymap.c b/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/keymap.c index 8b992676500..4e33b0af29f 100644 --- a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/keymap.c +++ b/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/keymap.c @@ -552,7 +552,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ibnuda/gurindam/config.h b/keyboards/ibnuda/gurindam/config.h index dc525a111d5..5132abe0958 100644 --- a/keyboards/ibnuda/gurindam/config.h +++ b/keyboards/ibnuda/gurindam/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ibnuda/gurindam/info.json b/keyboards/ibnuda/gurindam/info.json index 2b18d0417ec..e2d965d3e83 100644 --- a/keyboards/ibnuda/gurindam/info.json +++ b/keyboards/ibnuda/gurindam/info.json @@ -8,6 +8,9 @@ "pid": "0x6974", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/idobao/id42/config.h b/keyboards/idobao/id42/config.h index 501fd1f996d..bac9dbf1bd6 100755 --- a/keyboards/idobao/id42/config.h +++ b/keyboards/idobao/id42/config.h @@ -3,10 +3,6 @@ #pragma once -/* Change the USB polling rate [default = 1000Hz (1ms)] and - * use larger value of keys per scan for elite games */ -#define USB_POLLING_INTERVAL_MS 2 // 500Hz - /* LED Matrix & Animations */ #ifdef RGB_MATRIX_ENABLE @@ -15,10 +11,6 @@ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGB_MATRIX_KEYPRESSES // enable key press effects #define ENABLE_RGB_MATRIX_SOLID_COLOR // Static single color diff --git a/keyboards/idobao/id42/info.json b/keyboards/idobao/id42/info.json index cc896ff236c..03a6f1724be 100644 --- a/keyboards/idobao/id42/info.json +++ b/keyboards/idobao/id42/info.json @@ -30,7 +30,8 @@ "vid": "0x6964", "pid": "0x0042", "device_version": "1.0.0", - "force_nkro": true + "force_nkro": true, + "polling_interval": 2 }, "layouts": { "LAYOUT": { diff --git a/keyboards/idobao/id75/v1/config.h b/keyboards/idobao/id75/v1/config.h index 2174e39bd22..1d24a796217 100644 --- a/keyboards/idobao/id75/v1/config.h +++ b/keyboards/idobao/id75/v1/config.h @@ -28,11 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/idobao/id75/v1/info.json b/keyboards/idobao/id75/v1/info.json index 1407d02c802..2300b56b000 100644 --- a/keyboards/idobao/id75/v1/info.json +++ b/keyboards/idobao/id75/v1/info.json @@ -12,6 +12,11 @@ "cols": ["F6", "F5", "F4", "F1", "E6", "D5", "D3", "D2", "D1", "D0", "D4", "D6", "D7", "B4", "B5"], "rows": ["B0", "B3", "C7", "B6", "C6"] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16 + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/idobao/id75/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json similarity index 100% rename from keyboards/idobao/id75/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json rename to keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keyboard-layout-editor-gsm-idobo.json diff --git a/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keymap.c similarity index 98% rename from keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c rename to keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keymap.c index a79b03b80fc..84830e47c65 100644 --- a/keyboards/idobao/id75/keymaps/greenshadowmaker/keymap.c +++ b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/keymap.c @@ -126,15 +126,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/idobao/id75/keymaps/greenshadowmaker/readme.md b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/readme.md similarity index 100% rename from keyboards/idobao/id75/keymaps/greenshadowmaker/readme.md rename to keyboards/idobao/id75/v1/keymaps/greenshadowmaker/readme.md diff --git a/keyboards/idobao/id75/keymaps/greenshadowmaker/rules.mk b/keyboards/idobao/id75/v1/keymaps/greenshadowmaker/rules.mk similarity index 100% rename from keyboards/idobao/id75/keymaps/greenshadowmaker/rules.mk rename to keyboards/idobao/id75/v1/keymaps/greenshadowmaker/rules.mk diff --git a/keyboards/idobao/id80/v2/config.h b/keyboards/idobao/id80/v2/config.h index e45c0081aef..59cdc7a0c9c 100644 --- a/keyboards/idobao/id80/v2/config.h +++ b/keyboards/idobao/id80/v2/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 20 /* 16 underglow LEDs, 4 top LEDs */ - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_CHRISTMAS diff --git a/keyboards/idobao/id80/v2/info.json b/keyboards/idobao/id80/v2/info.json index 26a5a7db819..411a066c972 100644 --- a/keyboards/idobao/id80/v2/info.json +++ b/keyboards/idobao/id80/v2/info.json @@ -19,7 +19,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 180, + "sleep": true }, "indicators": { "caps_lock": "C7", diff --git a/keyboards/idobao/id87/v1/config.h b/keyboards/idobao/id87/v1/config.h index 9b7459de6cb..e10f3a7a206 100644 --- a/keyboards/idobao/id87/v1/config.h +++ b/keyboards/idobao/id87/v1/config.h @@ -24,8 +24,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE - - #define RGBLED_NUM 22 /* 16 Bottom 6 top*/ - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/idobao/id87/v1/info.json b/keyboards/idobao/id87/v1/info.json index 1deaf6b270d..b671d1908ad 100644 --- a/keyboards/idobao/id87/v1/info.json +++ b/keyboards/idobao/id87/v1/info.json @@ -19,6 +19,11 @@ "indicators": { "caps_lock": "C7" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/idobao/id96/config.h b/keyboards/idobao/id96/config.h index a857f49125a..7455adcc9f9 100644 --- a/keyboards/idobao/id96/config.h +++ b/keyboards/idobao/id96/config.h @@ -34,7 +34,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLED_NUM 18 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/idobao/id96/info.json b/keyboards/idobao/id96/info.json index f49337fc149..3cf802bc920 100644 --- a/keyboards/idobao/id96/info.json +++ b/keyboards/idobao/id96/info.json @@ -18,6 +18,11 @@ "levels": 7, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/idobao/montex/v1/config.h b/keyboards/idobao/montex/v1/config.h index 87ed689f667..4f864b84839 100644 --- a/keyboards/idobao/montex/v1/config.h +++ b/keyboards/idobao/montex/v1/config.h @@ -32,8 +32,3 @@ #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE - - #define RGBLED_NUM 4 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/idobao/montex/v1/info.json b/keyboards/idobao/montex/v1/info.json index 666ffbdf89d..d86dd7f5b0a 100644 --- a/keyboards/idobao/montex/v1/info.json +++ b/keyboards/idobao/montex/v1/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "B6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/igloo/info.json b/keyboards/igloo/info.json index 1f50a72c5f8..6e0cba498bb 100644 --- a/keyboards/igloo/info.json +++ b/keyboards/igloo/info.json @@ -41,12 +41,13 @@ {"matrix": [0, 10], "x": 10, "y": 0}, {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, - {"matrix": [0, 13], "w": 2, "x": 13, "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": [0, 13], "x": 14, "y": 0}, - {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"matrix": [0, 14], "x": 15.5, "y": 0}, + {"matrix": [0, 15], "x": 16.5, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "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}, @@ -59,12 +60,13 @@ {"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], "w": 1.5, "x": 13.5, "y": 1}, - {"matrix": [1, 14], "x": 15.25, "y": 1}, - {"matrix": [1, 15], "x": 16.25, "y": 1}, - {"matrix": [1, 16], "x": 17.25, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 14], "x": 15.5, "y": 1}, + {"matrix": [1, 15], "x": 16.5, "y": 1}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, - {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"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}, @@ -76,12 +78,13 @@ {"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], "w": 2.25, "x": 12.75, "y": 2}, - {"matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2}, - {"matrix": [2, 14], "x": 12.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [2, 13], "x": 20.5, "y": 1, "w": 1.25, "h":2}, + {"matrix": [2, 14], "x": 19.5, "y": 2}, {"matrix": [2, 15], "x": 13, "y": 0}, - {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"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}, @@ -93,22 +96,24 @@ {"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}, - {"matrix": [3, 14], "x": 13.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": 16.25, "y": 3}, - {"matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, - {"matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4}, - {"matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, - {"matrix": [4, 3], "x": 6.25, "y": 4}, - {"matrix": [4, 4], "w": 2.25, "x": 4, "y": 4}, - {"matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4}, - {"matrix": [4, 6], "w": 2.25, "x": 7.25, "y": 4}, - {"matrix": [4, 9], "w": 1.25, "x": 10, "y": 4}, - {"matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4}, - {"matrix": [4, 11], "w": 1.25, "x": 12.5, "y": 4}, - {"matrix": [4, 12], "w": 1.25, "x": 13.75, "y": 4}, - {"matrix": [4, 13], "w": 1.25, "x": 15, "y": 4}, + {"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, 3], "x": 6.25, "y": 5}, + {"matrix": [4, 4], "x": 4, "y": 5, "w": 2.25}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 6], "x": 7.25, "y": 5, "w": 2.25}, + {"matrix": [4, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, {"matrix": [4, 15], "x": 16.25, "y": 4}, {"matrix": [4, 16], "x": 17.25, "y": 4} diff --git a/keyboards/igloo/matrix_diagram.md b/keyboards/igloo/matrix_diagram.md new file mode 100644 index 00000000000..2308f15c06d --- /dev/null +++ b/keyboards/igloo/matrix_diagram.md @@ -0,0 +1,36 @@ +# Matrix Diagram for Dong Jae Shin Igloo + + + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │2F │0D ││0E │0F │0G │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │1F │1G │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2E │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3E │ │3F │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│40 │41 │42 │47 │49 │4A │4B │4D ││4E │4F │4G │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────┬───┬───────────┬─────┬───┬─────┐ +│40 │41 │42 │45 │44 │46 │4A │4B │4D │ Tsangan/WKL Split Space +└─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │44 │4A │4B │4D │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` diff --git a/keyboards/inett_studio/sqx/hotswap/config.h b/keyboards/inett_studio/sqx/hotswap/config.h index 1eff584a832..34505094689 100644 --- a/keyboards/inett_studio/sqx/hotswap/config.h +++ b/keyboards/inett_studio/sqx/hotswap/config.h @@ -31,7 +31,6 @@ //rgb light setting -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,9 +41,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 //rgb matrix setting #define DRIVER_1_LED_TOTAL 33 diff --git a/keyboards/inett_studio/sqx/hotswap/info.json b/keyboards/inett_studio/sqx/hotswap/info.json index 8d4621a6084..271af5e5b06 100644 --- a/keyboards/inett_studio/sqx/hotswap/info.json +++ b/keyboards/inett_studio/sqx/hotswap/info.json @@ -15,6 +15,9 @@ "driver": "IS31FL3731" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, "max_brightness": 128 }, "matrix_pins": { diff --git a/keyboards/inett_studio/sqx/universal/config.h b/keyboards/inett_studio/sqx/universal/config.h index 92c9bedfc96..808ba8fcbe8 100644 --- a/keyboards/inett_studio/sqx/universal/config.h +++ b/keyboards/inett_studio/sqx/universal/config.h @@ -31,7 +31,6 @@ //rgb light setting -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,9 +41,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 //rgb matrix setting #define DRIVER_1_LED_TOTAL 36 diff --git a/keyboards/inett_studio/sqx/universal/info.json b/keyboards/inett_studio/sqx/universal/info.json index 9839aa10deb..8f574769f00 100644 --- a/keyboards/inett_studio/sqx/universal/info.json +++ b/keyboards/inett_studio/sqx/universal/info.json @@ -15,6 +15,9 @@ "driver": "IS31FL3731" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, "max_brightness": 128 }, "matrix_pins": { diff --git a/keyboards/hfdkb/keyboard_sw/k83/config.h b/keyboards/inland/kb83/config.h similarity index 98% rename from keyboards/hfdkb/keyboard_sw/k83/config.h rename to keyboards/inland/kb83/config.h index a4660c93be8..d1e7d11acc6 100644 --- a/keyboards/hfdkb/keyboard_sw/k83/config.h +++ b/keyboards/inland/kb83/config.h @@ -19,9 +19,6 @@ #define RGB_TRIGGER_ON_KEYDOWN -/* encoder resolution */ -#define TAP_CODE_DELAY 15 - /* DIP switch */ #define DIP_SWITCH_PINS \ { A9 } diff --git a/keyboards/inland/kb83/halconf.h b/keyboards/inland/kb83/halconf.h new file mode 100644 index 00000000000..2f64e65393a --- /dev/null +++ b/keyboards/inland/kb83/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2022 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 . + */ +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/hfdkb/keyboard_sw/k83/info.json b/keyboards/inland/kb83/info.json similarity index 73% rename from keyboards/hfdkb/keyboard_sw/k83/info.json rename to keyboards/inland/kb83/info.json index 559fa3d790e..ecd274cef78 100644 --- a/keyboards/hfdkb/keyboard_sw/k83/info.json +++ b/keyboards/inland/kb83/info.json @@ -23,27 +23,30 @@ {"pin_a": "B14", "pin_b": "B13", "resolution": 4} ] }, + "qmk": { + "tap_keycode_delay": 15 + }, "layouts": { "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 2, "y": 0}, - {"matrix": [0, 2], "x": 3, "y": 0}, - {"matrix": [0, 3], "x": 4, "y": 0}, - {"matrix": [0, 4], "x": 5, "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": 6.5, "y": 0}, - {"matrix": [0, 6], "x": 7.5, "y": 0}, - {"matrix": [0, 7], "x": 8.5, "y": 0}, - {"matrix": [0, 8], "x": 9.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": 11, "y": 0}, - {"matrix": [0, 10], "x": 12, "y": 0}, - {"matrix": [0, 11], "x": 13, "y": 0}, - {"matrix": [0, 12], "x": 14, "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": 15.25, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, {"matrix": [0, 15], "x": 15.25, "y": 0}, {"matrix": [1, 0], "x": 0, "y": 1.25}, @@ -59,7 +62,7 @@ {"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": 14, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, {"matrix": [1, 15], "x": 15.25, "y": 1.25}, @@ -92,11 +95,11 @@ {"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": 13.75, "y": 3.25, "w": 1.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, - {"matrix": [3, 15], "x": 16.25, "y": 2.25}, + {"matrix": [3, 15], "x": 15.25, "y": 3.25}, - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"matrix": [4, 1], "x": 2.25, "y": 4.25}, {"matrix": [4, 2], "x": 3.25, "y": 4.25}, {"matrix": [4, 3], "x": 4.25, "y": 4.25}, @@ -109,20 +112,21 @@ {"matrix": [4, 10], "x": 11.25, "y": 4.25}, {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 1.75}, - {"matrix": [4, 14], "x": 16.25, "y": 4.25}, - {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + {"matrix": [4, 14], "x": 14.125, "y": 4.375}, + + {"matrix": [4, 15], "x": 15.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, 5], "x": 3.75, "y": 5.25, "w": 6.25}, - {"matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, - {"matrix": [5, 10], "x": 12.5, "y": 5.25, "w": 1.25}, - {"matrix": [5, 11], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 9], "x": 10, "y": 5.25}, + {"matrix": [5, 10], "x": 11, "y": 5.25}, + {"matrix": [5, 11], "x": 12, "y": 5.25}, - {"matrix": [5, 13], "x": 15.25, "y": 5.25}, - {"matrix": [5, 14], "x": 16.25, "y": 5.25}, - {"matrix": [5, 15], "x": 17.25, "y": 5.25} + {"matrix": [5, 13], "x": 13.125, "y": 5.375}, + {"matrix": [5, 14], "x": 14.125, "y": 5.375}, + {"matrix": [5, 15], "x": 15.125, "y": 5.375} ] } } diff --git a/keyboards/hfdkb/keyboard_sw/k83/k83.c b/keyboards/inland/kb83/kb83.c similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/k83.c rename to keyboards/inland/kb83/kb83.c diff --git a/keyboards/hfdkb/keyboard_sw/k83/keymaps/default/keymap.c b/keyboards/inland/kb83/keymaps/default/keymap.c similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/keymaps/default/keymap.c rename to keyboards/inland/kb83/keymaps/default/keymap.c diff --git a/keyboards/hfdkb/keyboard_sw/k83/keymaps/via/keymap.c b/keyboards/inland/kb83/keymaps/via/keymap.c similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/keymaps/via/keymap.c rename to keyboards/inland/kb83/keymaps/via/keymap.c diff --git a/keyboards/inland/kb83/keymaps/via/rules.mk b/keyboards/inland/kb83/keymaps/via/rules.mk new file mode 100644 index 00000000000..4253f570f0b --- /dev/null +++ b/keyboards/inland/kb83/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/inland/kb83/mcuconf.h b/keyboards/inland/kb83/mcuconf.h new file mode 100644 index 00000000000..0d16f4f04e4 --- /dev/null +++ b/keyboards/inland/kb83/mcuconf.h @@ -0,0 +1,24 @@ +/* Copyright (C) 2022 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 . + */ +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE + +#undef WB32_I2C_USE_I2C1 +#define WB32_I2C_USE_I2C1 TRUE diff --git a/keyboards/hfdkb/keyboard_sw/k83/readme.md b/keyboards/inland/kb83/readme.md similarity index 79% rename from keyboards/hfdkb/keyboard_sw/k83/readme.md rename to keyboards/inland/kb83/readme.md index 871e9b89364..e6f1d45990b 100644 --- a/keyboards/hfdkb/keyboard_sw/k83/readme.md +++ b/keyboards/inland/kb83/readme.md @@ -1,17 +1,18 @@ -# k83 +# kb83 A customizable 75% encoder keyboard. * Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) -* Hardware Supported: k83 +* Hardware Supported: kb83 +* Hardware Availability:[inland](https://www.microcenter.com) Make example for this keyboard (after setting up your build environment): - make hfdkb/keyboard_sw/k83:default + make inland/kb83:default Flashing example for this keyboard: - make hfdkb/keyboard_sw/k83:default:flash + make inland/kb83:default:flash **Reset Key**: Hold down the key located at *K01*, which programmed as *Esc* while plugging in the keyboard. diff --git a/keyboards/hfdkb/keyboard_sw/k83/rgb_matrix_kb.inc b/keyboards/inland/kb83/rgb_matrix_kb.inc similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/rgb_matrix_kb.inc rename to keyboards/inland/kb83/rgb_matrix_kb.inc diff --git a/keyboards/hfdkb/keyboard_sw/k83/rules.mk b/keyboards/inland/kb83/rules.mk similarity index 100% rename from keyboards/hfdkb/keyboard_sw/k83/rules.mk rename to keyboards/inland/kb83/rules.mk diff --git a/keyboards/input_club/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h index 6d642e5d458..7db6119a1cf 100644 --- a/keyboards/input_club/ergodox_infinity/config.h +++ b/keyboards/input_club/ergodox_infinity/config.h @@ -23,10 +23,6 @@ along with this program. If not, see . #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 1 - -#define TAPPING_TERM 200 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/input_club/ergodox_infinity/info.json b/keyboards/input_club/ergodox_infinity/info.json index ca6aa92b5d8..e3e0399bed3 100644 --- a/keyboards/input_club/ergodox_infinity/info.json +++ b/keyboards/input_club/ergodox_infinity/info.json @@ -17,6 +17,9 @@ "processor": "MK20DX256", "bootloader": "kiibohd", "board": "IC_TEENSY_3_1", + "tapping": { + "toggle": 1 + }, "community_layouts": ["ergodox"], "layouts": { "LAYOUT_ergodox": { diff --git a/keyboards/input_club/infinity60/led.c b/keyboards/input_club/infinity60/led.c index 8effcea81ae..33871bcc49c 100644 --- a/keyboards/input_club/infinity60/led.c +++ b/keyboards/input_club/infinity60/led.c @@ -26,29 +26,33 @@ along with this program. If not, see . * both regular threads and ISRs, unlocked (during resume-from-sleep). * In particular, I2C functions (interrupt-driven) should NOT be called from here. */ -void led_set(uint8_t usb_led) { - msg_t msg; - - if (usb_led & (1<. #pragma once -# define RGBLED_NUM 23 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/irene/info.json b/keyboards/irene/info.json index 000a3436470..6dcefe4a2a8 100644 --- a/keyboards/irene/info.json +++ b/keyboards/irene/info.json @@ -8,6 +8,9 @@ "pid": "0x3000", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 23 + }, "ws2812": { "pin": "F1" }, diff --git a/keyboards/iron180/rules.mk b/keyboards/iron180/rules.mk index 488d0df4b9f..6f5c5c3b7e5 100644 --- a/keyboards/iron180/rules.mk +++ b/keyboards/iron180/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/jacky_studio/bear_65/config.h b/keyboards/jacky_studio/bear_65/config.h index c432e839d03..7bf08002dd7 100644 --- a/keyboards/jacky_studio/bear_65/config.h +++ b/keyboards/jacky_studio/bear_65/config.h @@ -20,9 +20,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -/* If defined, the RGB lighting will be switched off when the host goes to sleep */ -#define RGBLIGHT_SLEEP diff --git a/keyboards/jacky_studio/bear_65/rev1/info.json b/keyboards/jacky_studio/bear_65/rev1/info.json index 77c0e44c0d4..42b397ce73a 100644 --- a/keyboards/jacky_studio/bear_65/rev1/info.json +++ b/keyboards/jacky_studio/bear_65/rev1/info.json @@ -25,7 +25,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "indicators": { "caps_lock": "C7", diff --git a/keyboards/jacky_studio/bear_65/rev2/info.json b/keyboards/jacky_studio/bear_65/rev2/info.json index 8e1779ceea6..50e53c3564b 100644 --- a/keyboards/jacky_studio/bear_65/rev2/info.json +++ b/keyboards/jacky_studio/bear_65/rev2/info.json @@ -25,7 +25,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "indicators": { "caps_lock": "C7", diff --git a/keyboards/jacky_studio/piggy60/rev2/rules.mk b/keyboards/jacky_studio/piggy60/rev2/rules.mk index 47220e8853a..edbd3dd7181 100644 --- a/keyboards/jacky_studio/piggy60/rev2/rules.mk +++ b/keyboards/jacky_studio/piggy60/rev2/rules.mk @@ -4,5 +4,3 @@ MCU_LDSCRIPT = STM32F103xB # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/jacky_studio/s7_elephant/rev1/config.h b/keyboards/jacky_studio/s7_elephant/rev1/config.h index e2d6aed274b..19f04d522c2 100644 --- a/keyboards/jacky_studio/s7_elephant/rev1/config.h +++ b/keyboards/jacky_studio/s7_elephant/rev1/config.h @@ -26,11 +26,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 2 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/jacky_studio/s7_elephant/rev1/info.json b/keyboards/jacky_studio/s7_elephant/rev1/info.json index 3af975eb5cb..556ddd59bb6 100644 --- a/keyboards/jacky_studio/s7_elephant/rev1/info.json +++ b/keyboards/jacky_studio/s7_elephant/rev1/info.json @@ -8,6 +8,12 @@ "pid": "0x0007", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/jacky_studio/s7_elephant/rev2/config.h b/keyboards/jacky_studio/s7_elephant/rev2/config.h index 316658ad6da..19f04d522c2 100644 --- a/keyboards/jacky_studio/s7_elephant/rev2/config.h +++ b/keyboards/jacky_studio/s7_elephant/rev2/config.h @@ -26,11 +26,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 2 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/jacky_studio/s7_elephant/rev2/info.json b/keyboards/jacky_studio/s7_elephant/rev2/info.json index cc0c91dadce..f2409598994 100644 --- a/keyboards/jacky_studio/s7_elephant/rev2/info.json +++ b/keyboards/jacky_studio/s7_elephant/rev2/info.json @@ -12,6 +12,12 @@ "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0", "E6"], "rows": ["B0", "B1", "B2", "B3", "B7"] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h index a54e1e1fd3c..8e0534fa2cb 100644 --- a/keyboards/jadookb/jkb65/config.h +++ b/keyboards/jadookb/jkb65/config.h @@ -21,7 +21,6 @@ #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_MATRIX_TIMEOUT 90000 #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json index e235e7bc416..46e499237af 100644 --- a/keyboards/jadookb/jkb65/info.json +++ b/keyboards/jadookb/jkb65/info.json @@ -10,7 +10,8 @@ "pin": "F0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "timeout": 90000 }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/jaykeeb/orba/info.json b/keyboards/jaykeeb/orba/info.json index 192bb385ce2..b437667b14d 100644 --- a/keyboards/jaykeeb/orba/info.json +++ b/keyboards/jaykeeb/orba/info.json @@ -23,87 +23,170 @@ "pid": "0x0769", "vid": "0x414C" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_625u_space" + }, "layouts": { - "LAYOUT": { + "LAYOUT_625u_space": { + "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": "`", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "-", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "=", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "6", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "7", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "8", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "9", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 15], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "Q", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5, "y": 1}, + {"label": "P7", "matrix": [1, 6], "x": 6, "y": 1}, + {"label": "P8", "matrix": [1, 7], "x": 7, "y": 1}, + {"label": "P9", "matrix": [1, 8], "x": 8, "y": 1}, + {"label": "Y", "matrix": [1, 9], "x": 9, "y": 1}, + {"label": "U", "matrix": [1, 10], "x": 10, "y": 1}, + {"label": "I", "matrix": [1, 11], "x": 11, "y": 1}, + {"label": "O", "matrix": [1, 12], "x": 12, "y": 1}, + {"label": "P", "matrix": [1, 13], "x": 13, "y": 1}, + {"label": "Backspace", "matrix": [1, 14], "x": 14, "y": 1}, + {"label": "Page Up", "matrix": [1, 15], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "A", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "P4", "matrix": [2, 6], "x": 6, "y": 2}, + {"label": "P5", "matrix": [2, 7], "x": 7, "y": 2}, + {"label": "P6", "matrix": [2, 8], "x": 8, "y": 2}, + {"label": "H", "matrix": [2, 9], "x": 9, "y": 2}, + {"label": "J", "matrix": [2, 10], "x": 10, "y": 2}, + {"label": "K", "matrix": [2, 11], "x": 11, "y": 2}, + {"label": "L", "matrix": [2, 12], "x": 12, "y": 2}, + {"label": ":", "matrix": [2, 13], "x": 13, "y": 2}, + {"label": "", "matrix": [2, 14], "x": 14, "y": 2}, + {"label": "Page Down", "matrix": [2, 15], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "Z", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "X", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "C", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "V", "matrix": [3, 4], "x": 4, "y": 3}, + {"label": "B", "matrix": [3, 5], "x": 5, "y": 3}, + {"label": "P1", "matrix": [3, 6], "x": 6, "y": 3}, + {"label": "P2", "matrix": [3, 7], "x": 7, "y": 3}, + {"label": "P3", "matrix": [3, 8], "x": 8, "y": 3}, + {"label": "N", "matrix": [3, 9], "x": 9, "y": 3}, + {"label": "M", "matrix": [3, 10], "x": 10, "y": 3}, + {"label": ",", "matrix": [3, 11], "x": 11, "y": 3}, + {"label": ".", "matrix": [3, 12], "x": 12, "y": 3}, + {"label": "/", "matrix": [3, 13], "x": 13, "y": 3}, + {"label": "\u2191", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "Enter", "matrix": [3, 15], "x": 15, "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, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Fn", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 13], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 14], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_7u_space": { "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": "`", "matrix": [0, 6], "x": 6, "y": 0 }, - {"label": "-", "matrix": [0, 7], "x": 7, "y": 0 }, - {"label": "=", "matrix": [0, 8], "x": 8, "y": 0 }, - {"label": "6", "matrix": [0, 9], "x": 9, "y": 0 }, - {"label": "7", "matrix": [0, 10], "x": 10, "y": 0 }, - {"label": "8", "matrix": [0, 11], "x": 11, "y": 0 }, - {"label": "9", "matrix": [0, 12], "x": 12, "y": 0 }, - {"label": "0", "matrix": [0, 13], "x": 13, "y": 0 }, - {"label": "Delete", "matrix": [0, 14], "x": 13, "y": 0 }, - {"label": "Home", "matrix": [0, 15], "x": 15, "y": 0 }, + {"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": "`", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "-", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "=", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "6", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "7", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "8", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "9", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Home", "matrix": [0, 15], "x": 15, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1 }, - {"label": "Q", "matrix": [1, 1], "x": 1, "y": 1 }, - {"label": "W", "matrix": [1, 2], "x": 2, "y": 1 }, - {"label": "E", "matrix": [1, 3], "x": 3, "y": 1 }, - {"label": "R", "matrix": [1, 4], "x": 4, "y": 1 }, - {"label": "T", "matrix": [1, 5], "x": 5, "y": 1 }, - {"label": "P7", "matrix": [1, 6], "x": 6, "y": 1 }, - {"label": "P8", "matrix": [1, 7], "x": 7, "y": 1 }, - {"label": "P9", "matrix": [1, 8], "x": 8, "y": 1 }, - {"label": "Y", "matrix": [1, 9], "x": 9, "y": 1 }, - {"label": "U", "matrix": [1, 10], "x": 10, "y": 1 }, - {"label": "I", "matrix": [1, 11], "x": 11, "y": 1 }, - {"label": "O", "matrix": [1, 12], "x": 12, "y": 1 }, - {"label": "P", "matrix": [1, 13], "x": 13, "y": 1 }, - {"label": "Backspace", "matrix": [1, 14], "x": 13, "y": 1 }, - {"label": "Page Up", "matrix": [1, 15], "x": 15, "y": 1 }, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "Q", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5, "y": 1}, + {"label": "P7", "matrix": [1, 6], "x": 6, "y": 1}, + {"label": "P8", "matrix": [1, 7], "x": 7, "y": 1}, + {"label": "P9", "matrix": [1, 8], "x": 8, "y": 1}, + {"label": "Y", "matrix": [1, 9], "x": 9, "y": 1}, + {"label": "U", "matrix": [1, 10], "x": 10, "y": 1}, + {"label": "I", "matrix": [1, 11], "x": 11, "y": 1}, + {"label": "O", "matrix": [1, 12], "x": 12, "y": 1}, + {"label": "P", "matrix": [1, 13], "x": 13, "y": 1}, + {"label": "Backspace", "matrix": [1, 14], "x": 14, "y": 1}, + {"label": "Page Up", "matrix": [1, 15], "x": 15, "y": 1}, - {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2 }, - {"label": "A", "matrix": [2, 1], "x": 1, "y": 2 }, - {"label": "S", "matrix": [2, 2], "x": 2, "y": 2 }, - {"label": "D", "matrix": [2, 3], "x": 3, "y": 2 }, - {"label": "F", "matrix": [2, 4], "x": 4, "y": 2 }, - {"label": "G", "matrix": [2, 5], "x": 5, "y": 2 }, - {"label": "P4", "matrix": [2, 6], "x": 6, "y": 2 }, - {"label": "P5", "matrix": [2, 7], "x": 7, "y": 2 }, - {"label": "P6", "matrix": [2, 8], "x": 8, "y": 2 }, - {"label": "H", "matrix": [2, 9], "x": 9, "y": 2 }, - {"label": "J", "matrix": [2, 10], "x": 10, "y": 2 }, - {"label": "K", "matrix": [2, 11], "x": 11, "y": 2 }, - {"label": "L", "matrix": [2, 12], "x": 12, "y": 2 }, - {"label": ":", "matrix": [2, 13], "x": 13, "y": 2 }, - {"label": "", "matrix": [2, 14], "x": 13, "y": 2 }, - {"label": "Page Down", "matrix": [2, 15], "x": 15, "y": 2 }, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "A", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "P4", "matrix": [2, 6], "x": 6, "y": 2}, + {"label": "P5", "matrix": [2, 7], "x": 7, "y": 2}, + {"label": "P6", "matrix": [2, 8], "x": 8, "y": 2}, + {"label": "H", "matrix": [2, 9], "x": 9, "y": 2}, + {"label": "J", "matrix": [2, 10], "x": 10, "y": 2}, + {"label": "K", "matrix": [2, 11], "x": 11, "y": 2}, + {"label": "L", "matrix": [2, 12], "x": 12, "y": 2}, + {"label": ":", "matrix": [2, 13], "x": 13, "y": 2}, + {"label": "", "matrix": [2, 14], "x": 14, "y": 2}, + {"label": "Page Down", "matrix": [2, 15], "x": 15, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3 }, - {"label": "Z", "matrix": [3, 1], "x": 1, "y": 3 }, - {"label": "X", "matrix": [3, 2], "x": 2, "y": 3 }, - {"label": "C", "matrix": [3, 3], "x": 3, "y": 3 }, - {"label": "V", "matrix": [3, 4], "x": 4, "y": 3 }, - {"label": "B", "matrix": [3, 5], "x": 5, "y": 3 }, - {"label": "P1", "matrix": [3, 6], "x": 6, "y": 3 }, - {"label": "P2", "matrix": [3, 7], "x": 7, "y": 3 }, - {"label": "P3", "matrix": [3, 8], "x": 8, "y": 3 }, - {"label": "N", "matrix": [3, 9], "x": 9, "y": 3 }, - {"label": "M", "matrix": [3, 10], "x": 10, "y": 3 }, - {"label": ",", "matrix": [3, 11], "x": 11, "y": 3 }, - {"label": ".", "matrix": [3, 12], "x": 12, "y": 3 }, - {"label": "/", "matrix": [3, 13], "x": 13, "y": 3 }, - {"label": "\u2191", "matrix": [3, 14], "x": 13, "y": 3 }, - {"label": "Enter", "matrix": [3, 15], "x": 15, "y": 3 }, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "Z", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "X", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "C", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "V", "matrix": [3, 4], "x": 4, "y": 3}, + {"label": "B", "matrix": [3, 5], "x": 5, "y": 3}, + {"label": "P1", "matrix": [3, 6], "x": 6, "y": 3}, + {"label": "P2", "matrix": [3, 7], "x": 7, "y": 3}, + {"label": "P3", "matrix": [3, 8], "x": 8, "y": 3}, + {"label": "N", "matrix": [3, 9], "x": 9, "y": 3}, + {"label": "M", "matrix": [3, 10], "x": 10, "y": 3}, + {"label": ",", "matrix": [3, 11], "x": 11, "y": 3}, + {"label": ".", "matrix": [3, 12], "x": 12, "y": 3}, + {"label": "/", "matrix": [3, 13], "x": 13, "y": 3}, + {"label": "\u2191", "matrix": [3, 14], "x": 14, "y": 3}, + {"label": "Enter", "matrix": [3, 15], "x": 15, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - {"label": "GUI", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - {"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - {"label": "Space", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, - {"label": "Fn", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, - {"label": "Ctrl","matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, - {"label": "\u2190", "matrix": [4, 13], "x": 13, "y": 4 }, - {"label": "\u2193", "matrix": [4, 14], "x": 14, "y": 4 }, - {"label": "\u2192", "matrix": [4, 15], "x": 15, "y": 4 } + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 13], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 14], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 15], "x": 15, "y": 4} ] } } -} \ No newline at end of file +} diff --git a/keyboards/jaykeeb/orba/keymaps/default/keymap.c b/keyboards/jaykeeb/orba/keymaps/default/keymap.c index 96710a95aad..5b00f5a34cf 100644 --- a/keyboards/jaykeeb/orba/keymaps/default/keymap.c +++ b/keyboards/jaykeeb/orba/keymaps/default/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │Ctrl│GUI │Alt │ │ FN │Ctrl│ │ ← │ ↓ │ → │ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ - [0] = LAYOUT( + [0] = LAYOUT_625u_space( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_HOME, 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_PGUP, KC_CAPS, 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_PGDN, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), - [1] = LAYOUT( + [1] = LAYOUT_625u_space( _______, KC_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_RBT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/jaykeeb/orba/keymaps/via/keymap.c b/keyboards/jaykeeb/orba/keymaps/via/keymap.c index c567537ce59..e6b4fb0b207 100644 --- a/keyboards/jaykeeb/orba/keymaps/via/keymap.c +++ b/keyboards/jaykeeb/orba/keymaps/via/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │Ctrl│GUI │Alt │ │ FN │Ctrl│ │ ← │ ↓ │ → │ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ - [0] = LAYOUT( + [0] = LAYOUT_625u_space( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_HOME, 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_PGUP, KC_CAPS, 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_PGDN, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), - [1] = LAYOUT( + [1] = LAYOUT_625u_space( _______, KC_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_RBT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/jaykeeb/sebelas/info.json b/keyboards/jaykeeb/sebelas/info.json new file mode 100644 index 00000000000..b9003957ef4 --- /dev/null +++ b/keyboards/jaykeeb/sebelas/info.json @@ -0,0 +1,424 @@ +{ + "manufacturer": "Alabahuy", + "keyboard_name": "Sebelas", + "maintainer": "Alabahuy", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP0", "GP15", "GP10", "GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP2"], + "rows": ["GP11", "GP12", "GP13", "GP1", "GP16"] + }, + "indicators": { + "caps_lock": "GP3", + "on_state": 0 + }, + "ws2812": { + "pin": "GP14", + "driver": "vendor" + }, + "rgblight": { + "led_count": 1, + "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 + } + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0767", + "vid": "0x414C" + }, + "layouts": { + "LAYOUT_all": { + "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": "Delete", "matrix": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "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, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "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, "w": 2}, + + {"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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "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, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "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": "Delete", "matrix": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "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, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "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, "w": 2}, + + {"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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "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": "Delete", "matrix": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "End", "matrix": [1, 14], "x": 15, "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, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Up", "matrix": [2, 14], "x": 15, "y": 2}, + + {"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": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Page Down", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "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, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Ctrl", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/jaykeeb/sebelas/keymaps/default/keymap.c b/keyboards/jaykeeb/sebelas/keymaps/default/keymap.c new file mode 100644 index 00000000000..4a525e7bd39 --- /dev/null +++ b/keyboards/jaykeeb/sebelas/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Alabahuy +// 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_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_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( + 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_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/jaykeeb/sebelas/keymaps/via/keymap.c b/keyboards/jaykeeb/sebelas/keymaps/via/keymap.c new file mode 100644 index 00000000000..4a525e7bd39 --- /dev/null +++ b/keyboards/jaykeeb/sebelas/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Alabahuy +// 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_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_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( + 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_PSCR, KC_SCRL, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/jaykeeb/sebelas/keymaps/via/rules.mk b/keyboards/jaykeeb/sebelas/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/jaykeeb/sebelas/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/jaykeeb/sebelas/matrix_diagram.md b/keyboards/jaykeeb/sebelas/matrix_diagram.md new file mode 100644 index 00000000000..24cf49725b2 --- /dev/null +++ b/keyboards/jaykeeb/sebelas/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for Jaykeeb Sebelas + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1D │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2D │1E │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ +│40 │41 │42 │47 │4A │4B │ │4C │4D │4E │ +└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │47 │4B │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` diff --git a/keyboards/jaykeeb/sebelas/readme.md b/keyboards/jaykeeb/sebelas/readme.md new file mode 100644 index 00000000000..e44042b8640 --- /dev/null +++ b/keyboards/jaykeeb/sebelas/readme.md @@ -0,0 +1,27 @@ +# SEBELAS + +![sebelas]( https://i.imgur.com/07zQeZhh.png ) + +PCB Replacement for TGR910 + +* Keyboard Maintainer: [Alabahuy](https://github.com/Alabahuy) +* Hardware Supported: Sebelas PCB, RP2040 +* Hardware Availability: Private GB + +Make example for this keyboard (after setting up your build environment): + + make jaykeeb/sebelas:default + +Flashing example for this keyboard: + + make jaykeeb/sebelas: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/jaykeeb/sebelas/rules.mk b/keyboards/jaykeeb/sebelas/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/jaykeeb/sebelas/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/jaykeeb/skyline/info.json b/keyboards/jaykeeb/skyline/info.json new file mode 100644 index 00000000000..068c11a8740 --- /dev/null +++ b/keyboards/jaykeeb/skyline/info.json @@ -0,0 +1,563 @@ +{ + "manufacturer": "Jaykeeb", + "keyboard_name": "Skyline", + "maintainer": "Alabahuy", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "GP24", + "scroll_lock": "GP12", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["GP11", "GP10", "GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0", "GP29", "GP28", "GP16", "GP15", "GP14"], + "rows": ["GP13", "GP27", "GP26", "GP25", "GP22", "GP23"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0799", + "vid": "0x414C" + }, + "community_layouts": [ + "tkl_ansi_tsangan", + "tkl_ansi_tsangan_split_bs_rshift", + "tkl_iso_tsangan", + "tkl_iso_tsangan_split_bs_rshift" + ], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "\\", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Delete", "matrix": [2, 13], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [3, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\u2298", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn1", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [3, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "\\", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Delete", "matrix": [2, 13], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [3, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn1", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 4], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 9], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "Fn", "matrix": [5, 10], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 11], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 12], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 7], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + + {"label": "Delete", "matrix": [2, 13], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 14], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [2, 15], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "\\", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Delete", "matrix": [2, 13], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + + {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn1", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 7], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/jaykeeb/skyline/keymaps/default/keymap.c b/keyboards/jaykeeb/skyline/keymaps/default/keymap.c new file mode 100644 index 00000000000..78cf4b4c44d --- /dev/null +++ b/keyboards/jaykeeb/skyline/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2023 Alabahuy + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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 + ), + + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; \ No newline at end of file diff --git a/keyboards/jaykeeb/skyline/keymaps/via/keymap.c b/keyboards/jaykeeb/skyline/keymaps/via/keymap.c new file mode 100644 index 00000000000..78cf4b4c44d --- /dev/null +++ b/keyboards/jaykeeb/skyline/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2023 Alabahuy + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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 + ), + + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; \ No newline at end of file diff --git a/keyboards/jaykeeb/skyline/keymaps/via/rules.mk b/keyboards/jaykeeb/skyline/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/jaykeeb/skyline/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/jaykeeb/skyline/matrix_diagram.md b/keyboards/jaykeeb/skyline/matrix_diagram.md new file mode 100644 index 00000000000..419567fab54 --- /dev/null +++ b/keyboards/jaykeeb/skyline/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for Skyline + +``` +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ +│00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0E │0F │0G │ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │2D │ │1E │1F │1G │ │1D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ └─┬─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │3D │ │2E │2F │2G │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐3D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │ │3C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │ +├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───┐ +│50 │51 │52 │57 │5B │5C │5D │ │5E │5F │5G │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘ +┌────────┐ ┌──────────┐ +│40 │ 2.25u LShift 2.75u RShift │4C │ +└────────┘ └──────────┘ +``` diff --git a/keyboards/jaykeeb/skyline/readme.md b/keyboards/jaykeeb/skyline/readme.md new file mode 100644 index 00000000000..92291310e04 --- /dev/null +++ b/keyboards/jaykeeb/skyline/readme.md @@ -0,0 +1,27 @@ +#Skyline + +![skyline](https://i.imgur.com/nIeOhKth.png) + +PCB for "Skyline" TKL Mechanical Keyboard + +* Keyboard Maintainer: [Alabahuy](https://github.com/alabahuy) +* Hardware Supported: Skyline PCB, RP2040 +* Hardware Availability: Private GB + +Make example for this keyboard (after setting up your build environment): + + make jaykeeb/skyline:default + +Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) + + make jaykeeb/skyline: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 \ No newline at end of file diff --git a/keyboards/jaykeeb/skyline/rules.mk b/keyboards/jaykeeb/skyline/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/jaykeeb/skyline/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/jc65/v32a/config.h b/keyboards/jc65/v32a/config.h index 6abe1d446de..cbd51af3b57 100644 --- a/keyboards/jc65/v32a/config.h +++ b/keyboards/jc65/v32a/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,7 +27,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 8 diff --git a/keyboards/jc65/v32a/info.json b/keyboards/jc65/v32a/info.json index 0c6413d5876..3067978e83a 100644 --- a/keyboards/jc65/v32a/info.json +++ b/keyboards/jc65/v32a/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/jc65/v32u4/config.h b/keyboards/jc65/v32u4/config.h index 35107f15183..05d2733f8b3 100644 --- a/keyboards/jc65/v32u4/config.h +++ b/keyboards/jc65/v32u4/config.h @@ -27,7 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/jc65/v32u4/info.json b/keyboards/jc65/v32u4/info.json index 1c56cc00ee8..4d1cd45e25a 100644 --- a/keyboards/jc65/v32u4/info.json +++ b/keyboards/jc65/v32u4/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "B6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c index b7349de55ae..e0046073c64 100644 --- a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c +++ b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c @@ -219,10 +219,6 @@ void matrix_init_user(void) { #endif } -void matrix_scan_user(void) { - -} - layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { case _BL: @@ -260,7 +256,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { } return state; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/jd40/config.h b/keyboards/jd40/config.h index cec546538a8..873b67a11dc 100644 --- a/keyboards/jd40/config.h +++ b/keyboards/jd40/config.h @@ -32,7 +32,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 // Number of LEDs -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/jd40/info.json b/keyboards/jd40/info.json index 1e11f466a07..3cdc06f7a46 100644 --- a/keyboards/jd40/info.json +++ b/keyboards/jd40/info.json @@ -8,6 +8,11 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/jels/jels60/config.h b/keyboards/jels/jels60/config.h deleted file mode 100644 index d78952f2611..00000000000 --- a/keyboards/jels/jels60/config.h +++ /dev/null @@ -1,23 +0,0 @@ - /* Copyright 2022 Joah Nelson (Jels) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - diff --git a/keyboards/jels/jels60/info.json b/keyboards/jels/jels60/info.json index 7f3edd48436..7194542d48a 100644 --- a/keyboards/jels/jels60/info.json +++ b/keyboards/jels/jels60/info.json @@ -8,16 +8,7 @@ "pid": "0x0060", "device_version": "0.0.1" }, - "matrix_pins": { - "cols": ["E6", "C7", "B4", "D7", "D6", "D4", "D5", "D3", "F5", "F6", "F7", "C6", "B6", "B5"], - "rows": ["B3", "D2", "F0", "F4", "F1"] - }, "diode_direction": "COL2ROW", - "indicators": { - "caps_lock": "B7" - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/jels/jels60/keymaps/default/keymap.c b/keyboards/jels/jels60/keymaps/default/keymap.c index 084f3d82755..b79cc89456b 100644 --- a/keyboards/jels/jels60/keymaps/default/keymap.c +++ b/keyboards/jels/jels60/keymaps/default/keymap.c @@ -1,18 +1,18 @@ - /* Copyright 2022 Joah Nelson (Jels) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 2022 Joah Nelson (Jels) +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +*/ #include QMK_KEYBOARD_H diff --git a/keyboards/jels/jels60/keymaps/via/keymap.c b/keyboards/jels/jels60/keymaps/via/keymap.c index 084f3d82755..b79cc89456b 100644 --- a/keyboards/jels/jels60/keymaps/via/keymap.c +++ b/keyboards/jels/jels60/keymaps/via/keymap.c @@ -1,18 +1,18 @@ - /* Copyright 2022 Joah Nelson (Jels) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 2022 Joah Nelson (Jels) +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +*/ #include QMK_KEYBOARD_H diff --git a/keyboards/jels/jels60/rules.mk b/keyboards/jels/jels60/rules.mk deleted file mode 100644 index 3b6a1809db1..00000000000 --- a/keyboards/jels/jels60/rules.mk +++ /dev/null @@ -1,12 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output diff --git a/keyboards/jels/jels60/v1/config.h b/keyboards/jels/jels60/v1/config.h new file mode 100644 index 00000000000..92b3d368015 --- /dev/null +++ b/keyboards/jels/jels60/v1/config.h @@ -0,0 +1,23 @@ +/* Copyright 2022 Joah Nelson (Jels) +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General 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 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + diff --git a/keyboards/jels/jels60/v1/info.json b/keyboards/jels/jels60/v1/info.json new file mode 100644 index 00000000000..6dc88d7895f --- /dev/null +++ b/keyboards/jels/jels60/v1/info.json @@ -0,0 +1,19 @@ +{ + "matrix_pins": { + "cols": ["E6", "C7", "B4", "D7", "D6", "D4", "D5", "D3", "F5", "F6", "F7", "C6", "B6", "B5"], + "rows": ["B3", "D2", "F0", "F4", "F1"] + }, + "indicators": { + "caps_lock": "B7" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": false + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu" +} diff --git a/keyboards/jels/jels60/v1/rules.mk b/keyboards/jels/jels60/v1/rules.mk new file mode 100644 index 00000000000..5566e1323fa --- /dev/null +++ b/keyboards/jels/jels60/v1/rules.mk @@ -0,0 +1 @@ +# left blank intentionally diff --git a/keyboards/jels/jels60/v2/config.h b/keyboards/jels/jels60/v2/config.h new file mode 100644 index 00000000000..02d9619a301 --- /dev/null +++ b/keyboards/jels/jels60/v2/config.h @@ -0,0 +1,25 @@ +/* Copyright 2022 Joah Nelson (Jels) +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General 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_PIO_USE_PIO1 +#define RGBLIGHT_DEFAULT_VAL 0 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/jels/jels60/v2/info.json b/keyboards/jels/jels60/v2/info.json new file mode 100644 index 00000000000..1945b101cfc --- /dev/null +++ b/keyboards/jels/jels60/v2/info.json @@ -0,0 +1,39 @@ +{ + "bootloader": "rp2040", + "processor": "RP2040", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": false + }, + "matrix_pins": { + "cols": ["GP24", "GP25", "GP23", "GP21", "GP22", "GP2", "GP1", "GP0", "GP6", "GP18", "GP19", "GP20", "GP9", "GP8"], + "rows": ["GP26", "GP27", "GP3", "GP4", "GP5"] + }, + "ws2812": { + "pin": "GP29", + "driver": "vendor" + }, + "rgblight": { + "led_count": 22, + "sleep": true, + "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 + } + }, + "indicators": { + "caps_lock": "GP28" + } +} diff --git a/keyboards/jels/jels60/v2/rules.mk b/keyboards/jels/jels60/v2/rules.mk new file mode 100644 index 00000000000..e0b4f1030fb --- /dev/null +++ b/keyboards/jels/jels60/v2/rules.mk @@ -0,0 +1 @@ +# left blank intentionally \ No newline at end of file diff --git a/keyboards/jels/jels88/config.h b/keyboards/jels/jels88/config.h index 6ce24bfbde5..491c0f4304b 100644 --- a/keyboards/jels/jels88/config.h +++ b/keyboards/jels/jels88/config.h @@ -17,8 +17,6 @@ #pragma once #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 20 // Number of LEDs -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/jels/jels88/info.json b/keyboards/jels/jels88/info.json index 2dc7c2f2acd..57845fa1a2b 100644 --- a/keyboards/jels/jels88/info.json +++ b/keyboards/jels/jels88/info.json @@ -20,7 +20,9 @@ "pin": "B6" }, "rgblight": { - "max_brightness": 225 + "led_count": 20, + "max_brightness": 225, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/jian/nsrev2/config.h b/keyboards/jian/nsrev2/config.h index 5bd79d3ce09..324c04e35f0 100644 --- a/keyboards/jian/nsrev2/config.h +++ b/keyboards/jian/nsrev2/config.h @@ -21,7 +21,6 @@ along with this program. If not, see . /* ws2812 RGB LED */ #define RGBLIGHT_TIMER -#define RGBLED_NUM 7 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,9 +32,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP -#define RGBLIGHT_SPLIT - #ifndef IOS_DEVICE_ENABLE #if RGBLED_NUM <= 6 #define RGBLIGHT_LIMIT_VAL 255 @@ -51,8 +47,6 @@ along with this program. If not, see . #endif #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 400 diff --git a/keyboards/jian/nsrev2/info.json b/keyboards/jian/nsrev2/info.json index 955fc517dec..d1ca0639bbb 100644 --- a/keyboards/jian/nsrev2/info.json +++ b/keyboards/jian/nsrev2/info.json @@ -13,6 +13,12 @@ "levels": 5, "breathing": true }, + "rgblight": { + "hue_steps": 10, + "led_count": 7, + "sleep": true, + "split": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/jian/rev1/config.h b/keyboards/jian/rev1/config.h index 11b99cc7399..22c9bf303eb 100644 --- a/keyboards/jian/rev1/config.h +++ b/keyboards/jian/rev1/config.h @@ -73,7 +73,6 @@ along with this program. If not, see . /* ws2812 RGB LED */ #define RGBLIGHT_TIMER -#define RGBLED_NUM 7 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -85,28 +84,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - -#define RGBLIGHT_SLEEP -#define RGBLIGHT_SPLIT - -#ifndef IOS_DEVICE_ENABLE -#if RGBLED_NUM <= 6 -#define RGBLIGHT_LIMIT_VAL 255 -#else -#define RGBLIGHT_LIMIT_VAL 130 -#endif -#define RGBLIGHT_VAL_STEP 8 -#else -#if RGBLED_NUM <= 6 -#define RGBLIGHT_LIMIT_VAL 90 -#else -#define RGBLIGHT_LIMIT_VAL 45 -#endif -#define RGBLIGHT_VAL_STEP 4 -#endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 - #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 400 #else diff --git a/keyboards/jian/rev1/info.json b/keyboards/jian/rev1/info.json index e7e386088a7..c1cde6e7e8c 100644 --- a/keyboards/jian/rev1/info.json +++ b/keyboards/jian/rev1/info.json @@ -12,6 +12,12 @@ "pin": "B6", "levels": 5 }, + "rgblight": { + "hue_steps": 10, + "led_count": 7, + "sleep": true, + "split": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/jian/rev1/post_config.h b/keyboards/jian/rev1/post_config.h new file mode 100644 index 00000000000..fade065e192 --- /dev/null +++ b/keyboards/jian/rev1/post_config.h @@ -0,0 +1,17 @@ +#pragma once + +#ifndef IOS_DEVICE_ENABLE +# if RGBLED_NUM <= 6 +# define RGBLIGHT_LIMIT_VAL 255 +# else +# define RGBLIGHT_LIMIT_VAL 130 +# endif +# define RGBLIGHT_VAL_STEP 8 +#else +# if RGBLED_NUM <= 6 +# define RGBLIGHT_LIMIT_VAL 90 +# else +# define RGBLIGHT_LIMIT_VAL 45 +# endif +# define RGBLIGHT_VAL_STEP 4 +#endif diff --git a/keyboards/jian/rev2/config.h b/keyboards/jian/rev2/config.h index 147c2cf147b..4d86f1659e6 100644 --- a/keyboards/jian/rev2/config.h +++ b/keyboards/jian/rev2/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . /* ws2812 RGB LED */ #define RGBLIGHT_TIMER -#define RGBLED_NUM 7 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -37,27 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP -#define RGBLIGHT_SPLIT - -#ifndef IOS_DEVICE_ENABLE -#if RGBLED_NUM <= 6 -#define RGBLIGHT_LIMIT_VAL 255 -#else -#define RGBLIGHT_LIMIT_VAL 130 -#endif -#define RGBLIGHT_VAL_STEP 8 -#else -#if RGBLED_NUM <= 6 -#define RGBLIGHT_LIMIT_VAL 90 -#else -#define RGBLIGHT_LIMIT_VAL 45 -#endif -#define RGBLIGHT_VAL_STEP 4 -#endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 - #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 400 #else diff --git a/keyboards/jian/rev2/info.json b/keyboards/jian/rev2/info.json index 7fecaed1f09..90cbefc3347 100644 --- a/keyboards/jian/rev2/info.json +++ b/keyboards/jian/rev2/info.json @@ -12,6 +12,12 @@ "pin": "C6", "levels": 5 }, + "rgblight": { + "hue_steps": 10, + "led_count": 7, + "sleep": true, + "split": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/jian/rev2/post_config.h b/keyboards/jian/rev2/post_config.h new file mode 100644 index 00000000000..fade065e192 --- /dev/null +++ b/keyboards/jian/rev2/post_config.h @@ -0,0 +1,17 @@ +#pragma once + +#ifndef IOS_DEVICE_ENABLE +# if RGBLED_NUM <= 6 +# define RGBLIGHT_LIMIT_VAL 255 +# else +# define RGBLIGHT_LIMIT_VAL 130 +# endif +# define RGBLIGHT_VAL_STEP 8 +#else +# if RGBLED_NUM <= 6 +# define RGBLIGHT_LIMIT_VAL 90 +# else +# define RGBLIGHT_LIMIT_VAL 45 +# endif +# define RGBLIGHT_VAL_STEP 4 +#endif diff --git a/keyboards/jiran/rev2/config.h b/keyboards/jiran/rev2/config.h index 39e1eaae4c7..219e4dc5d56 100644 --- a/keyboards/jiran/rev2/config.h +++ b/keyboards/jiran/rev2/config.h @@ -27,8 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 56 -#define RGBLIGHT_SPLIT -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/jiran/rev2/info.json b/keyboards/jiran/rev2/info.json index 9ee15f7af11..dab79134ed3 100644 --- a/keyboards/jiran/rev2/info.json +++ b/keyboards/jiran/rev2/info.json @@ -1,5 +1,7 @@ { "rgblight": { + "hue_steps": 10, + "led_count": 56, "split_count": [28, 28] }, "ws2812": { diff --git a/keyboards/jkeys_design/gentleman65/config.h b/keyboards/jkeys_design/gentleman65/config.h index 1b66b1bb25d..764748f3da9 100644 --- a/keyboards/jkeys_design/gentleman65/config.h +++ b/keyboards/jkeys_design/gentleman65/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 14 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/jkeys_design/gentleman65/info.json b/keyboards/jkeys_design/gentleman65/info.json index 9624933b8db..3586c8ed193 100644 --- a/keyboards/jkeys_design/gentleman65/info.json +++ b/keyboards/jkeys_design/gentleman65/info.json @@ -8,6 +8,9 @@ "pid": "0x2020", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/features/custom_shift_keys.c b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/features/custom_shift_keys.c new file mode 100644 index 00000000000..e217adcf09e --- /dev/null +++ b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/features/custom_shift_keys.c @@ -0,0 +1,72 @@ +// Copyright 2021-2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file custom_shift_keys.c + * @brief Custom Shift Keys implementation + * + * For full documentation, see + * + */ + +#include "custom_shift_keys.h" + +bool process_custom_shift_keys(uint16_t keycode, keyrecord_t *record) { + static uint16_t registered_keycode = KC_NO; + + // If a custom shift key is registered, then this event is either releasing + // it or manipulating another key at the same time. Either way, we release + // the currently registered key. + if (registered_keycode != KC_NO) { + unregister_code16(registered_keycode); + registered_keycode = KC_NO; + } + + if (record->event.pressed) { // Press event. + const uint8_t mods = get_mods(); +#ifndef NO_ACTION_ONESHOT + if ((mods | get_weak_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) { +#else + if ((mods | get_weak_mods()) & MOD_MASK_SHIFT) { // Shift is held. +#endif // NO_ACTION_ONESHOT + // Continue default handling if this is a tap-hold key being held. + if ((IS_QK_MOD_TAP(keycode) || IS_QK_LAYER_TAP(keycode)) && record->tap.count == 0) { + return true; + } + + // Search for a custom shift key whose keycode is `keycode`. + for (int i = 0; i < NUM_CUSTOM_SHIFT_KEYS; ++i) { + if (keycode == custom_shift_keys[i].keycode) { + registered_keycode = custom_shift_keys[i].shifted_keycode; + if (IS_QK_MODS(registered_keycode) && // Should keycode be shifted? + (QK_MODS_GET_MODS(registered_keycode) & MOD_LSFT) != 0) { + register_code16(registered_keycode); // If so, press it directly. + } else { + // Otherwise cancel shift mods, press the key, and restore mods. + del_weak_mods(MOD_MASK_SHIFT); +#ifndef NO_ACTION_ONESHOT + del_oneshot_mods(MOD_MASK_SHIFT); +#endif // NO_ACTION_ONESHOT + unregister_mods(MOD_MASK_SHIFT); + register_code16(registered_keycode); + set_mods(mods); + } + return false; + } + } + } + } + + return true; // Continue with default handling. +} \ No newline at end of file diff --git a/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/features/custom_shift_keys.h b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/features/custom_shift_keys.h new file mode 100644 index 00000000000..7d1ee13a459 --- /dev/null +++ b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/features/custom_shift_keys.h @@ -0,0 +1,99 @@ +// Copyright 2021-2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file custom_shift_keys.h + * @brief Custom shift keys: customize what keycode is produced when shifted. + * + * Overview + * -------- + * + * This library implements custom shift keys, keys where you can customize + * what keycode is produced when shifted. + * + * Step 1: In your keymap.c, define a table of custom shift keys like + * + * #include "features/custom_shift_keys.h" + * + * const custom_shift_key_t custom_shift_keys[] = { + * {KC_DOT , KC_QUES}, // Shift . is ? + * {KC_COMM, KC_EXLM}, // Shift , is ! + * {KC_MINS, KC_EQL }, // Shift - is = + * {KC_COLN, KC_SCLN}, // Shift : is ; + * }; + * + * Each row defines one key. The first field is the keycode as it appears in + * your layout and determines what is typed normally. The second entry is what + * you want the key to type when shifted. + * + * Step 2: Handle custom shift keys from your `process_record_user` function as + * + * bool process_record_user(uint16_t keycode, keyrecord_t* record) { + * if (!process_custom_shift_keys(keycode, record)) { return false; } + * // Your macros ... + * + * return true; + * } + * + * Step 3: add `features/custom_shift_keys.c` to your rules.mk as + * + * SRC += features/custom_shift_keys.c + * + * + * For full documentation, see + * + */ + +#pragma once + +#include "quantum.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Custom shift key entry. The `keycode` field is the keycode as it appears in + * your layout and determines what is typed normally. The `shifted_keycode` is + * what you want the key to type when shifted. + */ +typedef struct { + uint16_t keycode; + uint16_t shifted_keycode; +} custom_shift_key_t; + +/** Table of custom shift keys. */ +extern const custom_shift_key_t custom_shift_keys[]; +/** Number of entries in the `custom_shift_keys` table. */ +extern uint8_t NUM_CUSTOM_SHIFT_KEYS; + +/** + * Handler function for custom shift keys. + * + * In keymap.c, call this function from your `process_record_user` function as + * + * #include "features/custom_shift_keys.h" + * + * bool process_record_user(uint16_t keycode, keyrecord_t* record) { + * if (!process_custom_shift_keys(keycode, record)) { return false; } + * // Your macros ... + * + * return true; + * } + */ +bool process_custom_shift_keys(uint16_t keycode, keyrecord_t *record); + +#ifdef __cplusplus +} +#endif \ No newline at end of file diff --git a/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/keymap.c b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/keymap.c index 619231a6ab2..cb6fff1a0fd 100644 --- a/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/keymap.c +++ b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/keymap.c @@ -14,6 +14,7 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H +#include "features/custom_shift_keys.h" #define FN_ESC LT(_FUNC, KC_ESC) @@ -29,6 +30,10 @@ enum gentleman_keycodes { FUNC, }; +const custom_shift_key_t custom_shift_keys[] = {{KC_ESC, KC_TILD}}; + +uint8_t NUM_CUSTOM_SHIFT_KEYS = sizeof(custom_shift_keys) / sizeof(custom_shift_key_t); + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = 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_TRNS, @@ -78,6 +83,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_custom_shift_keys(keycode, record)) { + return false; + } switch (keycode) { case QWERTY: if (record->event.pressed) { @@ -90,7 +98,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; } - + return true; } - diff --git a/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/readme.md b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/readme.md index b7c0fb5c5d4..feebedc544e 100644 --- a/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/readme.md +++ b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/readme.md @@ -10,5 +10,5 @@ ## Building and flashing ``` -make gentleman65:briianpowell:flash +make jkeys_design/gentleman65:briianpowell:flash ``` diff --git a/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/rules.mk b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/rules.mk new file mode 100644 index 00000000000..ac89d139028 --- /dev/null +++ b/keyboards/jkeys_design/gentleman65/keymaps/briianpowell/rules.mk @@ -0,0 +1 @@ +SRC += features/custom_shift_keys.c diff --git a/keyboards/jkeys_design/gentleman65/rules.mk b/keyboards/jkeys_design/gentleman65/rules.mk index f81996d7021..bb89340fbf1 100644 --- a/keyboards/jkeys_design/gentleman65/rules.mk +++ b/keyboards/jkeys_design/gentleman65/rules.mk @@ -11,4 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = no -ENCODER_ENABLE = yes \ No newline at end of file +ENCODER_ENABLE = yes diff --git a/keyboards/jkeys_design/gentleman65_se_s/config.h b/keyboards/jkeys_design/gentleman65_se_s/config.h index 1b66b1bb25d..764748f3da9 100644 --- a/keyboards/jkeys_design/gentleman65_se_s/config.h +++ b/keyboards/jkeys_design/gentleman65_se_s/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 14 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/jkeys_design/gentleman65_se_s/info.json b/keyboards/jkeys_design/gentleman65_se_s/info.json index 6886f8f24b1..2108bad6d2f 100644 --- a/keyboards/jkeys_design/gentleman65_se_s/info.json +++ b/keyboards/jkeys_design/gentleman65_se_s/info.json @@ -8,6 +8,9 @@ "pid": "0x2322", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/jm60/rules.mk b/keyboards/jm60/rules.mk index 47b3dc0faa6..5dbf13f5e78 100644 --- a/keyboards/jm60/rules.mk +++ b/keyboards/jm60/rules.mk @@ -20,5 +20,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/jolofsor/denial75/config.h b/keyboards/jolofsor/denial75/config.h index a80552a780d..785fdc3e5ee 100644 --- a/keyboards/jolofsor/denial75/config.h +++ b/keyboards/jolofsor/denial75/config.h @@ -24,9 +24,4 @@ /* RGB Definitions */ - -#define RGBLED_NUM 84 #define RGBLIGHT_MAX_LAYERS 32 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/jolofsor/denial75/info.json b/keyboards/jolofsor/denial75/info.json index 6f1388f49e4..545243e410b 100644 --- a/keyboards/jolofsor/denial75/info.json +++ b/keyboards/jolofsor/denial75/info.json @@ -16,6 +16,8 @@ "pin": "D2" }, "rgblight": { + "hue_steps": 10, + "led_count": 84, "max_brightness": 200 }, "diode_direction": "COL2ROW", diff --git a/keyboards/jones/v03/config.h b/keyboards/jones/v03/config.h index 1d6b6e7ad91..212bad3b77c 100644 --- a/keyboards/jones/v03/config.h +++ b/keyboards/jones/v03/config.h @@ -37,10 +37,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { D4, D7, C7, F1, F4, F5, D6, D5, E6, B0, B1 } #define MATRIX_COL_PINS { D4, D7, C7, F1, F4, F5, D6, D5, E6, B0, B1 } -/* COL2ROW, ROW2COL*/ -// No need to define DIODE_DIRECTION for Jones' custom Round-Robin matrix. -//#define DIODE_DIRECTION COL2ROW - /* Audio */ #ifdef AUDIO_ENABLE #define AUDIO_PIN C6 @@ -48,11 +44,6 @@ along with this program. If not, see . #define AUDIO_CLICKY #endif - #define RGBLED_NUM 6 // Left(4) + Right(2) - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== Lighting Layers ==*/ #define RGBLIGHT_LAYERS // #define RGBLIGHT_MAX_LAYERS 2 diff --git a/keyboards/jones/v03/info.json b/keyboards/jones/v03/info.json index 6b4dbb0884c..41b3937c020 100644 --- a/keyboards/jones/v03/info.json +++ b/keyboards/jones/v03/info.json @@ -14,6 +14,11 @@ {"pin_a": "B3", "pin_b": "B2"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/jones/v03_1/config.h b/keyboards/jones/v03_1/config.h index b3eb44a1566..eae7755da60 100644 --- a/keyboards/jones/v03_1/config.h +++ b/keyboards/jones/v03_1/config.h @@ -37,10 +37,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { D4, D7, C7, F1, F4, F5, D6, D5, E6, B0, B1 } #define MATRIX_COL_PINS { D4, D7, C7, F1, F4, F5, D6, D5, E6, B0, B1 } -/* COL2ROW, ROW2COL*/ -// No need to define DIODE_DIRECTION for Jones' custom Round-Robin matrix. -//#define DIODE_DIRECTION COL2ROW - /* Audio */ #ifdef AUDIO_ENABLE #define AUDIO_PIN C6 @@ -48,12 +44,6 @@ along with this program. If not, see . #define AUDIO_CLICKY #endif - #define RGBLED_NUM 14 // Left(4) + Right(2) + Under(8) - #define RGBLIGHT_LED_MAP {0,1,2,3,13,12,4,5,6,7,8,9,10,11} // Left --> Right --> Under - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== Lighting Layers ==*/ #define RGBLIGHT_LAYERS // #define RGBLIGHT_MAX_LAYERS 2 diff --git a/keyboards/jones/v03_1/info.json b/keyboards/jones/v03_1/info.json index d0fec4e5716..41694a733cc 100644 --- a/keyboards/jones/v03_1/info.json +++ b/keyboards/jones/v03_1/info.json @@ -14,6 +14,12 @@ {"pin_a": "B3", "pin_b": "B2"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "led_map": [0, 1, 2, 3, 13, 12, 4, 5, 6, 7, 8, 9, 10, 11] + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/jones/v1/config.h b/keyboards/jones/v1/config.h index 3017ca2ab0a..e36574e56a8 100644 --- a/keyboards/jones/v1/config.h +++ b/keyboards/jones/v1/config.h @@ -25,10 +25,6 @@ along with this program. If not, see . #endif /* RGBLIGHT */ - #define RGBLED_NUM 4 // Left(2) + Right(2) - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 /*== Lighting Layers ==*/ #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF // Overriding RGB Lighting on/off status diff --git a/keyboards/jones/v1/info.json b/keyboards/jones/v1/info.json index cd0286ef6bf..fdc5cbd3101 100644 --- a/keyboards/jones/v1/info.json +++ b/keyboards/jones/v1/info.json @@ -12,6 +12,11 @@ "cols": ["B3", "B2", "E6", "D6", "D4", "B0", "B1", "B7", "B4", "D7"], "rows": ["B3", "B2", "E6", "D6", "D4", "B0", "B1", "B7", "B4", "D7"] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "F1" }, @@ -30,87 +35,81 @@ "layouts": { "LAYOUT": { "layout": [ - {"label": "k09", "matrix": [0, 9], "x": 0.5, "y": 0}, - {"label": "k59", "matrix": [5, 9], "x": 1.5, "y": 0}, - {"label": "k08", "matrix": [0, 8], "x": 2.5, "y": 0}, - {"label": "k54", "matrix": [5, 4], "x": 3.5, "y": 0}, - {"label": "k04", "matrix": [0, 4], "x": 4.5, "y": 0}, - {"label": "k50", "matrix": [5, 0], "x": 5.5, "y": 0}, - {"label": "k56", "matrix": [5, 6], "x": 6.5, "y": 0}, - {"label": "k06", "matrix": [0, 6], "x": 7.5, "y": 0}, - {"label": "k05", "matrix": [0, 5], "x": 8.5, "y": 0}, - {"label": "k52", "matrix": [5, 2], "x": 9.5, "y": 0}, - {"label": "k02", "matrix": [0, 2], "x": 10.5, "y": 0}, - {"label": "k53", "matrix": [5, 3], "x": 11.5, "y": 0}, - {"label": "k07", "matrix": [0, 7], "x": 12.5, "y": 0}, - {"label": "k51", "matrix": [5, 1], "x": 13.5, "y": 0}, - {"label": "k01", "matrix": [0, 1], "x": 14.5, "y": 0}, - - {"label": "k19", "matrix": [1, 9], "x": 0.5, "y": 1, "w": 1.5}, - {"label": "k69", "matrix": [6, 9], "x": 2, "y": 1}, - {"label": "k18", "matrix": [1, 8], "x": 3, "y": 1}, - {"label": "k64", "matrix": [6, 4], "x": 4, "y": 1}, - {"label": "k14", "matrix": [1, 4], "x": 5, "y": 1}, - {"label": "k60", "matrix": [6, 0], "x": 6, "y": 1}, - {"label": "k10", "matrix": [1, 0], "x": 7, "y": 1}, - {"label": "k16", "matrix": [1, 6], "x": 8, "y": 1}, - {"label": "k15", "matrix": [1, 5], "x": 9, "y": 1}, - {"label": "k62", "matrix": [6, 2], "x": 10, "y": 1}, - {"label": "k12", "matrix": [1, 2], "x": 11, "y": 1}, - {"label": "k63", "matrix": [6, 3], "x": 12, "y": 1}, - {"label": "k17", "matrix": [1, 7], "x": 13, "y": 1}, - {"label": "k61", "matrix": [6, 1], "x": 14, "y": 1, "w": 1.5}, - - {"label": "k29", "matrix": [2, 9], "x": 0.5, "y": 2, "w": 1.5}, - {"label": "k79", "matrix": [7, 9], "x": 2, "y": 2}, - {"label": "k28", "matrix": [2, 8], "x": 3, "y": 2}, - {"label": "k74", "matrix": [7, 4], "x": 4, "y": 2}, - {"label": "k24", "matrix": [2, 4], "x": 5, "y": 2}, - {"label": "k70", "matrix": [7, 0], "x": 6, "y": 2}, - {"label": "k20", "matrix": [2, 0], "x": 7, "y": 2}, - {"label": "k26", "matrix": [2, 6], "x": 8, "y": 2}, - {"label": "k25", "matrix": [2, 5], "x": 9, "y": 2}, - {"label": "k72", "matrix": [7, 2], "x": 10, "y": 2}, - {"label": "k23", "matrix": [2, 3], "x": 11, "y": 2}, - {"label": "k73", "matrix": [7, 3], "x": 12, "y": 2}, - {"label": "k27", "matrix": [2, 7], "x": 13, "y": 2}, - {"label": "k71", "matrix": [7, 1], "x": 14, "y": 2, "w": 1.5}, + {"label": "k09", "matrix": [0, 9], "x": 0, "y": 0}, + {"label": "k59", "matrix": [5, 9], "x": 1, "y": 0}, + {"label": "k08", "matrix": [0, 8], "x": 2, "y": 0}, + {"label": "k54", "matrix": [5, 4], "x": 3, "y": 0}, + {"label": "k04", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "k50", "matrix": [5, 0], "x": 5, "y": 0}, + {"label": "k56", "matrix": [5, 6], "x": 6, "y": 0}, + {"label": "k06", "matrix": [0, 6], "x": 7, "y": 0}, + {"label": "k05", "matrix": [0, 5], "x": 8, "y": 0}, + {"label": "k52", "matrix": [5, 2], "x": 9, "y": 0}, + {"label": "k02", "matrix": [0, 2], "x": 10, "y": 0}, + {"label": "k53", "matrix": [5, 3], "x": 11, "y": 0}, + {"label": "k07", "matrix": [0, 7], "x": 12, "y": 0}, + {"label": "k51", "matrix": [5, 1], "x": 13, "y": 0}, + {"label": "k01", "matrix": [0, 1], "x": 14, "y": 0}, - {"label": "k39", "matrix": [3, 9], "x": 0.5, "y": 3}, - {"label": "k89", "matrix": [8, 9], "x": 1.5, "y": 3}, - {"label": "k38", "matrix": [3, 8], "x": 2.5, "y": 3}, - {"label": "k84", "matrix": [8, 4], "x": 3.5, "y": 3}, - {"label": "k34", "matrix": [3, 4], "x": 4.5, "y": 3}, - {"label": "k80", "matrix": [8, 0], "x": 5.5, "y": 3}, - {"label": "k30", "matrix": [3, 0], "x": 6.5, "y": 3}, - {"label": "k36", "matrix": [3, 6], "x": 7.5, "y": 3}, - {"label": "k35", "matrix": [3, 5], "x": 8.5, "y": 3}, - {"label": "k82", "matrix": [8, 2], "x": 9.5, "y": 3}, - {"label": "k32", "matrix": [3, 2], "x": 10.5, "y": 3}, - {"label": "k83", "matrix": [8, 3], "x": 11.5, "y": 3}, - {"label": "k37", "matrix": [3, 7], "x": 12.5, "y": 3}, - {"label": "k81", "matrix": [8, 1], "x": 13.5, "y": 3}, - {"label": "k31", "matrix": [3, 1], "x": 14.5, "y": 3}, + {"label": "k19", "matrix": [1, 9], "x": 0, "y": 1, "w": 1.5}, + {"label": "k69", "matrix": [6, 9], "x": 1.5, "y": 1}, + {"label": "k18", "matrix": [1, 8], "x": 2.5, "y": 1}, + {"label": "k64", "matrix": [6, 4], "x": 3.5, "y": 1}, + {"label": "k14", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "k60", "matrix": [6, 0], "x": 5.5, "y": 1}, + {"label": "k10", "matrix": [1, 0], "x": 6.5, "y": 1}, + {"label": "k16", "matrix": [1, 6], "x": 7.5, "y": 1}, + {"label": "k15", "matrix": [1, 5], "x": 8.5, "y": 1}, + {"label": "k62", "matrix": [6, 2], "x": 9.5, "y": 1}, + {"label": "k12", "matrix": [1, 2], "x": 10.5, "y": 1}, + {"label": "k63", "matrix": [6, 3], "x": 11.5, "y": 1}, + {"label": "k17", "matrix": [1, 7], "x": 12.5, "y": 1}, + {"label": "k61", "matrix": [6, 1], "x": 13.5, "y": 1, "w": 1.5}, - {"label": "k49", "matrix": [4, 9], "x": 0.5, "y": 4}, - {"label": "k98", "matrix": [9, 8], "x": 1.5, "y": 4}, - {"label": "k48", "matrix": [4, 8], "x": 2.5, "y": 4, "w": 1.25}, - {"label": "k94", "matrix": [9, 4], "x": 3.75, "y": 4, "w": 1.25}, - {"label": "k90", "matrix": [9, 0], "x": 5, "y": 4, "w": 1.5}, - {"label": "k46", "matrix": [4, 6], "x": 6.5, "y": 4}, - {"label": "k45", "matrix": [4, 5], "x": 7.5, "y": 4}, - {"label": "k92", "matrix": [9, 2], "x": 8.5, "y": 4}, - {"label": "k42", "matrix": [4, 2], "x": 9.5, "y": 4, "w": 1.5}, - {"label": "k93", "matrix": [9, 3], "x": 11, "y": 4, "w": 1.25}, - {"label": "k47", "matrix": [4, 7], "x": 12.25, "y": 4, "w": 1.25}, - {"label": "k91", "matrix": [9, 1], "x": 13.5, "y": 4}, - {"label": "k41", "matrix": [4, 1], "x": 14.5, "y": 4}, + {"label": "k29", "matrix": [2, 9], "x": 0, "y": 2, "w": 1.5}, + {"label": "k79", "matrix": [7, 9], "x": 1.5, "y": 2}, + {"label": "k28", "matrix": [2, 8], "x": 2.5, "y": 2}, + {"label": "k74", "matrix": [7, 4], "x": 3.5, "y": 2}, + {"label": "k24", "matrix": [2, 4], "x": 4.5, "y": 2}, + {"label": "k70", "matrix": [7, 0], "x": 5.5, "y": 2}, + {"label": "k20", "matrix": [2, 0], "x": 6.5, "y": 2}, + {"label": "k26", "matrix": [2, 6], "x": 7.5, "y": 2}, + {"label": "k25", "matrix": [2, 5], "x": 8.5, "y": 2}, + {"label": "k72", "matrix": [7, 2], "x": 9.5, "y": 2}, + {"label": "k23", "matrix": [2, 3], "x": 10.5, "y": 2}, + {"label": "k73", "matrix": [7, 3], "x": 11.5, "y": 2}, + {"label": "k27", "matrix": [2, 7], "x": 12.5, "y": 2}, + {"label": "k71", "matrix": [7, 1], "x": 13.5, "y": 2, "w": 1.5}, - {"label": "k85", "matrix": [8, 5], "x": 0, "y": 5}, - {"label": "k86", "matrix": [8, 6], "x": 1, "y": 5}, + {"label": "k39", "matrix": [3, 9], "x": 0, "y": 3}, + {"label": "k89", "matrix": [8, 9], "x": 1, "y": 3}, + {"label": "k38", "matrix": [3, 8], "x": 2, "y": 3}, + {"label": "k84", "matrix": [8, 4], "x": 3, "y": 3}, + {"label": "k34", "matrix": [3, 4], "x": 4, "y": 3}, + {"label": "k80", "matrix": [8, 0], "x": 5, "y": 3}, + {"label": "k30", "matrix": [3, 0], "x": 6, "y": 3}, + {"label": "k36", "matrix": [3, 6], "x": 7, "y": 3}, + {"label": "k35", "matrix": [3, 5], "x": 8, "y": 3}, + {"label": "k82", "matrix": [8, 2], "x": 9, "y": 3}, + {"label": "k32", "matrix": [3, 2], "x": 10, "y": 3}, + {"label": "k83", "matrix": [8, 3], "x": 11, "y": 3}, + {"label": "k37", "matrix": [3, 7], "x": 12, "y": 3}, + {"label": "k81", "matrix": [8, 1], "x": 13, "y": 3}, + {"label": "k31", "matrix": [3, 1], "x": 14, "y": 3}, - {"label": "k95", "matrix": [9, 5], "x": 14, "y": 5}, - {"label": "k96", "matrix": [9, 6], "x": 15, "y": 5} + {"label": "k49", "matrix": [4, 9], "x": 0, "y": 4}, + {"label": "k98", "matrix": [9, 8], "x": 1, "y": 4}, + {"label": "k48", "matrix": [4, 8], "x": 2, "y": 4, "w": 1.25}, + {"label": "k94", "matrix": [9, 4], "x": 3.25, "y": 4, "w": 1.25}, + {"label": "k90", "matrix": [9, 0], "x": 4.5, "y": 4, "w": 1.5}, + {"label": "k46", "matrix": [4, 6], "x": 6, "y": 4}, + {"label": "k45", "matrix": [4, 5], "x": 7, "y": 4}, + {"label": "k92", "matrix": [9, 2], "x": 8, "y": 4}, + {"label": "k42", "matrix": [4, 2], "x": 9, "y": 4, "w": 1.5}, + {"label": "k93", "matrix": [9, 3], "x": 10.5, "y": 4, "w": 1.25}, + {"label": "k47", "matrix": [4, 7], "x": 11.75, "y": 4, "w": 1.25}, + {"label": "k91", "matrix": [9, 1], "x": 13, "y": 4}, + {"label": "k41", "matrix": [4, 1], "x": 14, "y": 4} ] } } diff --git a/keyboards/jones/v1/keymaps/default/keymap.c b/keyboards/jones/v1/keymaps/default/keymap.c index 04da840a777..752c06f8159 100644 --- a/keyboards/jones/v1/keymaps/default/keymap.c +++ b/keyboards/jones/v1/keymaps/default/keymap.c @@ -34,31 +34,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_BSPC, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_SCLN, KC_QUOT, 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_LEFT, KC_RGHT, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, - KC_MUTE, KC_LNG2, KC_LGUI, KC_LALT, SP_LOW, SP_RAI, KC_BSPC, SP_RAI,KC_RALT, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, - KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU + KC_MUTE, KC_LNG2, KC_LGUI, KC_LALT, SP_LOW, SP_RAI, KC_BSPC, SP_RAI,KC_RALT, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), [_LOWER] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - _______, _______, _______, _______, _______, _______, _______, SP_ADJ,_______, _______, _______, _______, _______, - _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, SP_ADJ,_______, _______, _______, _______, _______ ), [_RAISE] = LAYOUT( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, KC_QUOT, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F11, KC_F12, - _______, _______, _______, _______, SP_ADJ, _______, _______, _______,_______, _______, _______, KC_DOWN, KC_UP, - _______, _______, _______, _______ + _______, _______, _______, _______, SP_ADJ, _______, _______, _______,_______, _______, _______, KC_DOWN, KC_UP ), [_ADJUST] = LAYOUT( _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, RGB_RMOD, _______, _______, AU_TOGG, CK_TOGG, MU_TOGG, MU_NEXT, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_MOD, _______, KC_CAPS, KC_CAPS, CK_RST, CK_DOWN, CK_UP, AU_PREV, AU_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, - _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______ ) }; diff --git a/keyboards/jones/v1/keymaps/via/config.h b/keyboards/jones/v1/keymaps/via/config.h deleted file mode 100644 index a66ab809048..00000000000 --- a/keyboards/jones/v1/keymaps/via/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2021 Takeshi Nishio - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -//------------------------------------------------------------------------------ -// Rotary Encoder -//------------------------------------------------------------------------------ -// Encoder triggers specific key matrix position, -// when turn knob clockwise or counterclockwise. -// This is handy to assign key codes by VIA. - -// Mappings of encoder rotation to key position in key matrix. -// First encoder, Left side : k85, k86 -// Second encoder, Right side : k95, k96 -#define ENCODERS_CW_KEY { { 6, 8 }, { 6, 9 } } -#define ENCODERS_CCW_KEY { { 5, 8 }, { 5, 9 } } diff --git a/keyboards/jones/v1/keymaps/via/keymap.c b/keyboards/jones/v1/keymaps/via/keymap.c index 3b41c401748..3f9b9faa86d 100644 --- a/keyboards/jones/v1/keymaps/via/keymap.c +++ b/keyboards/jones/v1/keymaps/via/keymap.c @@ -37,48 +37,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, JP_Q, JP_W, JP_E, JP_R, JP_T, JP_AT, JP_LBRC, JP_Y, JP_U, JP_I, JP_O, JP_P, KC_BSPC, KC_LCTL, JP_A, JP_S, JP_D, JP_F, JP_G, JP_COLN, JP_RBRC, JP_H, JP_J, JP_K, JP_L, JP_SCLN, KC_ENT, KC_LSFT, KC_LSFT, JP_Z, JP_X, JP_C, JP_V, JP_B, JP_SLSH, JP_BSLS, JP_N, JP_M, JP_COMM, JP_DOT, KC_DOWN, KC_UP, - KC_MUTE, KC_LGUI, KC_LALT, JP_MHEN, SP_LOW, SP_RAI, KC_BSPC, SP_RAI,SP_RAI, JP_HENK, JP_KANA, KC_LEFT, KC_RGHT, - KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU + KC_MUTE, KC_LGUI, KC_LALT, JP_MHEN, SP_LOW, SP_RAI, KC_BSPC, SP_RAI,SP_RAI, JP_HENK, JP_KANA, KC_LEFT, KC_RGHT ), [_BASE2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 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_P0, KC_PDOT, _______, _______, - _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_P0, KC_PDOT, _______, _______ ), [_BASE3] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, - _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______ ), [_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, _______, JP_EXLM, JP_DQUO, JP_HASH, JP_DLR, JP_PERC, JP_TILD, JP_PIPE, JP_AMPR, JP_QUOT, JP_LPRN, JP_RPRN, JP_EQL, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, SP_ADJ, _______, SP_ADJ,SP_ADJ, _______, _______, _______, _______, - _______, _______, _______, _______ + _______, _______, _______, _______, _______, SP_ADJ, _______, SP_ADJ,SP_ADJ, _______, _______, _______, _______ ), [_RAISE] = 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_ESC, JP_1, JP_2, JP_3, JP_4, JP_5, JP_CIRC, JP_YEN, JP_6, JP_7, JP_8, JP_9, JP_0, KC_DEL, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, - _______, _______, _______, _______, SP_ADJ, _______, _______, _______,_______, _______, _______, KC_DOWN, KC_UP, - _______, _______, _______, _______ + _______, _______, _______, _______, SP_ADJ, _______, _______, _______,_______, _______, _______, KC_DOWN, KC_UP ), [_ADJUST] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, DF(_BASE1),DF(_BASE2),DF(_BASE3),_______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, RGB_RMOD, _______, _______, AU_TOGG, CK_TOGG, MU_TOGG, MU_NEXT, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, RGB_MOD, _______, KC_CAPS, KC_CAPS, CK_RST, CK_DOWN, CK_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, - _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______ ), }; @@ -164,50 +158,16 @@ bool led_update_user(led_t led_state) { } #endif - -//------------------------------------------------------------------------------ -// Rotary Encoder -//------------------------------------------------------------------------------ -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return true; +#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(_______, _______) }, + [4] = { ENCODER_CCW_CW(_______, _______) }, + [5] = { ENCODER_CCW_CW(_______, _______) }, }; - +#endif //------------------------------------------------------------------------------ // Keyboard Initialization diff --git a/keyboards/jones/v1/keymaps/via/rules.mk b/keyboards/jones/v1/keymaps/via/rules.mk index e1d2dc05828..8dd8cb0c158 100644 --- a/keyboards/jones/v1/keymaps/via/rules.mk +++ b/keyboards/jones/v1/keymaps/via/rules.mk @@ -1,2 +1,3 @@ -# Use VIA VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes +AUDIO_ENABLE = no diff --git a/keyboards/jorne/rev1/config.h b/keyboards/jorne/rev1/config.h index 4a41d3e358e..623aaf149cc 100644 --- a/keyboards/jorne/rev1/config.h +++ b/keyboards/jorne/rev1/config.h @@ -2,8 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define RGBLED_NUM 56 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/jorne/rev1/info.json b/keyboards/jorne/rev1/info.json index f0a1817e8b7..1b1f156fa50 100644 --- a/keyboards/jorne/rev1/info.json +++ b/keyboards/jorne/rev1/info.json @@ -17,6 +17,7 @@ "soft_serial_pin": "D2" }, "rgblight": { + "led_count": 56, "split_count": [28, 28] }, "ws2812": { diff --git a/keyboards/junco/info.json b/keyboards/junco/info.json index 9fd699ca490..3762433765f 100644 --- a/keyboards/junco/info.json +++ b/keyboards/junco/info.json @@ -8,6 +8,11 @@ "pid": "0x4A13", "device_version": "1.0.0" }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"], + "rows": ["GP8", "GP9", "GP10", "GP11", "GP12"] + }, + "diode_direction": "COL2ROW", "ws2812": { "pin": "GP15", "driver": "vendor" @@ -15,6 +20,22 @@ "rgb_matrix": { "driver": "WS2812" }, + "encoder": { + "rotary": [ + {"pin_a": "GP16", "pin_b": "GP17"}, + {"pin_a": "GP14", "pin_b": "GP13"} + ] + }, + "split": { + "encoder": { + "right": { + "rotary": [ + {"pin_a": "GP14", "pin_b": "GP13"}, + {"pin_a": "GP16", "pin_b": "GP17"} + ] + } + } + }, "processor": "RP2040", "bootloader": "rp2040", "layouts": { diff --git a/keyboards/junco/rev1/config.h b/keyboards/junco/rev1/config.h index 95731fde01a..713d651d478 100644 --- a/keyboards/junco/rev1/config.h +++ b/keyboards/junco/rev1/config.h @@ -3,13 +3,6 @@ #pragma once -// Electrical Wiring Stuff -#define MATRIX_ROW_PINS \ - { GP8, GP9, GP10, GP11, GP12 } -#define MATRIX_COL_PINS \ - { GP2, GP3, GP4, GP5, GP6, GP7 } -#define DIODE_DIRECTION COL2ROW - // Split Keyboard Stuff #define EE_HANDS // Sets the keyboard’s handedness using EEPROM #define SERIAL_USART_FULL_DUPLEX // Use full duplex communication (TRRS) @@ -24,19 +17,3 @@ { 37, 37 } // 37 LEDs on each side #endif - -/* Rotary Encoders Definition */ -// Indexing goes from physical leftmost to rightmost -// 0: left-half left | 1: left-half right | 2: right-half left | 3: right-half right -#ifdef ENCODER_ENABLE - -# define ENCODERS_PAD_A \ - { GP16, GP14 } -# define ENCODERS_PAD_B \ - { GP17, GP13 } -# define ENCODERS_PAD_A_RIGHT \ - { GP14, GP16 } -# define ENCODERS_PAD_B_RIGHT \ - { GP13, GP17 } - -#endif diff --git a/keyboards/k34/info.json b/keyboards/k34/info.json index 525a6e8dcdc..715cb9060bd 100644 --- a/keyboards/k34/info.json +++ b/keyboards/k34/info.json @@ -13,10 +13,10 @@ "rows": ["F4", "B2", "E6", "B4"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "atmel-dfu", + "development_board": "promicro", + "community_layouts": ["split_3x5_2"], "layouts": { - "LAYOUT": { + "LAYOUT_split_3x5_2": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0.3}, {"matrix": [0, 1], "x": 1, "y": 0.1}, diff --git a/keyboards/k34/keymaps/default/config.h b/keyboards/k34/keymaps/default/config.h index f16dbc00423..5d7e44f7593 100644 --- a/keyboards/k34/keymaps/default/config.h +++ b/keyboards/k34/keymaps/default/config.h @@ -1,16 +1,5 @@ - /* Copyright Wong Jing Ping <@wongjingping> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - */ +// Copyright 2021 jp_smasher (@jp_smasher) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keyboards/k34/keymaps/default/keymap.c b/keyboards/k34/keymaps/default/keymap.c index ae8b7dc3400..4d09b121dd5 100644 --- a/keyboards/k34/keymaps/default/keymap.c +++ b/keyboards/k34/keymaps/default/keymap.c @@ -37,25 +37,25 @@ combo_t key_combos[] = {COMBO(jk_combo, KC_ESC)}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - G_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, G_SC, - S_Z, A_X, C_C, KC_V, KC_B, KC_N, KC_M, C_COMM, A_DOT, S_SLSH, - L1, KC_SPC, KC_SPC, L2 + [_BASE] = LAYOUT_split_3x5_2( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + G_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, G_SC, + S_Z, A_X, C_C, KC_V, KC_B, KC_N, KC_M, C_COMM, A_DOT, S_SLSH, + L1, KC_SPC, KC_SPC, L2 ), - [_L1] = LAYOUT( - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, - KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_GRV, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, KC_PIPE, - _______, _______, _______, KC_TAB, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT, - _______, _______, _______, _______ + [_L1] = LAYOUT_split_3x5_2( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, + KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_GRV, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, KC_PIPE, + _______, _______, _______, KC_TAB, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT, + _______, _______, _______, _______ ), - [_L2] = LAYOUT( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - _______, _______, _______, _______, KC_DOT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_BSPC, - _______, _______, _______, _______, _______, A_SLSH, SG_LBRC, SG_RBRC, G_LBRC, G_RBRC, - KC_LALT, KC_LGUI, _______, _______ + [_L2] = LAYOUT_split_3x5_2( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + _______, _______, _______, _______, KC_DOT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_BSPC, + _______, _______, _______, _______, _______, A_SLSH, SG_LBRC, SG_RBRC, G_LBRC, G_RBRC, + KC_LALT, KC_LGUI, _______, _______ ), }; diff --git a/keyboards/k34/readme.md b/keyboards/k34/readme.md index 8576def9471..282bfeeceb9 100644 --- a/keyboards/k34/readme.md +++ b/keyboards/k34/readme.md @@ -22,4 +22,3 @@ Flashing example for this keyboard: make k34: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/kabedon/kabedon78s/config.h b/keyboards/kabedon/kabedon78s/config.h index 57f829e692b..05d2733f8b3 100644 --- a/keyboards/kabedon/kabedon78s/config.h +++ b/keyboards/kabedon/kabedon78s/config.h @@ -17,10 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kabedon/kabedon78s/info.json b/keyboards/kabedon/kabedon78s/info.json index 8ec6b527054..02505c3676b 100644 --- a/keyboards/kabedon/kabedon78s/info.json +++ b/keyboards/kabedon/kabedon78s/info.json @@ -8,6 +8,11 @@ "pid": "0x3738", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/kabedon/kabedon980/config.h b/keyboards/kabedon/kabedon980/config.h index 655a8af4a95..1592030f810 100644 --- a/keyboards/kabedon/kabedon980/config.h +++ b/keyboards/kabedon/kabedon980/config.h @@ -19,10 +19,6 @@ along with this program. If not, see . #define DYNAMIC_KEYMAP_LAYER_COUNT 3 - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kabedon/kabedon980/info.json b/keyboards/kabedon/kabedon980/info.json index 95781f0581f..15ae8ab876c 100644 --- a/keyboards/kabedon/kabedon980/info.json +++ b/keyboards/kabedon/kabedon980/info.json @@ -8,6 +8,11 @@ "pid": "0x3938", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/kabedon/kabedon98e/config.h b/keyboards/kabedon/kabedon98e/config.h index c8ae65099ba..28963e19355 100644 --- a/keyboards/kabedon/kabedon98e/config.h +++ b/keyboards/kabedon/kabedon98e/config.h @@ -15,7 +15,6 @@ */ #pragma once -#define RGBLED_NUM 24 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -37,7 +36,4 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define ENCODERS_CW_KEY { { 0, 0 },{ 2, 0 } } -#define ENCODERS_CCW_KEY { { 6, 0 },{ 8, 0 } } - #define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/kabedon/kabedon98e/info.json b/keyboards/kabedon/kabedon98e/info.json index cbe83c98eed..40888d82927 100644 --- a/keyboards/kabedon/kabedon98e/info.json +++ b/keyboards/kabedon/kabedon98e/info.json @@ -9,6 +9,9 @@ "device_version": "0.0.2", "force_nkro": true }, + "rgblight": { + "led_count": 24 + }, "ws2812": { "pin": "B4", "driver": "pwm" @@ -50,13 +53,9 @@ {"matrix": [1, 7], "x": 14, "y": 0.5}, {"matrix": [5, 7], "x": 15.5, "y": 0.5}, - {"matrix": [0, 0], "x": 16.9, "y": 0, "w": 0.6, "h": 0.5}, {"matrix": [4, 8], "x": 17, "y": 0.5}, - {"matrix": [2, 0], "x": 17.5, "y": 0, "w": 0.6, "h": 0.5}, - {"matrix": [6, 0], "x": 18.4, "y": 0, "w": 0.6, "h": 0.5}, {"matrix": [4, 0], "x": 18.5, "y": 0.5}, - {"matrix": [8, 0], "x": 19, "y": 0, "w": 0.6, "h": 0.5}, {"matrix": [3, 0], "x": 0, "y": 1.75}, {"matrix": [2, 1], "x": 1, "y": 1.75}, diff --git a/keyboards/kabedon/kabedon98e/kabedon98e.c b/keyboards/kabedon/kabedon98e/kabedon98e.c deleted file mode 100644 index 9fd34b58af3..00000000000 --- a/keyboards/kabedon/kabedon98e/kabedon98e.c +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright 2021 KDon<370490639@qq.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 "quantum.h" - -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - encoder_action_register(index, clockwise); - return true; -}; diff --git a/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c b/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c index f730ee95b2d..3dcdbf83779 100644 --- a/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c +++ b/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c @@ -45,7 +45,7 @@ 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_DEL, KC_HOME, KC_INS, KC_END, KC_PGUP, KC_MUTE, KC_PGDN, + 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_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_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, @@ -53,19 +53,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [_FN] = 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, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS), - -[_FN1] = 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, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#ifdef 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(_______, _______), ENCODER_CCW_CW(_______, _______) }, }; +#endif diff --git a/keyboards/kabedon/kabedon98e/keymaps/default/rules.mk b/keyboards/kabedon/kabedon98e/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/kabedon/kabedon98e/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c b/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c index f730ee95b2d..6cb85164c00 100644 --- a/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c +++ b/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c @@ -45,7 +45,7 @@ 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_DEL, KC_HOME, KC_INS, KC_END, KC_PGUP, KC_MUTE, KC_PGDN, + 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_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_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, @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [_FN] = 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, @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS), [_FN1] = 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, @@ -69,3 +69,11 @@ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; + +#ifdef 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(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/kabedon/kabedon98e/keymaps/via/rules.mk b/keyboards/kabedon/kabedon98e/keymaps/via/rules.mk index 1e5b99807cb..f1adcab005e 100644 --- a/keyboards/kabedon/kabedon98e/keymaps/via/rules.mk +++ b/keyboards/kabedon/kabedon98e/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/kagizaraya/halberd/config.h b/keyboards/kagizaraya/halberd/config.h index 9b42731f845..4af8c12dc8d 100644 --- a/keyboards/kagizaraya/halberd/config.h +++ b/keyboards/kagizaraya/halberd/config.h @@ -26,10 +26,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 40 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE @@ -51,5 +47,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -#define TAPPING_TERM 100 diff --git a/keyboards/kagizaraya/halberd/info.json b/keyboards/kagizaraya/halberd/info.json index 790db40f6dd..de9b119e896 100644 --- a/keyboards/kagizaraya/halberd/info.json +++ b/keyboards/kagizaraya/halberd/info.json @@ -8,6 +8,14 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 40 + }, + "tapping": { + "term": 100 + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c b/keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c index d75b5b60790..a5c017336a4 100644 --- a/keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c +++ b/keyboards/kagizaraya/halberd/keymaps/right_modifiers/keymap.c @@ -146,15 +146,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/kagizaraya/scythe/config.h b/keyboards/kagizaraya/scythe/config.h index 96e96690469..d8ab9fc9f45 100644 --- a/keyboards/kagizaraya/scythe/config.h +++ b/keyboards/kagizaraya/scythe/config.h @@ -16,7 +16,6 @@ along with this program. If not, see . #pragma once -#define RGBLIGHT_SPLIT 1 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -27,10 +26,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 9 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE @@ -57,5 +52,3 @@ along with this program. If not, see . //#define EE_HANDS #define I2C_MASTER_LEFT //#define I2C_MASTER_RIGHT - -#define TAPPING_TERM 120 diff --git a/keyboards/kagizaraya/scythe/info.json b/keyboards/kagizaraya/scythe/info.json index 8198cd00176..5b95a776e37 100644 --- a/keyboards/kagizaraya/scythe/info.json +++ b/keyboards/kagizaraya/scythe/info.json @@ -19,6 +19,15 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 9, + "split": true + }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c b/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c index 437be945bdd..024bc9d952d 100644 --- a/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c +++ b/keyboards/kagizaraya/scythe/keymaps/forties/keymap.c @@ -191,15 +191,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/kakunpc/angel17/rev1/config.h b/keyboards/kakunpc/angel17/rev1/config.h index 227e0d52949..f79d8124759 100644 --- a/keyboards/kakunpc/angel17/rev1/config.h +++ b/keyboards/kakunpc/angel17/rev1/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 17 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/kakunpc/angel17/rev1/info.json b/keyboards/kakunpc/angel17/rev1/info.json index 9454cc5ffd1..8395cf391c0 100644 --- a/keyboards/kakunpc/angel17/rev1/info.json +++ b/keyboards/kakunpc/angel17/rev1/info.json @@ -3,6 +3,12 @@ "cols": ["F4", "F5", "F6", "F7", "B1"], "rows": ["D4", "C6", "D7", "E6"] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 17, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kakunpc/angel64/alpha/config.h b/keyboards/kakunpc/angel64/alpha/config.h index 4f068a9a7d1..de3aadf4423 100644 --- a/keyboards/kakunpc/angel64/alpha/config.h +++ b/keyboards/kakunpc/angel64/alpha/config.h @@ -29,11 +29,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 } #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 } - #define RGBLED_NUM 64 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kakunpc/angel64/alpha/info.json b/keyboards/kakunpc/angel64/alpha/info.json index 93748b736c8..85fc0eee82f 100644 --- a/keyboards/kakunpc/angel64/alpha/info.json +++ b/keyboards/kakunpc/angel64/alpha/info.json @@ -12,7 +12,11 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 25 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 64, + "max_brightness": 25, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/kakunpc/angel64/rev1/config.h b/keyboards/kakunpc/angel64/rev1/config.h index 4f068a9a7d1..de3aadf4423 100644 --- a/keyboards/kakunpc/angel64/rev1/config.h +++ b/keyboards/kakunpc/angel64/rev1/config.h @@ -29,11 +29,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 } #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 } - #define RGBLED_NUM 64 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kakunpc/angel64/rev1/info.json b/keyboards/kakunpc/angel64/rev1/info.json index 59e7152e0d9..8e97d0a653f 100644 --- a/keyboards/kakunpc/angel64/rev1/info.json +++ b/keyboards/kakunpc/angel64/rev1/info.json @@ -12,7 +12,11 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 25 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 64, + "max_brightness": 25, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/kakunpc/business_card/alpha/config.h b/keyboards/kakunpc/business_card/alpha/config.h index ebe746b7ce6..f79d8124759 100644 --- a/keyboards/kakunpc/business_card/alpha/config.h +++ b/keyboards/kakunpc/business_card/alpha/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/kakunpc/business_card/alpha/info.json b/keyboards/kakunpc/business_card/alpha/info.json index 17fda49030d..3270f8e4bcc 100644 --- a/keyboards/kakunpc/business_card/alpha/info.json +++ b/keyboards/kakunpc/business_card/alpha/info.json @@ -8,6 +8,12 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kakunpc/business_card/beta/config.h b/keyboards/kakunpc/business_card/beta/config.h index ebe746b7ce6..f79d8124759 100644 --- a/keyboards/kakunpc/business_card/beta/config.h +++ b/keyboards/kakunpc/business_card/beta/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/kakunpc/business_card/beta/info.json b/keyboards/kakunpc/business_card/beta/info.json index 9886b2aa6cf..ef09a0ac906 100644 --- a/keyboards/kakunpc/business_card/beta/info.json +++ b/keyboards/kakunpc/business_card/beta/info.json @@ -8,6 +8,12 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kakunpc/rabbit_capture_plan/config.h b/keyboards/kakunpc/rabbit_capture_plan/config.h index f6b85fddb2d..54425daf6f1 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/config.h +++ b/keyboards/kakunpc/rabbit_capture_plan/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 69 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kakunpc/rabbit_capture_plan/info.json b/keyboards/kakunpc/rabbit_capture_plan/info.json index b68e6a7e619..c9e2675b9b0 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/info.json +++ b/keyboards/kakunpc/rabbit_capture_plan/info.json @@ -12,7 +12,11 @@ "pin": "D3" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 69, "max_brightness": 200, + "sleep": true, "split_count": [32, 37] }, "matrix_pins": { diff --git a/keyboards/kakunpc/suihankey/alpha/config.h b/keyboards/kakunpc/suihankey/alpha/config.h index 20d6d77f7ae..3e27bcd72f2 100644 --- a/keyboards/kakunpc/suihankey/alpha/config.h +++ b/keyboards/kakunpc/suihankey/alpha/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 18 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kakunpc/suihankey/alpha/info.json b/keyboards/kakunpc/suihankey/alpha/info.json index b48aab84227..2abfb99e306 100644 --- a/keyboards/kakunpc/suihankey/alpha/info.json +++ b/keyboards/kakunpc/suihankey/alpha/info.json @@ -8,6 +8,12 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kakunpc/suihankey/rev1/config.h b/keyboards/kakunpc/suihankey/rev1/config.h index 20d6d77f7ae..3e27bcd72f2 100644 --- a/keyboards/kakunpc/suihankey/rev1/config.h +++ b/keyboards/kakunpc/suihankey/rev1/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 18 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kakunpc/suihankey/rev1/info.json b/keyboards/kakunpc/suihankey/rev1/info.json index 4f5caa6c634..ee68e6a09ab 100644 --- a/keyboards/kakunpc/suihankey/rev1/info.json +++ b/keyboards/kakunpc/suihankey/rev1/info.json @@ -8,6 +8,12 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kakunpc/suihankey/split/alpha/config.h b/keyboards/kakunpc/suihankey/split/alpha/config.h index 4ea30799745..a2f22644578 100644 --- a/keyboards/kakunpc/suihankey/split/alpha/config.h +++ b/keyboards/kakunpc/suihankey/split/alpha/config.h @@ -21,12 +21,6 @@ along with this program. If not, see . #define SPLIT_HAND_PIN D2 - #define RGBLED_NUM 18 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/kakunpc/suihankey/split/alpha/info.json b/keyboards/kakunpc/suihankey/split/alpha/info.json index 72aaf72967e..fb7a619d0e1 100644 --- a/keyboards/kakunpc/suihankey/split/alpha/info.json +++ b/keyboards/kakunpc/suihankey/split/alpha/info.json @@ -1,4 +1,10 @@ { + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kakunpc/suihankey/split/rev1/config.h b/keyboards/kakunpc/suihankey/split/rev1/config.h index 340f8030b94..d5bf894d2fb 100644 --- a/keyboards/kakunpc/suihankey/split/rev1/config.h +++ b/keyboards/kakunpc/suihankey/split/rev1/config.h @@ -21,11 +21,6 @@ along with this program. If not, see . #define SPLIT_HAND_PIN D2 - #define RGBLED_NUM 18 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kakunpc/suihankey/split/rev1/info.json b/keyboards/kakunpc/suihankey/split/rev1/info.json index 2c414b31167..4dbde5c4a67 100644 --- a/keyboards/kakunpc/suihankey/split/rev1/info.json +++ b/keyboards/kakunpc/suihankey/split/rev1/info.json @@ -1,4 +1,10 @@ { + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kakunpc/thedogkeyboard/config.h b/keyboards/kakunpc/thedogkeyboard/config.h index 80e1c060148..30b7b606c08 100644 --- a/keyboards/kakunpc/thedogkeyboard/config.h +++ b/keyboards/kakunpc/thedogkeyboard/config.h @@ -35,12 +35,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B4, B5 } #define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6 } - #define RGBLED_NUM 111 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/kakunpc/thedogkeyboard/info.json b/keyboards/kakunpc/thedogkeyboard/info.json index a958fd52a6a..79ed132f68c 100644 --- a/keyboards/kakunpc/thedogkeyboard/info.json +++ b/keyboards/kakunpc/thedogkeyboard/info.json @@ -12,7 +12,11 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 50 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 111, + "max_brightness": 50, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/kalakos/bahrnob/info.json b/keyboards/kalakos/bahrnob/info.json index 3e556f9bb85..6905ceb38da 100644 --- a/keyboards/kalakos/bahrnob/info.json +++ b/keyboards/kalakos/bahrnob/info.json @@ -46,8 +46,10 @@ {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0}, {"matrix": [1, 14], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.75, "y": 0}, - {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + + {"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}, @@ -60,9 +62,11 @@ {"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], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 14], "x": 15.5, "y": 1.5}, - {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + + {"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}, @@ -74,11 +78,13 @@ {"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], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 14], "x": 15.5, "y": 2.5}, - {"matrix": [3, 0], "w": 1.25, "x": 0, "y": 3}, - {"matrix": [4, 4], "x": 2.25, "y": 3}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [4, 4], "x": 1.25, "y": 3}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, {"matrix": [3, 2], "x": 3.25, "y": 3}, {"matrix": [3, 3], "x": 4.25, "y": 3}, {"matrix": [3, 4], "x": 5.25, "y": 3}, @@ -88,17 +94,20 @@ {"matrix": [3, 8], "x": 9.25, "y": 3}, {"matrix": [3, 9], "x": 10.25, "y": 3}, {"matrix": [3, 10], "x": 11.25, "y": 3}, - {"matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [2, 13], "x": 14.25, "y": 3.25}, - {"matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, - {"matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4}, - {"matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, - {"matrix": [4, 3], "w": 3, "x": 3.75, "y": 4}, - {"matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4}, - {"matrix": [4, 6], "w": 3.25, "x": 6.75, "y": 4}, + + {"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, 3], "x": 3.75, "y": 4, "w": 3, "h": 0.625}, + {"matrix": [4, 5], "x": 3.75, "y": 4.625, "w": 6.25, "h": 0.625}, + {"matrix": [4, 6], "x": 6.75, "y": 4, "w": 3.25, "h": 0.625}, {"matrix": [4, 10], "x": 10, "y": 4}, {"matrix": [4, 11], "x": 11, "y": 4}, {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [3, 13], "x": 13.25, "y": 4.25}, {"matrix": [4, 13], "x": 14.25, "y": 4.25}, {"matrix": [4, 14], "x": 15.25, "y": 4.25} diff --git a/keyboards/kalakos/bahrnob/matrix_diagram.md b/keyboards/kalakos/bahrnob/matrix_diagram.md new file mode 100644 index 00000000000..30e120b75b3 --- /dev/null +++ b/keyboards/kalakos/bahrnob/matrix_diagram.md @@ -0,0 +1,38 @@ +# Matrix Diagram for Kalakos Bahrnob65 + + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1E │ │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └───┘ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ ┌───┐ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ │2E │ ┌──┴┐1D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ ├───┤ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ │3E │ └───┴────┘ +│30 │44 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3C │┌───┐└───┘ +├────┼───┴┬──┴─┬─┴───┴───┴─┬─┴───┴───┴──┬┴──┬┴──┬┴──┬───┘│2D │ +│40 │41 │42 │43 │46 │4A │4B │4C │┌───┼───┼───┐ +└────┴────┴────┴───────────┴────────────┴───┴───┴───┘│3D │4D │4E │ + └───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌────┬────┬────┬────────────────────────┬───┬───┬───┐ +│40 │41 │42 │45 │4A │4B │4C │ Standard +└────┴────┴────┴────────────────────────┴───┴───┴───┘ +┌─────┬─────┬───────────────────────────┬───┬───┬───┐ +│40 │41 │45 │4A │4B │4C │ LWKL +└─────┴─────┴───────────────────────────┴───┴───┴───┘ +┌────┬────┬────┬────────────────────────┬─────┬─────┐ +│40 │41 │42 │45 │4A │4C │ RWKL +└────┴────┴────┴────────────────────────┴─────┴─────┘ +┌────┬────┬────┬───────────┬────────────┬─────┬─────┐ +│40 │41 │42 │43 │46 │4A │4C │ RWKL with Split (3/3.25u) Spacebars +└────┴────┴────┴───────────┴────────────┴─────┴─────┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│40 │41 │45 │4A │4C │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` diff --git a/keyboards/kapcave/arya/config.h b/keyboards/kapcave/arya/config.h index 282b98a9781..94220763159 100644 --- a/keyboards/kapcave/arya/config.h +++ b/keyboards/kapcave/arya/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAP_CODE_DELAY 25 - #define DYNAMIC_KEYMAP_LAYER_COUNT 3 /* diff --git a/keyboards/kapcave/arya/info.json b/keyboards/kapcave/arya/info.json index 0125b834fb5..34246609e53 100644 --- a/keyboards/kapcave/arya/info.json +++ b/keyboards/kapcave/arya/info.json @@ -20,6 +20,9 @@ {"pin_a": "C15", "pin_b": "C14", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 25 + }, "processor": "STM32F072", "bootloader": "stm32-dfu", "community_layouts": ["alice_split_bs"], diff --git a/keyboards/kapcave/arya/rules.mk b/keyboards/kapcave/arya/rules.mk index bfdeb0e3ec9..73bb6b769ba 100644 --- a/keyboards/kapcave/arya/rules.mk +++ b/keyboards/kapcave/arya/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c b/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c index 105fd75a926..9b17187d05c 100755 --- a/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c +++ b/keyboards/kapcave/gskt00/keymaps/nachie/keymap.c @@ -35,48 +35,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG) }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} - diff --git a/keyboards/kapcave/paladinpad/rev1/config.h b/keyboards/kapcave/paladinpad/rev1/config.h index 386e4b0a0c3..3f052b52b1f 100644 --- a/keyboards/kapcave/paladinpad/rev1/config.h +++ b/keyboards/kapcave/paladinpad/rev1/config.h @@ -26,7 +26,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 12 diff --git a/keyboards/kapcave/paladinpad/rev1/info.json b/keyboards/kapcave/paladinpad/rev1/info.json index 0fec9260a90..8acb87c5178 100644 --- a/keyboards/kapcave/paladinpad/rev1/info.json +++ b/keyboards/kapcave/paladinpad/rev1/info.json @@ -2,6 +2,11 @@ "usb": { "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "brightness_steps": 12, + "led_count": 8 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/kapcave/paladinpad/rev2/config.h b/keyboards/kapcave/paladinpad/rev2/config.h index 239a873384e..1af48b400b0 100644 --- a/keyboards/kapcave/paladinpad/rev2/config.h +++ b/keyboards/kapcave/paladinpad/rev2/config.h @@ -28,7 +28,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 7 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 12 diff --git a/keyboards/kapcave/paladinpad/rev2/info.json b/keyboards/kapcave/paladinpad/rev2/info.json index 699cdde82d0..fc101bec2ed 100644 --- a/keyboards/kapcave/paladinpad/rev2/info.json +++ b/keyboards/kapcave/paladinpad/rev2/info.json @@ -2,6 +2,11 @@ "usb": { "device_version": "0.0.2" }, + "rgblight": { + "hue_steps": 10, + "brightness_steps": 12, + "led_count": 7 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/kapl/rev1/config.h b/keyboards/kapl/rev1/config.h index 82df4355ead..19c039315c6 100644 --- a/keyboards/kapl/rev1/config.h +++ b/keyboards/kapl/rev1/config.h @@ -5,18 +5,12 @@ /* Select hand configuration */ #define MASTER_LEFT -#define RGBLED_NUM 88 -#define RGBLIGHT_SPLIT - #define RGB_MATRIX_LED_COUNT 88 #define RGB_MATRIX_SPLIT { 44, 44 } #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. #define SPLIT_TRANSPORT_MIRROR #ifdef RGBLIGHT_ENABLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 16 -#define RGBLIGHT_VAL_STEP 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -26,10 +20,6 @@ #endif #ifdef RGB_MATRIX_ENABLE -#define RGB_MATRIX_HUE_STEP 8 -#define RGB_MATRIX_SAT_STEP 16 -#define RGB_MATRIX_VAL_STEP 16 -#define RGB_MATRIX_SPD_STEP 10 // EFFECTS #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/kapl/rev1/info.json b/keyboards/kapl/rev1/info.json index cab51ec837d..07ab869a44c 100644 --- a/keyboards/kapl/rev1/info.json +++ b/keyboards/kapl/rev1/info.json @@ -12,9 +12,13 @@ "pin": "D4" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "speed_steps": 10 }, "rgblight": { + "saturation_steps": 16, + "brightness_steps": 16, + "led_count": 88, "max_brightness": 120, "split_count": [44, 44] }, diff --git a/keyboards/kb_elmo/isolation/config.h b/keyboards/kb_elmo/isolation/config.h index 37a293fb199..bf815b7f53e 100644 --- a/keyboards/kb_elmo/isolation/config.h +++ b/keyboards/kb_elmo/isolation/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once /* RGB backlight */ -# define RGBLED_NUM 3 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kb_elmo/isolation/info.json b/keyboards/kb_elmo/isolation/info.json index 817a8db4128..5f42e539883 100644 --- a/keyboards/kb_elmo/isolation/info.json +++ b/keyboards/kb_elmo/isolation/info.json @@ -8,6 +8,12 @@ "pid": "0x4EE6", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 3, + "sleep": true + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/kb_elmo/noah_avr/config.h b/keyboards/kb_elmo/noah_avr/config.h index 08501c982b8..387d189b26c 100644 --- a/keyboards/kb_elmo/noah_avr/config.h +++ b/keyboards/kb_elmo/noah_avr/config.h @@ -28,6 +28,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 7 -#define RGBLIGHT_SLEEP // RGB will turn off when PC is put to sleep #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_BGR // RGB on the Noah is different order diff --git a/keyboards/kb_elmo/noah_avr/info.json b/keyboards/kb_elmo/noah_avr/info.json index 8db5edb6b6d..029b24cd632 100644 --- a/keyboards/kb_elmo/noah_avr/info.json +++ b/keyboards/kb_elmo/noah_avr/info.json @@ -8,6 +8,10 @@ "pid": "0x1DB0", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 7, + "sleep": true + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/kbdcraft/adam64/rules.mk b/keyboards/kbdcraft/adam64/rules.mk index 094c6b058e8..8b137891791 100644 --- a/keyboards/kbdcraft/adam64/rules.mk +++ b/keyboards/kbdcraft/adam64/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/kbdfans/baguette66/rgb/config.h b/keyboards/kbdfans/baguette66/rgb/config.h index ee3574ac9cd..78802b19f9c 100644 --- a/keyboards/kbdfans/baguette66/rgb/config.h +++ b/keyboards/kbdfans/baguette66/rgb/config.h @@ -19,8 +19,7 @@ #define USB_SUSPEND_WAKEUP_DELAY 5000 #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 -#define RGBLED_NUM 66 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 66 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -62,7 +61,3 @@ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #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_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -#define RGB_MATRIX_HUE_STEP 8 -#define RGB_MATRIX_SAT_STEP 8 -#define RGB_MATRIX_VAL_STEP 8 -#define RGB_MATRIX_SPD_STEP 10 diff --git a/keyboards/kbdfans/baguette66/rgb/info.json b/keyboards/kbdfans/baguette66/rgb/info.json index 5f8faf89ae0..9ac27f950a7 100644 --- a/keyboards/kbdfans/baguette66/rgb/info.json +++ b/keyboards/kbdfans/baguette66/rgb/info.json @@ -7,11 +7,17 @@ "pid": "0x0106", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 66 + }, "ws2812": { "pin": "E6" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "matrix_pins": { "cols": ["C6", "C7", "F7", "F6", "B0", "B1", "B2", "B3", "D0", "D1", "D2", "D3", "D5", "D4", "D6"], diff --git a/keyboards/kbdfans/bounce/75/hotswap/config.h b/keyboards/kbdfans/bounce/75/hotswap/config.h index 29f510620b6..4705c300f9f 100644 --- a/keyboards/kbdfans/bounce/75/hotswap/config.h +++ b/keyboards/kbdfans/bounce/75/hotswap/config.h @@ -28,10 +28,5 @@ #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD +8 ) #define RGBLIGHT_DEFAULT_SPD 15 -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 -#define RGBLIGHT_SLEEP #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file diff --git a/keyboards/kbdfans/bounce/75/hotswap/info.json b/keyboards/kbdfans/bounce/75/hotswap/info.json index 444a5addaea..e715aab4c38 100644 --- a/keyboards/kbdfans/bounce/75/hotswap/info.json +++ b/keyboards/kbdfans/bounce/75/hotswap/info.json @@ -16,6 +16,13 @@ "caps_lock": "C6", "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/kbdfans/bounce/75/soldered/config.h b/keyboards/kbdfans/bounce/75/soldered/config.h index 29f510620b6..4705c300f9f 100644 --- a/keyboards/kbdfans/bounce/75/soldered/config.h +++ b/keyboards/kbdfans/bounce/75/soldered/config.h @@ -28,10 +28,5 @@ #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD +8 ) #define RGBLIGHT_DEFAULT_SPD 15 -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 -#define RGBLIGHT_SLEEP #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file diff --git a/keyboards/kbdfans/bounce/75/soldered/info.json b/keyboards/kbdfans/bounce/75/soldered/info.json index 9dbb3712ceb..582c3d8c55f 100644 --- a/keyboards/kbdfans/bounce/75/soldered/info.json +++ b/keyboards/kbdfans/bounce/75/soldered/info.json @@ -17,6 +17,13 @@ "caps_lock": "C6", "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/kbdfans/kbd19x/config.h b/keyboards/kbdfans/kbd19x/config.h index b18438ab4e6..4ef254c5af2 100644 --- a/keyboards/kbdfans/kbd19x/config.h +++ b/keyboards/kbdfans/kbd19x/config.h @@ -27,11 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/kbdfans/kbd19x/info.json b/keyboards/kbdfans/kbd19x/info.json index 3fb10600eee..ce716804f75 100644 --- a/keyboards/kbdfans/kbd19x/info.json +++ b/keyboards/kbdfans/kbd19x/info.json @@ -22,6 +22,12 @@ "scroll_lock": "B1", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/kbdfans/kbd4x/config.h b/keyboards/kbdfans/kbd4x/config.h index d08ecf7f983..3fe83f1a3a7 100644 --- a/keyboards/kbdfans/kbd4x/config.h +++ b/keyboards/kbdfans/kbd4x/config.h @@ -27,11 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/kbdfans/kbd4x/info.json b/keyboards/kbdfans/kbd4x/info.json index 21d1428f0d7..7040322fc3e 100644 --- a/keyboards/kbdfans/kbd4x/info.json +++ b/keyboards/kbdfans/kbd4x/info.json @@ -17,6 +17,12 @@ "pin": "B6", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/kbdfans/kbd67/hotswap/config.h b/keyboards/kbdfans/kbd67/hotswap/config.h index dfbc40e0a03..21548537d4a 100644 --- a/keyboards/kbdfans/kbd67/hotswap/config.h +++ b/keyboards/kbdfans/kbd67/hotswap/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -33,7 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/kbdfans/kbd67/hotswap/info.json b/keyboards/kbdfans/kbd67/hotswap/info.json index edbbf6638ea..8ddee65b5ce 100644 --- a/keyboards/kbdfans/kbd67/hotswap/info.json +++ b/keyboards/kbdfans/kbd67/hotswap/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c index cd4a32ff41c..33245acc51d 100644 --- a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c +++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c @@ -163,14 +163,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void eeconfig_init_user(void) { set_unicode_input_mode(UNICODE_MODE_MACOS); } - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h index 8b79d929d66..2b06b9c43c6 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h @@ -18,8 +18,7 @@ #define USB_SUSPEND_WAKEUP_DELAY 5000 -#define RGBLED_NUM 68 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 68 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -37,10 +36,6 @@ # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # 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_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json index f7d5ab552f0..f66a39d7995 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json @@ -4,11 +4,17 @@ "pid": "0x1227", "device_version": "0.0.4" }, + "rgblight": { + "led_count": 68 + }, "ws2812": { "pin": "C7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4", "B0", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h index ede122f3f21..10f0bc0ec2d 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h @@ -26,10 +26,6 @@ # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # 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_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json index 4c7d09aa8e4..222742ed8f2 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json @@ -12,7 +12,10 @@ "pin": "C7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4", "B0", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], diff --git a/keyboards/kbdfans/kbd67/rev1/config.h b/keyboards/kbdfans/kbd67/rev1/config.h index 20e3b8f0dfb..62c2837ebec 100644 --- a/keyboards/kbdfans/kbd67/rev1/config.h +++ b/keyboards/kbdfans/kbd67/rev1/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kbdfans/kbd67/rev1/info.json b/keyboards/kbdfans/kbd67/rev1/info.json index e34cbb87e2e..383d1cc5a86 100644 --- a/keyboards/kbdfans/kbd67/rev1/info.json +++ b/keyboards/kbdfans/kbd67/rev1/info.json @@ -25,7 +25,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 180, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/keymap.c b/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/keymap.c index 5c307a31b12..228f6483197 100644 --- a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/keymap.c +++ b/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/keymap.c @@ -85,15 +85,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/kbdfans/kbd67/rev2/config.h b/keyboards/kbdfans/kbd67/rev2/config.h index 1aa30c01cd8..7ab9c36d3b1 100644 --- a/keyboards/kbdfans/kbd67/rev2/config.h +++ b/keyboards/kbdfans/kbd67/rev2/config.h @@ -27,8 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/kbdfans/kbd67/rev2/info.json b/keyboards/kbdfans/kbd67/rev2/info.json index bf83ad4af3b..7f053c26ce4 100644 --- a/keyboards/kbdfans/kbd67/rev2/info.json +++ b/keyboards/kbdfans/kbd67/rev2/info.json @@ -24,7 +24,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "max_brightness": 240, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c index 682f15c4455..88fe681f142 100644 --- a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/keymap.c @@ -69,22 +69,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______), }; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { rgblight_enable_noeeprom(); } else { rgblight_disable_noeeprom(); } + return false; } diff --git a/keyboards/kbdfans/kbd6x/config.h b/keyboards/kbdfans/kbd6x/config.h index d29b1e494aa..62c2837ebec 100644 --- a/keyboards/kbdfans/kbd6x/config.h +++ b/keyboards/kbdfans/kbd6x/config.h @@ -27,11 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 12 -#define RGBLIGHT_SAT_STEP 12 -#define RGBLIGHT_VAL_STEP 12 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/kbdfans/kbd6x/info.json b/keyboards/kbdfans/kbd6x/info.json index 782da6bc64c..b0ff6780101 100644 --- a/keyboards/kbdfans/kbd6x/info.json +++ b/keyboards/kbdfans/kbd6x/info.json @@ -17,6 +17,13 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/kbdfans/kbd6x/keymaps/konstantin/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/konstantin/keymap.c index 8f2305ed4c7..a8a369a6110 100644 --- a/keyboards/kbdfans/kbd6x/keymaps/konstantin/keymap.c +++ b/keyboards/kbdfans/kbd6x/keymaps/konstantin/keymap.c @@ -43,8 +43,8 @@ static void check_light_layer(layer_state_t state) { last_checked_layer = true; } -static void check_light_led(uint8_t leds) { - if (IS_LED_ON(leds, USB_LED_CAPS_LOCK)) { +static void check_light_led(led_t led_state) { + if (led_state.caps_lock) { caps_light(); } else if (IS_LAYER_ON(L_FN)) { fn_light(); @@ -57,7 +57,7 @@ static void check_light_led(uint8_t leds) { static void inline check_light(void) { last_checked_layer ? check_light_layer(layer_state) - : check_light_led(host_keyboard_leds()); + : check_light_led(host_keyboard_led_state()); } void eeconfig_init_keymap(void) { diff --git a/keyboards/kbdfans/kbd75/config.h b/keyboards/kbdfans/kbd75/config.h index 38d9bacad96..8cb5bddc389 100644 --- a/keyboards/kbdfans/kbd75/config.h +++ b/keyboards/kbdfans/kbd75/config.h @@ -19,9 +19,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -/* If defined, the RGB lighting will be switched off when the host goes to sleep */ -#define RGBLIGHT_SLEEP diff --git a/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c b/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c index 88272e3c721..c7f05a4e943 100644 --- a/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c +++ b/keyboards/kbdfans/kbd75/keymaps/tucznak/keymap.c @@ -79,11 +79,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void led_set_user(uint8_t usb_led) { - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { setPinOutput(B2); writePinLow(B2); } else { setPinInput(B2); } + return false; } diff --git a/keyboards/kbdfans/kbd75/rev1/info.json b/keyboards/kbdfans/kbd75/rev1/info.json index ab56fc90d1a..fe52330c9cc 100644 --- a/keyboards/kbdfans/kbd75/rev1/info.json +++ b/keyboards/kbdfans/kbd75/rev1/info.json @@ -21,6 +21,12 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/kbdfans/kbd75/rev2/info.json b/keyboards/kbdfans/kbd75/rev2/info.json index 11eb19b7299..e75a10fd31f 100644 --- a/keyboards/kbdfans/kbd75/rev2/info.json +++ b/keyboards/kbdfans/kbd75/rev2/info.json @@ -21,6 +21,12 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/kbdfans/kbd75hs/config.h b/keyboards/kbdfans/kbd75hs/config.h index 4bc0c6dcff9..fab8ddf3f66 100644 --- a/keyboards/kbdfans/kbd75hs/config.h +++ b/keyboards/kbdfans/kbd75hs/config.h @@ -28,10 +28,5 @@ #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6) #define RGBLIGHT_DEFAULT_SPD 15 -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 -#define RGBLIGHT_SLEEP #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/kbdfans/kbd75hs/info.json b/keyboards/kbdfans/kbd75hs/info.json index fef9c5a8c29..ec245dbbf10 100644 --- a/keyboards/kbdfans/kbd75hs/info.json +++ b/keyboards/kbdfans/kbd75hs/info.json @@ -16,6 +16,13 @@ "indicators": { "caps_lock": "C6" }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/kbdfans/kbd75rgb/config.h b/keyboards/kbdfans/kbd75rgb/config.h index 6d1273875d7..6a93d118d6c 100644 --- a/keyboards/kbdfans/kbd75rgb/config.h +++ b/keyboards/kbdfans/kbd75rgb/config.h @@ -19,8 +19,7 @@ #define USB_SUSPEND_WAKEUP_DELAY 5000 #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 -#define RGBLED_NUM 84 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 84 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -62,7 +61,3 @@ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #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_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL -#define RGB_MATRIX_HUE_STEP 8 -#define RGB_MATRIX_SAT_STEP 8 -#define RGB_MATRIX_VAL_STEP 8 -#define RGB_MATRIX_SPD_STEP 10 diff --git a/keyboards/kbdfans/kbd75rgb/info.json b/keyboards/kbdfans/kbd75rgb/info.json index 231f13f4122..bf2f596f3ae 100644 --- a/keyboards/kbdfans/kbd75rgb/info.json +++ b/keyboards/kbdfans/kbd75rgb/info.json @@ -8,11 +8,17 @@ "pid": "0x6063", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 84 + }, "ws2812": { "pin": "C7" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4", "E6", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7"], diff --git a/keyboards/kbdfans/kbd8x/config.h b/keyboards/kbdfans/kbd8x/config.h index 655b83f0e30..e5b1e26b62d 100644 --- a/keyboards/kbdfans/kbd8x/config.h +++ b/keyboards/kbdfans/kbd8x/config.h @@ -27,11 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/kbdfans/kbd8x/info.json b/keyboards/kbdfans/kbd8x/info.json index eeda61ac356..0239fa78a96 100644 --- a/keyboards/kbdfans/kbd8x/info.json +++ b/keyboards/kbdfans/kbd8x/info.json @@ -22,6 +22,12 @@ "num_lock": "B1", "scroll_lock": "B2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/kbdfans/kbd8x_mk2/config.h b/keyboards/kbdfans/kbd8x_mk2/config.h index 74fad03a87b..ee31dd7bfed 100644 --- a/keyboards/kbdfans/kbd8x_mk2/config.h +++ b/keyboards/kbdfans/kbd8x_mk2/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kbdfans/kbd8x_mk2/info.json b/keyboards/kbdfans/kbd8x_mk2/info.json index 5c15e9e2d52..1029582d5b8 100644 --- a/keyboards/kbdfans/kbd8x_mk2/info.json +++ b/keyboards/kbdfans/kbd8x_mk2/info.json @@ -21,7 +21,11 @@ "pin": "B3" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "indicators": { "caps_lock": "E6", diff --git a/keyboards/kbdfans/kbd8x_mk2/keymaps/ai03/keymap.c b/keyboards/kbdfans/kbd8x_mk2/keymaps/ai03/keymap.c index 8049c4ef5c6..2e91933f442 100644 --- a/keyboards/kbdfans/kbd8x_mk2/keymaps/ai03/keymap.c +++ b/keyboards/kbdfans/kbd8x_mk2/keymaps/ai03/keymap.c @@ -35,19 +35,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/kbdfans/kbdpad/mk1/config.h b/keyboards/kbdfans/kbdpad/mk1/config.h index a3a9a993df2..d849732a072 100644 --- a/keyboards/kbdfans/kbdpad/mk1/config.h +++ b/keyboards/kbdfans/kbdpad/mk1/config.h @@ -27,4 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 diff --git a/keyboards/kbdfans/kbdpad/mk1/info.json b/keyboards/kbdfans/kbdpad/mk1/info.json index 3527370e4c0..4495eab886d 100644 --- a/keyboards/kbdfans/kbdpad/mk1/info.json +++ b/keyboards/kbdfans/kbdpad/mk1/info.json @@ -17,6 +17,9 @@ "pin": "D4", "breathing": true }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/kbdfans/kbdpad/mk2/config.h b/keyboards/kbdfans/kbdpad/mk2/config.h index 9457b207667..ee31dd7bfed 100644 --- a/keyboards/kbdfans/kbdpad/mk2/config.h +++ b/keyboards/kbdfans/kbdpad/mk2/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kbdfans/kbdpad/mk2/info.json b/keyboards/kbdfans/kbdpad/mk2/info.json index dc47064feed..3d2afceb240 100644 --- a/keyboards/kbdfans/kbdpad/mk2/info.json +++ b/keyboards/kbdfans/kbdpad/mk2/info.json @@ -18,6 +18,12 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/kbdfans/niu_mini/config.h b/keyboards/kbdfans/niu_mini/config.h index fb154031a05..7eaf08234ae 100644 --- a/keyboards/kbdfans/niu_mini/config.h +++ b/keyboards/kbdfans/niu_mini/config.h @@ -33,10 +33,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLED_NUM 14 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/kbdfans/niu_mini/info.json b/keyboards/kbdfans/niu_mini/info.json index 4ba2f385163..9719c832ec0 100644 --- a/keyboards/kbdfans/niu_mini/info.json +++ b/keyboards/kbdfans/niu_mini/info.json @@ -17,6 +17,11 @@ "pin": "B6", "levels": 4 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c index 523b6cf1a08..7f6f89589bd 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/codecoffeecode/keymap.c @@ -56,48 +56,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; - - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { - - } else { - - } - - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (IS_LED_ON(usb_led, USB_LED_COMPOSE)) { - - } else { - - } - - if (IS_LED_ON(usb_led, USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c index 0631ceb185d..8c7d3b8e0e0 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c @@ -377,37 +377,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { */ -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - bnumlock = true; - - } else { - bnumlock = false; - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - +bool led_update_user(led_t led_state) { + bnumlock = led_state.num_lock; + return false; } diff --git a/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c index b4f75a9d1e2..e4f2eb44cfd 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/tucznak/keymap.c @@ -112,22 +112,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!process_record_dynamic_macro(keycode, record)) { return false; } return true; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/kbdfans/odin/rgb/config.h b/keyboards/kbdfans/odin/rgb/config.h index 54794e66be1..9cc883891ad 100644 --- a/keyboards/kbdfans/odin/rgb/config.h +++ b/keyboards/kbdfans/odin/rgb/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 104 #define RGB_MATRIX_LED_COUNT 104 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/kbdfans/odin/rgb/rules.mk b/keyboards/kbdfans/odin/rgb/rules.mk index b7807ae4185..c49a369dd02 100644 --- a/keyboards/kbdfans/odin/rgb/rules.mk +++ b/keyboards/kbdfans/odin/rgb/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/kbdfans/odin/soldered/config.h b/keyboards/kbdfans/odin/soldered/config.h index b55a5586284..7c771d1d0de 100644 --- a/keyboards/kbdfans/odin/soldered/config.h +++ b/keyboards/kbdfans/odin/soldered/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 4 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,9 +27,5 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 8) -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/kbdfans/odin/soldered/info.json b/keyboards/kbdfans/odin/soldered/info.json index acbdc574bfd..0b99fd1eb82 100644 --- a/keyboards/kbdfans/odin/soldered/info.json +++ b/keyboards/kbdfans/odin/soldered/info.json @@ -22,7 +22,11 @@ "pin": "B15" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "max_brightness": 180, + "sleep": true }, "processor": "STM32F072", "bootloader": "stm32-dfu", diff --git a/keyboards/kbdfans/odin/soldered/rules.mk b/keyboards/kbdfans/odin/soldered/rules.mk index 9e42693cb69..c3b8e77d77a 100644 --- a/keyboards/kbdfans/odin/soldered/rules.mk +++ b/keyboards/kbdfans/odin/soldered/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/kbdfans/odin/v2/config.h b/keyboards/kbdfans/odin/v2/config.h index a753f00c6ad..d82b94c5db8 100644 --- a/keyboards/kbdfans/odin/v2/config.h +++ b/keyboards/kbdfans/odin/v2/config.h @@ -16,7 +16,6 @@ #pragma once - #define RGBLED_NUM 4 #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_RAINBOW_SWIRL #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -25,8 +24,3 @@ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL - - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP diff --git a/keyboards/kbdfans/odin/v2/info.json b/keyboards/kbdfans/odin/v2/info.json index 59d2dde7ac3..5af1d84aaca 100644 --- a/keyboards/kbdfans/odin/v2/info.json +++ b/keyboards/kbdfans/odin/v2/info.json @@ -22,7 +22,11 @@ "pin": "B15" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "max_brightness": 180, + "sleep": true }, "processor": "STM32F072", "bootloader": "stm32-dfu", diff --git a/keyboards/kbdfans/odin/v2/rules.mk b/keyboards/kbdfans/odin/v2/rules.mk index 0f15f10b208..0098dc473ac 100644 --- a/keyboards/kbdfans/odin/v2/rules.mk +++ b/keyboards/kbdfans/odin/v2/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/kbdfans/phaseone/config.h b/keyboards/kbdfans/phaseone/config.h index a8e7f41e17e..86e14831489 100644 --- a/keyboards/kbdfans/phaseone/config.h +++ b/keyboards/kbdfans/phaseone/config.h @@ -32,10 +32,5 @@ #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6) #define RGBLIGHT_DEFAULT_SPD 15 -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 -#define RGBLIGHT_SLEEP #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 \ No newline at end of file diff --git a/keyboards/kbdfans/phaseone/info.json b/keyboards/kbdfans/phaseone/info.json index 0b4bf2e19f6..836bc0952ff 100644 --- a/keyboards/kbdfans/phaseone/info.json +++ b/keyboards/kbdfans/phaseone/info.json @@ -18,6 +18,13 @@ "num_lock": "D7", "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/kbnordic/nordic60/rev_a/config.h b/keyboards/kbnordic/nordic60/rev_a/config.h index 5298868bcf1..ff552db0fa8 100644 --- a/keyboards/kbnordic/nordic60/rev_a/config.h +++ b/keyboards/kbnordic/nordic60/rev_a/config.h @@ -16,11 +16,6 @@ along with this program. If not, see . */ #pragma once -#define RGBLED_NUM 16 - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kbnordic/nordic60/rev_a/info.json b/keyboards/kbnordic/nordic60/rev_a/info.json index 126de687b8b..de5033583e2 100644 --- a/keyboards/kbnordic/nordic60/rev_a/info.json +++ b/keyboards/kbnordic/nordic60/rev_a/info.json @@ -8,6 +8,11 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kc60/config.h b/keyboards/kc60/config.h index 5f542b7ade4..dc1ae20cdc2 100644 --- a/keyboards/kc60/config.h +++ b/keyboards/kc60/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kc60/info.json b/keyboards/kc60/info.json index ca8580ad1a9..2aa5ab5eab3 100644 --- a/keyboards/kc60/info.json +++ b/keyboards/kc60/info.json @@ -18,6 +18,12 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "F5" }, diff --git a/keyboards/keebformom/config.h b/keyboards/keebformom/config.h index 315e8e0bc6f..e10ff8b983b 100644 --- a/keyboards/keebformom/config.h +++ b/keyboards/keebformom/config.h @@ -16,11 +16,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 40 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebformom/info.json b/keyboards/keebformom/info.json index afb2058f438..cae706055a7 100644 --- a/keyboards/keebformom/info.json +++ b/keyboards/keebformom/info.json @@ -12,7 +12,11 @@ "pin": "F4" }, "rgblight": { - "max_brightness": 150 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 40, + "max_brightness": 150, + "sleep": true }, "matrix_pins": { "cols": ["B3", "B2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"], diff --git a/keyboards/keebio/bamfk1/config.h b/keyboards/keebio/bamfk1/config.h index c8587e1efb7..5c9d9b741dc 100644 --- a/keyboards/keebio/bamfk1/config.h +++ b/keyboards/keebio/bamfk1/config.h @@ -8,14 +8,6 @@ # define STARTUP_SONG SONG(STARTUP_SOUND) #endif -#define ENCODERS_CW_KEY { { 1, 1 }, { 3, 1 } } -#define ENCODERS_CCW_KEY { { 0, 1 }, { 2, 1 } } - -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/bamfk1/info.json b/keyboards/keebio/bamfk1/info.json index 77dcc1f7dd3..042f8555af1 100644 --- a/keyboards/keebio/bamfk1/info.json +++ b/keyboards/keebio/bamfk1/info.json @@ -8,6 +8,12 @@ "pid": "0x1111", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "D3" }, @@ -21,8 +27,7 @@ "bootloader": "atmel-dfu", "matrix_pins": { "direct": [ - ["E6", "B6", "D6", null], - [null, null, null, null] + ["E6", "B6", "D6"] ] }, "layouts": { @@ -30,12 +35,7 @@ "layout": [ {"x": 1.5, "y": 0, "h": 2, "w": 2, "matrix": [0, 0]}, {"x": 0.5, "y": 2.25, "matrix": [0, 1]}, - {"x": 3.5, "y": 2.25, "matrix": [0, 2]}, - - {"x": 0, "y": 3.5, "matrix": [1, 0]}, - {"x": 1, "y": 3.5, "matrix": [1, 1]}, - {"x": 3, "y": 3.5, "matrix": [1, 2]}, - {"x": 4, "y": 3.5, "matrix": [1, 3]} + {"x": 3.5, "y": 2.25, "matrix": [0, 2]} ] } } diff --git a/keyboards/keebio/bamfk1/keymaps/default/keymap.c b/keyboards/keebio/bamfk1/keymaps/default/keymap.c index aa0780eafc1..8ff3f794a58 100644 --- a/keyboards/keebio/bamfk1/keymaps/default/keymap.c +++ b/keyboards/keebio/bamfk1/keymaps/default/keymap.c @@ -13,27 +13,28 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MAIN] = LAYOUT( - KC_A, // Big Switch - MO(1), KC_MUTE, // Encoder presses - KC_DOWN, KC_UP, // Left encoder turns - KC_VOLD, KC_VOLU // Right encoder turns + RGB_MOD, // Big Switch + TL_LOWR, KC_MUTE // Encoder presses ), [_FN1] = LAYOUT( KC_B, // Big Switch - _______, KC_C, // Encoder presses - KC_PGDN, KC_PGUP, // Left encoder turns - KC_VOLU, KC_VOLD // Right encoder turns + _______, KC_C // Encoder presses ), [_FN2] = LAYOUT( _______, // Big Switch - _______, _______, // Encoder presses - _______, _______, // Left encoder turns - _______, _______ // Right encoder turns + _______, _______ // Encoder presses ), [_FN3] = LAYOUT( _______, // Big Switch - _______, _______, // Encoder presses - _______, _______, // Left encoder turns - _______, _______ // Right encoder turns + _______, _______ // Encoder presses ) }; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/keebio/bamfk1/keymaps/default/rules.mk b/keyboards/keebio/bamfk1/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/keebio/bamfk1/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keebio/bamfk1/keymaps/via/keymap.c b/keyboards/keebio/bamfk1/keymaps/via/keymap.c index 80ada5d8aa3..8ff3f794a58 100644 --- a/keyboards/keebio/bamfk1/keymaps/via/keymap.c +++ b/keyboards/keebio/bamfk1/keymaps/via/keymap.c @@ -14,26 +14,27 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MAIN] = LAYOUT( RGB_MOD, // Big Switch - TL_LOWR, KC_MUTE, // Encoder presses - KC_DOWN, KC_UP, // Left encoder turns - KC_VOLD, KC_VOLU // Right encoder turns + TL_LOWR, KC_MUTE // Encoder presses ), [_FN1] = LAYOUT( KC_B, // Big Switch - _______, KC_C, // Encoder presses - KC_PGDN, KC_PGUP, // Left encoder turns - KC_VOLU, KC_VOLD // Right encoder turns + _______, KC_C // Encoder presses ), [_FN2] = LAYOUT( _______, // Big Switch - _______, _______, // Encoder presses - _______, _______, // Left encoder turns - _______, _______ // Right encoder turns + _______, _______ // Encoder presses ), [_FN3] = LAYOUT( _______, // Big Switch - _______, _______, // Encoder presses - _______, _______, // Left encoder turns - _______, _______ // Right encoder turns + _______, _______ // Encoder presses ) }; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/keebio/bamfk1/keymaps/via/rules.mk b/keyboards/keebio/bamfk1/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/keebio/bamfk1/keymaps/via/rules.mk +++ b/keyboards/keebio/bamfk1/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keebio/bamfk1/rules.mk b/keyboards/keebio/bamfk1/rules.mk index 514d88831ac..21df40039e9 100644 --- a/keyboards/keebio/bamfk1/rules.mk +++ b/keyboards/keebio/bamfk1/rules.mk @@ -2,9 +2,9 @@ # change yes to no to disable # BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys +MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output ENCODER_ENABLE = yes LTO_ENABLE = yes - -SRC += encoder_actions.c diff --git a/keyboards/keebio/bamfk4/config.h b/keyboards/keebio/bamfk4/config.h index a28636c8b66..2be2b02e6e7 100644 --- a/keyboards/keebio/bamfk4/config.h +++ b/keyboards/keebio/bamfk4/config.h @@ -3,11 +3,6 @@ #pragma once -# define RGBLED_NUM 32 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== enabled animations ==*/ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -62,7 +57,7 @@ # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160 # define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 32 # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES //# endif diff --git a/keyboards/keebio/bamfk4/info.json b/keyboards/keebio/bamfk4/info.json index 40128e08204..52e072dcf94 100644 --- a/keyboards/keebio/bamfk4/info.json +++ b/keyboards/keebio/bamfk4/info.json @@ -15,7 +15,11 @@ "driver": "WS2812" }, "rgblight": { - "max_brightness": 120 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 32, + "max_brightness": 120, + "sleep": true }, "matrix_pins": { "cols": ["E6", "D5", "B6", "B7"], diff --git a/keyboards/keebio/bdn9/rev1/config.h b/keyboards/keebio/bdn9/rev1/config.h index 64879bca490..5a4e849a579 100644 --- a/keyboards/keebio/bdn9/rev1/config.h +++ b/keyboards/keebio/bdn9/rev1/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 4 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/bdn9/rev1/info.json b/keyboards/keebio/bdn9/rev1/info.json index 4a346fd5647..aa042a7da75 100644 --- a/keyboards/keebio/bdn9/rev1/info.json +++ b/keyboards/keebio/bdn9/rev1/info.json @@ -15,6 +15,12 @@ "pin": "B5", "levels": 7 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keebio/bdn9/rev2/config.h b/keyboards/keebio/bdn9/rev2/config.h index 70f785d37b3..ae46e0348fd 100644 --- a/keyboards/keebio/bdn9/rev2/config.h +++ b/keyboards/keebio/bdn9/rev2/config.h @@ -17,13 +17,6 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 - -# define RGBLED_NUM 11 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -36,7 +29,7 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_TWINKLE // RGB Matrix # ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 11 # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/keebio/bdn9/rev2/info.json b/keyboards/keebio/bdn9/rev2/info.json index 5a33976f835..c7dd5d6bcd5 100644 --- a/keyboards/keebio/bdn9/rev2/info.json +++ b/keyboards/keebio/bdn9/rev2/info.json @@ -4,6 +4,12 @@ "pid": "0x2133", "device_version": "2.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 11, + "sleep": true + }, "ws2812": { "pin": "B15" }, @@ -17,6 +23,9 @@ {"pin_a": "A10", "pin_b": "A9"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "STM32F072", "bootloader": "stm32-dfu", "matrix_pins": { diff --git a/keyboards/keebio/bdn9/rev2/rules.mk b/keyboards/keebio/bdn9/rev2/rules.mk index de8fd9fc26b..e4077691471 100644 --- a/keyboards/keebio/bdn9/rev2/rules.mk +++ b/keyboards/keebio/bdn9/rev2/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes RGB_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keebio/bfo9000/config.h b/keyboards/keebio/bfo9000/config.h index ecc01620e64..0b8941e7760 100644 --- a/keyboards/keebio/bfo9000/config.h +++ b/keyboards/keebio/bfo9000/config.h @@ -23,9 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#define RGBLED_NUM 20 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/keebio/bfo9000/info.json b/keyboards/keebio/bfo9000/info.json index 39b8cd7e2ce..5738ac69530 100644 --- a/keyboards/keebio/bfo9000/info.json +++ b/keyboards/keebio/bfo9000/info.json @@ -17,6 +17,7 @@ "soft_serial_pin": "D0" }, "rgblight": { + "led_count": 20, "split_count": [10, 10] }, "ws2812": { diff --git a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c index 4af086df3a2..637a7e04400 100644 --- a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c +++ b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c @@ -56,12 +56,13 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<. #pragma once -#define TAP_CODE_DELAY 10 - #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PAL_MODE 1 - #define RGBLED_NUM 4 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/dsp40/rev1/info.json b/keyboards/keebio/dsp40/rev1/info.json index efb1bc9551a..7a2ad6cf7e6 100644 --- a/keyboards/keebio/dsp40/rev1/info.json +++ b/keyboards/keebio/dsp40/rev1/info.json @@ -18,10 +18,19 @@ {"pin_a": "A1", "pin_b": "A2"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "backlight": { "pin": "A6", "levels": 7 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keebio/encoder_actions.c b/keyboards/keebio/encoder_actions.c deleted file mode 100644 index b02881de5f3..00000000000 --- a/keyboards/keebio/encoder_actions.c +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright 2020 Neil Brian Ramirez - * Copyright 2021 drashna jael're (@drashna) - * - * This program is free software: you can 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 "encoder_actions.h" - -#if defined(ENCODER_ENABLE) -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - // don't return user actions, because they are in the keymap - // encoder_update_user(index, clockwise); - return true; -}; - -#endif diff --git a/keyboards/keebio/encoder_actions.h b/keyboards/keebio/encoder_actions.h deleted file mode 100644 index 1a7fb72014d..00000000000 --- a/keyboards/keebio/encoder_actions.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "quantum.h" - -void encoder_action_unregister(void); - -void encoder_action_register(uint8_t index, bool clockwise); diff --git a/keyboards/keebio/ergodicity/config.h b/keyboards/keebio/ergodicity/config.h index c423ca19aa1..50cb99f051b 100644 --- a/keyboards/keebio/ergodicity/config.h +++ b/keyboards/keebio/ergodicity/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 12 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/ergodicity/info.json b/keyboards/keebio/ergodicity/info.json index c6a9f2d6a3c..db963340d40 100644 --- a/keyboards/keebio/ergodicity/info.json +++ b/keyboards/keebio/ergodicity/info.json @@ -18,6 +18,12 @@ "levels": 7, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/keebio/foldkb/rev1/config.h b/keyboards/keebio/foldkb/rev1/config.h index efdd195b5d1..f162dd2f10d 100644 --- a/keyboards/keebio/foldkb/rev1/config.h +++ b/keyboards/keebio/foldkb/rev1/config.h @@ -34,6 +34,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 // Number of LEDs -#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 12, 13, 14, 15, 4, 5, 6, 7, 8, 9, 10, 11 } #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) diff --git a/keyboards/keebio/foldkb/rev1/info.json b/keyboards/keebio/foldkb/rev1/info.json index 705bd7cc8a6..c680785933d 100644 --- a/keyboards/keebio/foldkb/rev1/info.json +++ b/keyboards/keebio/foldkb/rev1/info.json @@ -25,6 +25,8 @@ "soft_serial_pin": "D0" }, "rgblight": { + "led_count": 16, + "led_map": [0, 1, 2, 3, 12, 13, 14, 15, 4, 5, 6, 7, 8, 9, 10, 11], "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/keebio/fourier/config.h b/keyboards/keebio/fourier/config.h index 59ea066451c..44286c7817d 100644 --- a/keyboards/keebio/fourier/config.h +++ b/keyboards/keebio/fourier/config.h @@ -37,7 +37,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 // Number of LEDs /* * Feature disable options diff --git a/keyboards/keebio/fourier/info.json b/keyboards/keebio/fourier/info.json index 7d12c8c60bd..9f2147ca24d 100644 --- a/keyboards/keebio/fourier/info.json +++ b/keyboards/keebio/fourier/info.json @@ -23,6 +23,7 @@ "soft_serial_pin": "D0" }, "rgblight": { + "led_count": 14, "split_count": [7, 7] }, "ws2812": { diff --git a/keyboards/keebio/iris/keymaps/mattly/config.h b/keyboards/keebio/iris/keymaps/mattly/config.h index 1680f3d8f8a..a3ee1ec898e 100644 --- a/keyboards/keebio/iris/keymaps/mattly/config.h +++ b/keyboards/keebio/iris/keymaps/mattly/config.h @@ -22,15 +22,16 @@ along with this program. If not, see . #undef RGBLED_NUM #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 +#undef RGBLIGHT_EFFECT_RAINBOW_MOOD +#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL +#undef RGBLIGHT_EFFECT_KNIGHT +#undef RGBLIGHT_EFFECT_CHRISTMAS +#undef RGBLIGHT_EFFECT_STATIC_GRADIENT +#undef RGBLIGHT_EFFECT_RGB_TEST +#undef RGBLIGHT_EFFECT_ALTERNATING +#undef RGBLIGHT_EFFECT_TWINKLE +#undef RGBLIGHT_DEFAULT_MODE +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_BREATHING + 2) #define RGBLED_NUM 12 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/keebio/iris/keymaps/mattly/keymap.c b/keyboards/keebio/iris/keymaps/mattly/keymap.c index f592b4f25ad..0f7121b7be2 100644 --- a/keyboards/keebio/iris/keymaps/mattly/keymap.c +++ b/keyboards/keebio/iris/keymaps/mattly/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, A_CTL, S_ALT, D_GUI, F_SFT, KC_G, KC_H, J_SFT, K_GUI, L_ALT, MINSCTL, KC_QUOT, NAVLOCK, KC_Z, KC_X, KC_C, KC_V, KC_B, ENT_SYM, TAB_NUM, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, ESC_HYP, TAB_NUM, SPC_SFT, SPC_SFT, BSP_SYM, DEL_WRP - ), +), [_OVER_WIN] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -30,31 +30,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAVNUM] = LAYOUT( - XXXXXXX, XXXXXXX, XXXXXXX, M_NXWIN, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLSH, KC_ASTR, KC_MINS, KC_PLUS, XXXXXXX, - XXXXXXX, M_NAVFW, M_BWORD, KC_UP, M_FWORD, KC_PGUP, KC_DLR, KC_P7, KC_P8, KC_P9, KC_DOT, XXXXXXX, + M_PVWIN, M_NXWIN, XXXXXXX, M_BPARA, XXXXXXX, KC_HOME, XXXXXXX, KC_SLSH, KC_ASTR, KC_MINS, KC_PLUS, XXXXXXX, + M_PVTAB, M_NAVFW, M_BWORD, KC_UP, M_FWORD, KC_PGUP, KC_DLR, KC_P7, KC_P8, KC_P9, KC_DOT, XXXXXXX, XXXXXXX, M_NAVBK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_PERC, KC_P4, KC_P5, KC_P6, KC_EQL, XXXXXXX, - _______, M_PVTAB, KC_HOME, M_PVWIN, KC_END, M_NXTAB, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_COMM, _______, + _______, M_NAVFW, M_BLINE, M_NPARA, M_ELINE, KC_END, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_COMM, _______, _______, _______, _______, _______, _______, KC_P0 ), [_NAVNUM_WIN] = LAYOUT( - _______, _______, _______, W_NXWIN, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, W_NAVFW, W_BWORD, _______, W_FWORD, _______, _______, _______, _______, _______, _______, _______, _______, W_NAVBK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, W_PVTAB, _______, W_PVWIN, _______, W_NXTAB, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), + [_GAME] = LAYOUT( + KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_SCLN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_MINS, KC_QUOT, + KC_ESC, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_NAVNUM), MO(_SYMBOL), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_LGUI, KC_LSFT + ), + [_FUNCT] = 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, - QK_BOOT, XXXXXXX, XXXXXXX, M_NXWIN, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_K, QK_BOOT, - DB_TOGG, XXXXXXX, M_PVTAB, M_PVWIN, M_NXTAB, XXXXXXX, XXXXXXX, TOG_WIN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD, KC_MPLY, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + QK_BOOT, M_NAVFW, XXXXXXX, M_NXWIN, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_M_P, RGB_M_B, XXXXXXX, QK_BOOT, + DB_TOGG, M_NAVBK, M_PVTAB, M_PVWIN, M_NXTAB, XXXXXXX, XXXXXXX, TOG_WIN, TOG_GAM, XXXXXXX, XXXXXXX, XXXXXXX, + KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD, KC_MPLY, _______, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______ ), [_FUNCT_WIN] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, W_NXWIN, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, W_PVTAB, W_PVWIN, W_NXTAB, _______, _______, _______, _______, _______, _______, _______, + _______, W_NAVFW, _______, W_NXWIN, _______, _______, _______, _______, _______, _______, _______, _______, + _______, W_NAVBK, W_PVTAB, W_PVWIN, W_NXTAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/keebio/iris/keymaps/via/keymap.c b/keyboards/keebio/iris/keymaps/via/keymap.c index 7f793333cc5..c2753da2a45 100644 --- a/keyboards/keebio/iris/keymaps/via/keymap.c +++ b/keyboards/keebio/iris/keymaps/via/keymap.c @@ -71,8 +71,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { -# if defined(KEYBOARD_keebio_iris_rev7) - [_MAIN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, +# if defined(KEYBOARD_keebio_iris_rev7) || defined(KEYBOARD_keebio_iris_rev8) + [_MAIN] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, [_FN1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END) }, [_FN2] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, [_FN3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_UP, KC_DOWN) }, diff --git a/keyboards/keebio/iris/rev1/config.h b/keyboards/keebio/iris/rev1/config.h index 7fd5c0ff951..ec1e07d8fbe 100644 --- a/keyboards/keebio/iris/rev1/config.h +++ b/keyboards/keebio/iris/rev1/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/iris/rev1/info.json b/keyboards/keebio/iris/rev1/info.json index af3c7acd426..a389e7ae092 100644 --- a/keyboards/keebio/iris/rev1/info.json +++ b/keyboards/keebio/iris/rev1/info.json @@ -16,6 +16,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keebio/iris/rev1_led/config.h b/keyboards/keebio/iris/rev1_led/config.h index 7fd5c0ff951..ec1e07d8fbe 100644 --- a/keyboards/keebio/iris/rev1_led/config.h +++ b/keyboards/keebio/iris/rev1_led/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/iris/rev1_led/info.json b/keyboards/keebio/iris/rev1_led/info.json index bc19a0cc8be..0be141b00f2 100644 --- a/keyboards/keebio/iris/rev1_led/info.json +++ b/keyboards/keebio/iris/rev1_led/info.json @@ -16,6 +16,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keebio/iris/rev2/config.h b/keyboards/keebio/iris/rev2/config.h index 7fd5c0ff951..ec1e07d8fbe 100644 --- a/keyboards/keebio/iris/rev2/config.h +++ b/keyboards/keebio/iris/rev2/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/iris/rev2/info.json b/keyboards/keebio/iris/rev2/info.json index 2eef2853d87..f9c025f9ce2 100644 --- a/keyboards/keebio/iris/rev2/info.json +++ b/keyboards/keebio/iris/rev2/info.json @@ -17,6 +17,7 @@ "soft_serial_pin": "D0" }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/iris/rev3/config.h b/keyboards/keebio/iris/rev3/config.h index 2bc112261ad..9c0c7e07c75 100644 --- a/keyboards/keebio/iris/rev3/config.h +++ b/keyboards/keebio/iris/rev3/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/iris/rev3/info.json b/keyboards/keebio/iris/rev3/info.json index 4d427f75278..8c188a96202 100644 --- a/keyboards/keebio/iris/rev3/info.json +++ b/keyboards/keebio/iris/rev3/info.json @@ -19,6 +19,7 @@ "levels": 5 }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/iris/rev4/config.h b/keyboards/keebio/iris/rev4/config.h index 2a278b2fb28..e5b7a7633eb 100644 --- a/keyboards/keebio/iris/rev4/config.h +++ b/keyboards/keebio/iris/rev4/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/iris/rev4/info.json b/keyboards/keebio/iris/rev4/info.json index d0aa0d12c99..4ba2f6e193e 100644 --- a/keyboards/keebio/iris/rev4/info.json +++ b/keyboards/keebio/iris/rev4/info.json @@ -19,6 +19,7 @@ "levels": 5 }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/iris/rev5/config.h b/keyboards/keebio/iris/rev5/config.h index 78e747168d2..7bfc3e8ff8f 100644 --- a/keyboards/keebio/iris/rev5/config.h +++ b/keyboards/keebio/iris/rev5/config.h @@ -22,7 +22,6 @@ along with this program. If not, see . #define BACKLIGHT_DEFAULT_LEVEL 3 /* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/iris/rev5/info.json b/keyboards/keebio/iris/rev5/info.json index ec8b01893a8..30e5c6f9990 100644 --- a/keyboards/keebio/iris/rev5/info.json +++ b/keyboards/keebio/iris/rev5/info.json @@ -19,6 +19,7 @@ "levels": 5 }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/iris/rev6/config.h b/keyboards/keebio/iris/rev6/config.h index a7a588a6866..e94cce1ab58 100644 --- a/keyboards/keebio/iris/rev6/config.h +++ b/keyboards/keebio/iris/rev6/config.h @@ -20,11 +20,6 @@ along with this program. If not, see . #define SPLIT_HAND_PIN D5 /* ws2812 RGB LED */ -# define RGBLED_NUM 68 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== enabled animations ==*/ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -79,7 +74,7 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160 # define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 68 # define RGB_MATRIX_SPLIT { 34, 34 } # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/iris/rev6/info.json b/keyboards/keebio/iris/rev6/info.json index a7df6699043..c2e1d2158d0 100644 --- a/keyboards/keebio/iris/rev6/info.json +++ b/keyboards/keebio/iris/rev6/info.json @@ -21,7 +21,11 @@ "pin": "E6" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 68, "max_brightness": 120, + "sleep": true, "split_count": [34, 34] }, "split": { diff --git a/keyboards/keebio/iris/rev7/config.h b/keyboards/keebio/iris/rev7/config.h index 248cf16a036..e83396907a3 100644 --- a/keyboards/keebio/iris/rev7/config.h +++ b/keyboards/keebio/iris/rev7/config.h @@ -20,11 +20,6 @@ along with this program. If not, see . #define SPLIT_HAND_PIN D5 /* ws2812 RGB LED */ -# define RGBLED_NUM 68 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== enabled animations ==*/ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -79,7 +74,7 @@ along with this program. If not, see . //# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 # define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 68 # define RGB_MATRIX_SPLIT { 34, 34 } # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/iris/rev7/info.json b/keyboards/keebio/iris/rev7/info.json index 9d6cad296ed..aa8e4ffc43c 100644 --- a/keyboards/keebio/iris/rev7/info.json +++ b/keyboards/keebio/iris/rev7/info.json @@ -22,7 +22,11 @@ "pin": "E6" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 68, "max_brightness": 120, + "sleep": true, "split_count": [34, 34] }, "split": { diff --git a/keyboards/keebio/iris/rev8/config.h b/keyboards/keebio/iris/rev8/config.h new file mode 100644 index 00000000000..a49b48d14ba --- /dev/null +++ b/keyboards/keebio/iris/rev8/config.h @@ -0,0 +1,23 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SPLIT_HAND_PIN GP4 +#define USB_VBUS_PIN GP8 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP12 +#define SERIAL_USART_RX_PIN GP13 +#define SERIAL_USART_PIN_SWAP +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U +#define I2C_DRIVER I2CD2 +#define I2C1_SDA_PIN GP10 +#define I2C1_SCL_PIN GP11 + +// RGB Matrix +#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +#define RGB_MATRIX_LED_COUNT 68 +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/iris/rev8/info.json b/keyboards/keebio/iris/rev8/info.json new file mode 100644 index 00000000000..198e4fd56f5 --- /dev/null +++ b/keyboards/keebio/iris/rev8/info.json @@ -0,0 +1,242 @@ +{ + "keyboard_name": "Iris Rev. 8", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "GP14", "pin_b": "GP15"}, + {"pin_a": "GP26", "pin_b": "GP25"} + ] + }, + "ws2812": { + "driver": "vendor", + "pin": "GP9" + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP29", "GP27", "GP6", "GP5"], + "rows": ["GP0", "GP1", "GP7", "GP16", "GP28"] + }, + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "cols": ["GP27", "GP28", "GP3", "GP6", "GP29", "GP16"], + "rows": ["GP22", "GP19", "GP18", "GP17", "GP7"] + } + }, + "transport": { + "sync_matrix_state": true + } + }, + "processor": "RP2040", + "usb": { + "device_version": "8.0.0", + "pid": "0x8256" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.375}, + {"matrix": [0, 1], "x": 1, "y": 0.375}, + {"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": [5, 5], "x": 9, "y": 0.25}, + {"matrix": [5, 4], "x": 10, "y": 0.125}, + {"matrix": [5, 3], "x": 11, "y": 0}, + {"matrix": [5, 2], "x": 12, "y": 0.125}, + {"matrix": [5, 1], "x": 13, "y": 0.375}, + {"matrix": [5, 0], "x": 14, "y": 0.375}, + + {"matrix": [1, 0], "x": 0, "y": 1.375}, + {"matrix": [1, 1], "x": 1, "y": 1.375}, + {"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": [6, 5], "x": 9, "y": 1.25}, + {"matrix": [6, 4], "x": 10, "y": 1.125}, + {"matrix": [6, 3], "x": 11, "y": 1}, + {"matrix": [6, 2], "x": 12, "y": 1.125}, + {"matrix": [6, 1], "x": 13, "y": 1.375}, + {"matrix": [6, 0], "x": 14, "y": 1.375}, + + {"matrix": [2, 0], "x": 0, "y": 2.375}, + {"matrix": [2, 1], "x": 1, "y": 2.375}, + {"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": [7, 5], "x": 9, "y": 2.25}, + {"matrix": [7, 4], "x": 10, "y": 2.125}, + {"matrix": [7, 3], "x": 11, "y": 2}, + {"matrix": [7, 2], "x": 12, "y": 2.125}, + {"matrix": [7, 1], "x": 13, "y": 2.375}, + {"matrix": [7, 0], "x": 14, "y": 2.375}, + + {"matrix": [3, 0], "x": 0, "y": 3.375}, + {"matrix": [3, 1], "x": 1, "y": 3.375}, + {"matrix": [3, 2], "x": 2, "y": 3.125}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3.125}, + {"matrix": [3, 5], "x": 5, "y": 3.25}, + {"matrix": [4, 5], "x": 6.15, "y": 3.75}, + + {"matrix": [9, 5], "x": 7.85, "y": 3.75}, + {"matrix": [8, 5], "x": 9, "y": 3.25}, + {"matrix": [8, 4], "x": 10, "y": 3.125}, + {"matrix": [8, 3], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3.125}, + {"matrix": [8, 1], "x": 13, "y": 3.375}, + {"matrix": [8, 0], "x": 14, "y": 3.375}, + + {"matrix": [4, 2], "x": 3.5, "y": 4.25}, + {"matrix": [4, 3], "x": 4.5, "y": 4.375}, + {"matrix": [4, 4], "x": 5.6, "y": 4.75}, + + {"matrix": [9, 4], "x": 8.4, "y": 4.75}, + {"matrix": [9, 3], "x": 9.5, "y": 4.375}, + {"matrix": [9, 2], "x": 10.5, "y": 4.25} + ] + } + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "driver": "WS2812", + "split_count": [34, 34], + "max_brightness": 120, + "layout": [ + {"matrix": [0,0], "flags":4, "x":0, "y":5}, + {"flags":2, "x":8, "y":5}, + {"matrix": [0,1], "flags":4, "x":16, "y":5}, + {"matrix": [0,2], "flags":4, "x":32, "y":2}, + {"flags":2, "x":40, "y":1}, + {"matrix": [0,3], "flags":4, "x":48, "y":0}, + {"matrix": [0,4], "flags":4, "x":64, "y":5}, + {"flags":2, "x":72, "y":3}, + {"matrix": [0,5], "flags":4, "x":80, "y":3}, + + {"matrix": [1,5], "flags":4, "x":80, "y":17}, + {"matrix": [1,4], "flags":4, "x":64, "y":15}, + {"matrix": [1,3], "flags":4, "x":48, "y":13}, + {"matrix": [1,2], "flags":4, "x":32, "y":15}, + {"matrix": [1,1], "flags":4, "x":16, "y":18}, + {"matrix": [1,0], "flags":4, "x":0, "y":18}, + + {"matrix": [2,0], "flags":4, "x":0, "y":32}, + {"matrix": [2,1], "flags":4, "x":16, "y":32}, + {"matrix": [2,2], "flags":4, "x":32, "y":28}, + {"matrix": [2,3], "flags":4, "x":48, "y":27}, + {"matrix": [2,4], "flags":4, "x":64, "y":28}, + {"matrix": [2,5], "flags":4, "x":80, "y":30}, + + {"matrix": [3,5], "flags":4, "x":80, "y":43}, + {"matrix": [3,4], "flags":4, "x":64, "y":42}, + {"matrix": [3,3], "flags":4, "x":48, "y":40}, + {"flags":2, "x":40, "y":50}, + {"matrix": [3,2], "flags":4, "x":32, "y":42}, + {"matrix": [3,1], "flags":4, "x":16, "y":45}, + {"flags":2, "x":8, "y":43}, + {"matrix": [3,0], "flags":4, "x":0, "y":45}, + + {"matrix": [4,5], "flags":4, "x":98, "y":52}, + {"matrix": [4,4], "flags":4, "x":90, "y":64}, + {"flags":2, "x":80, "y":58}, + {"matrix": [4,3], "flags":4, "x":72, "y":58}, + {"matrix": [4,2], "flags":4, "x":56, "y":47}, + + {"matrix": [5,0], "flags":4, "x":224, "y":5}, + {"flags":2, "x":216, "y":5}, + {"matrix": [5,1], "flags":4, "x":208, "y":5}, + {"matrix": [5,2], "flags":4, "x":192, "y":2}, + {"flags":2, "x":184, "y":1}, + {"matrix": [5,3], "flags":4, "x":176, "y":0}, + {"matrix": [5,4], "flags":4, "x":160, "y":5}, + {"flags":2, "x":152, "y":3}, + {"matrix": [5,5], "flags":4, "x":144, "y":3}, + + {"matrix": [6,5], "flags":4, "x":144, "y":17}, + {"matrix": [6,4], "flags":4, "x":160, "y":15}, + {"matrix": [6,3], "flags":4, "x":176, "y":13}, + {"matrix": [6,2], "flags":4, "x":192, "y":15}, + {"matrix": [6,1], "flags":4, "x":208, "y":18}, + {"matrix": [6,0], "flags":4, "x":224, "y":18}, + + {"matrix": [7,0], "flags":4, "x":224, "y":32}, + {"matrix": [7,1], "flags":4, "x":208, "y":32}, + {"matrix": [7,2], "flags":4, "x":192, "y":28}, + {"matrix": [7,3], "flags":4, "x":176, "y":27}, + {"matrix": [7,4], "flags":4, "x":160, "y":28}, + {"matrix": [7,5], "flags":4, "x":144, "y":30}, + + {"matrix": [8,5], "flags":4, "x":144, "y":43}, + {"matrix": [8,4], "flags":4, "x":160, "y":42}, + {"matrix": [8,3], "flags":4, "x":176, "y":40}, + {"flags":2, "x":184, "y":50}, + {"matrix": [8,2], "flags":4, "x":192, "y":42}, + {"matrix": [8,1], "flags":4, "x":208, "y":45}, + {"flags":2, "x":216, "y":43}, + {"matrix": [8,0], "flags":4, "x":224, "y":45}, + + {"matrix": [9,2], "flags":4, "x":168, "y":47}, + {"matrix": [9,3], "flags":4, "x":152, "y":58}, + {"flags":2, "x":144, "y":58}, + {"matrix": [9,4], "flags":4, "x":134, "y":64}, + {"matrix": [9,5], "flags":4, "x":126, "y":52}, + ] + } +} diff --git a/keyboards/keebio/iris/rev8/rev8.c b/keyboards/keebio/iris/rev8/rev8.c new file mode 100644 index 00000000000..a6f0ac00a0f --- /dev/null +++ b/keyboards/keebio/iris/rev8/rev8.c @@ -0,0 +1,36 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + 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); + } + } else if (index == 2) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 3) { + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return false; +} +#endif diff --git a/keyboards/keebio/iris/rev8/rules.mk b/keyboards/keebio/iris/rev8/rules.mk new file mode 100644 index 00000000000..161ec22b16e --- /dev/null +++ b/keyboards/keebio/iris/rev8/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/kbo5000/rev1/config.h b/keyboards/keebio/kbo5000/rev1/config.h index c22aff38be5..0771ad9e251 100644 --- a/keyboards/keebio/kbo5000/rev1/config.h +++ b/keyboards/keebio/kbo5000/rev1/config.h @@ -38,5 +38,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 // Number of LEDs -#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } diff --git a/keyboards/keebio/kbo5000/rev1/info.json b/keyboards/keebio/kbo5000/rev1/info.json index e1b4d90492f..fd93ad86d50 100644 --- a/keyboards/keebio/kbo5000/rev1/info.json +++ b/keyboards/keebio/kbo5000/rev1/info.json @@ -22,6 +22,8 @@ "pin": "B5" }, "rgblight": { + "led_count": 16, + "led_map": [1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8], "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/keebio/laplace/config.h b/keyboards/keebio/laplace/config.h index 93ef4c9130c..e80e1f3d585 100644 --- a/keyboards/keebio/laplace/config.h +++ b/keyboards/keebio/laplace/config.h @@ -28,6 +28,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 - -#define TAPPING_TERM 200 diff --git a/keyboards/keebio/laplace/info.json b/keyboards/keebio/laplace/info.json index 1899e882369..5fd29b1fbef 100644 --- a/keyboards/keebio/laplace/info.json +++ b/keyboards/keebio/laplace/info.json @@ -8,6 +8,9 @@ "pid": "0x1147", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/keebio/levinson/rev1/config.h b/keyboards/keebio/levinson/rev1/config.h index b6d4d647192..2fd8b7d4d04 100644 --- a/keyboards/keebio/levinson/rev1/config.h +++ b/keyboards/keebio/levinson/rev1/config.h @@ -23,6 +23,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs diff --git a/keyboards/keebio/levinson/rev1/info.json b/keyboards/keebio/levinson/rev1/info.json index f947546b3d5..0a98e032d46 100644 --- a/keyboards/keebio/levinson/rev1/info.json +++ b/keyboards/keebio/levinson/rev1/info.json @@ -17,6 +17,7 @@ "levels": 7 }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/levinson/rev2/config.h b/keyboards/keebio/levinson/rev2/config.h index b6d4d647192..2fd8b7d4d04 100644 --- a/keyboards/keebio/levinson/rev2/config.h +++ b/keyboards/keebio/levinson/rev2/config.h @@ -23,6 +23,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs diff --git a/keyboards/keebio/levinson/rev2/info.json b/keyboards/keebio/levinson/rev2/info.json index ea62141edd2..962f555e128 100644 --- a/keyboards/keebio/levinson/rev2/info.json +++ b/keyboards/keebio/levinson/rev2/info.json @@ -17,6 +17,7 @@ "levels": 7 }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/levinson/rev3/config.h b/keyboards/keebio/levinson/rev3/config.h index 3521356e7d0..e1c73cd56ee 100644 --- a/keyboards/keebio/levinson/rev3/config.h +++ b/keyboards/keebio/levinson/rev3/config.h @@ -25,6 +25,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs diff --git a/keyboards/keebio/levinson/rev3/info.json b/keyboards/keebio/levinson/rev3/info.json index 81230247b68..cac1c3ac351 100644 --- a/keyboards/keebio/levinson/rev3/info.json +++ b/keyboards/keebio/levinson/rev3/info.json @@ -23,6 +23,7 @@ "levels": 7 }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/nyquist/keymaps/default/keymap.c b/keyboards/keebio/nyquist/keymaps/default/keymap.c index a06cde95553..8bf16240fb1 100644 --- a/keyboards/keebio/nyquist/keymaps/default/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/default/keymap.c @@ -1,5 +1,7 @@ -#include QMK_KEYBOARD_H +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// 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. @@ -38,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | * `-----------------------------------------------------------------------------------' */ -[_QWERTY] = LAYOUT( +[_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, @@ -59,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | * `-----------------------------------------------------------------------------------' */ -[_COLEMAK] = LAYOUT( +[_COLEMAK] = 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_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, @@ -80,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | * `-----------------------------------------------------------------------------------' */ -[_DVORAK] = LAYOUT( +[_DVORAK] = 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_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, @@ -101,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' */ -[_LOWER] = LAYOUT( +[_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, @@ -122,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' */ -[_RAISE] = LAYOUT( +[_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, @@ -143,9 +145,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ -[_ADJUST] = LAYOUT( +[_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 , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, + _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DEL, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ @@ -225,3 +227,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } + +#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) }, + [_COLEMAK] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [_DVORAK] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [_LOWER] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) }, + [_RAISE] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/keebio/nyquist/keymaps/default/rules.mk b/keyboards/keebio/nyquist/keymaps/default/rules.mk index 1e3cebb1451..ee325681483 100644 --- a/keyboards/keebio/nyquist/keymaps/default/rules.mk +++ b/keyboards/keebio/nyquist/keymaps/default/rules.mk @@ -1 +1 @@ -RGBLIGHT_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keebio/nyquist/keymaps/default_4x12/keymap.c b/keyboards/keebio/nyquist/keymaps/default_4x12/keymap.c index ac270cdc50b..5d284d97871 100644 --- a/keyboards/keebio/nyquist/keymaps/default_4x12/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/default_4x12/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H enum layer_names { diff --git a/keyboards/keebio/nyquist/keymaps/via/keymap.c b/keyboards/keebio/nyquist/keymaps/via/keymap.c index 5d986e69a0a..6d37f4f9b5c 100644 --- a/keyboards/keebio/nyquist/keymaps/via/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/via/keymap.c @@ -44,3 +44,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; + +#ifdef 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_PGUP, KC_PGDN) }, + [1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/keebio/nyquist/keymaps/via/rules.mk b/keyboards/keebio/nyquist/keymaps/via/rules.mk index 43061db1dd4..1189f4ad192 100644 --- a/keyboards/keebio/nyquist/keymaps/via/rules.mk +++ b/keyboards/keebio/nyquist/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keebio/nyquist/rev1/config.h b/keyboards/keebio/nyquist/rev1/config.h index e4878b790a6..6fdc15c582d 100644 --- a/keyboards/keebio/nyquist/rev1/config.h +++ b/keyboards/keebio/nyquist/rev1/config.h @@ -22,9 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#define RGBLED_NUM 12 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/keebio/nyquist/rev1/info.json b/keyboards/keebio/nyquist/rev1/info.json index b75a6787976..cd729aa87b7 100644 --- a/keyboards/keebio/nyquist/rev1/info.json +++ b/keyboards/keebio/nyquist/rev1/info.json @@ -13,6 +13,7 @@ "soft_serial_pin": "D0" }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/nyquist/rev2/config.h b/keyboards/keebio/nyquist/rev2/config.h index e4878b790a6..6fdc15c582d 100644 --- a/keyboards/keebio/nyquist/rev2/config.h +++ b/keyboards/keebio/nyquist/rev2/config.h @@ -22,9 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#define RGBLED_NUM 12 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/keebio/nyquist/rev2/info.json b/keyboards/keebio/nyquist/rev2/info.json index 4a802ad4549..f6b80cb9460 100644 --- a/keyboards/keebio/nyquist/rev2/info.json +++ b/keyboards/keebio/nyquist/rev2/info.json @@ -14,6 +14,7 @@ "levels": 7 }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/nyquist/rev3/config.h b/keyboards/keebio/nyquist/rev3/config.h index 8d3be7827d9..7e1e36bda39 100644 --- a/keyboards/keebio/nyquist/rev3/config.h +++ b/keyboards/keebio/nyquist/rev3/config.h @@ -35,7 +35,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 /* * Feature disable options diff --git a/keyboards/keebio/nyquist/rev3/info.json b/keyboards/keebio/nyquist/rev3/info.json index 9eb4c51323f..9012b3ab222 100644 --- a/keyboards/keebio/nyquist/rev3/info.json +++ b/keyboards/keebio/nyquist/rev3/info.json @@ -17,6 +17,7 @@ "soft_serial_pin": "D0" }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/keebio/nyquist/rev4/config.h b/keyboards/keebio/nyquist/rev4/config.h new file mode 100644 index 00000000000..a1dc02997f6 --- /dev/null +++ b/keyboards/keebio/nyquist/rev4/config.h @@ -0,0 +1,23 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SPLIT_HAND_PIN GP23 +#define USB_VBUS_PIN GP18 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP8 +#define SERIAL_USART_RX_PIN GP9 +#define SERIAL_USART_PIN_SWAP +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U +#define I2C_DRIVER I2CD0 +#define I2C0_SDA_PIN GP4 +#define I2C0_SCL_PIN GP5 + +// RGB Matrix +#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +#define RGB_MATRIX_LED_COUNT 72 +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/nyquist/rev4/info.json b/keyboards/keebio/nyquist/rev4/info.json new file mode 100644 index 00000000000..1788f3427f4 --- /dev/null +++ b/keyboards/keebio/nyquist/rev4/info.json @@ -0,0 +1,315 @@ +{ + "keyboard_name": "Nyquist Rev. 4", + "usb": { + "pid": "0x4156", + "device_version": "4.0.0" + }, + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "mousekey": true, + "extrakey": true, + "rgb_matrix": true + }, + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "GP1", "pin_b": "GP0" } + ] + } + }, + "matrix_pins": { + "right":{ + "cols": ["GP25", "GP29", "GP20", "GP11", "GP3", "GP2"], + "rows": ["GP24", "GP17", "GP15", "GP14", "GP12"] + } + }, + "transport": { + "sync_matrix_state": true + } + }, + "matrix_pins": { + "cols": ["GP29", "GP22", "GP0", "GP3", "GP11", "GP6"], + "rows": ["GP2", "GP1", "GP17", "GP25", "GP24"] + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "GP26", "pin_b": "GP27" } + ] + }, + "ws2812": { + "driver": "vendor", + "pin": "GP28" + }, + "layouts": { + "LAYOUT_ortho_5x12": { + "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, 0], "x": 7, "y": 0}, + {"matrix": [5, 1], "x": 8, "y": 0}, + {"matrix": [5, 2], "x": 9, "y": 0}, + {"matrix": [5, 3], "x": 10, "y": 0}, + {"matrix": [5, 4], "x": 11, "y": 0}, + {"matrix": [5, 5], "x": 12, "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, 0], "x": 7, "y": 1}, + {"matrix": [6, 1], "x": 8, "y": 1}, + {"matrix": [6, 2], "x": 9, "y": 1}, + {"matrix": [6, 3], "x": 10, "y": 1}, + {"matrix": [6, 4], "x": 11, "y": 1}, + {"matrix": [6, 5], "x": 12, "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, 0], "x": 7, "y": 2}, + {"matrix": [7, 1], "x": 8, "y": 2}, + {"matrix": [7, 2], "x": 9, "y": 2}, + {"matrix": [7, 3], "x": 10, "y": 2}, + {"matrix": [7, 4], "x": 11, "y": 2}, + {"matrix": [7, 5], "x": 12, "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, 0], "x": 7, "y": 3}, + {"matrix": [8, 1], "x": 8, "y": 3}, + {"matrix": [8, 2], "x": 9, "y": 3}, + {"matrix": [8, 3], "x": 10, "y": 3}, + {"matrix": [8, 4], "x": 11, "y": 3}, + {"matrix": [8, 5], "x": 12, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4}, + {"matrix": [4, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4}, + + {"matrix": [9, 0], "x": 7, "y": 4}, + {"matrix": [9, 1], "x": 8, "y": 4}, + {"matrix": [9, 2], "x": 9, "y": 4}, + {"matrix": [9, 3], "x": 10, "y": 4}, + {"matrix": [9, 4], "x": 11, "y": 4}, + {"matrix": [9, 5], "x": 12, "y": 4} + ] + }, + "LAYOUT_ortho_4x12": { + "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, 0], "x": 7, "y": 0}, + {"matrix": [5, 1], "x": 8, "y": 0}, + {"matrix": [5, 2], "x": 9, "y": 0}, + {"matrix": [5, 3], "x": 10, "y": 0}, + {"matrix": [5, 4], "x": 11, "y": 0}, + {"matrix": [5, 5], "x": 12, "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, 0], "x": 7, "y": 1}, + {"matrix": [6, 1], "x": 8, "y": 1}, + {"matrix": [6, 2], "x": 9, "y": 1}, + {"matrix": [6, 3], "x": 10, "y": 1}, + {"matrix": [6, 4], "x": 11, "y": 1}, + {"matrix": [6, 5], "x": 12, "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, 0], "x": 7, "y": 2}, + {"matrix": [7, 1], "x": 8, "y": 2}, + {"matrix": [7, 2], "x": 9, "y": 2}, + {"matrix": [7, 3], "x": 10, "y": 2}, + {"matrix": [7, 4], "x": 11, "y": 2}, + {"matrix": [7, 5], "x": 12, "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, 0], "x": 7, "y": 3}, + {"matrix": [8, 1], "x": 8, "y": 3}, + {"matrix": [8, 2], "x": 9, "y": 3}, + {"matrix": [8, 3], "x": 10, "y": 3}, + {"matrix": [8, 4], "x": 11, "y": 3}, + {"matrix": [8, 5], "x": 12, "y": 3} + ] + } + }, + "rgb_matrix": { + "driver": "WS2812", + "split_count": [36, 36], + "max_brightness": 120, + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 9, "y": 6 }, + { "flags": 4, "matrix": [0, 1], "x": 28, "y": 6 }, + { "flags": 4, "matrix": [0, 2], "x": 46, "y": 6 }, + { "flags": 2, "x": 56, "y": 6 }, + { "flags": 4, "matrix": [0, 3], "x": 65, "y": 6 }, + { "flags": 4, "matrix": [0, 4], "x": 84, "y": 6 }, + { "flags": 4, "matrix": [0, 5], "x": 102, "y": 6 }, + + { "flags": 4, "matrix": [1, 5], "x": 102, "y": 19 }, + { "flags": 2, "x": 93, "y": 12 }, + { "flags": 4, "matrix": [1, 4], "x": 84, "y": 19 }, + { "flags": 4, "matrix": [1, 3], "x": 65, "y": 19 }, + { "flags": 4, "matrix": [1, 2], "x": 46, "y": 19 }, + { "flags": 4, "matrix": [1, 1], "x": 28, "y": 19 }, + { "flags": 2, "x": 18, "y": 12 }, + { "flags": 4, "matrix": [1, 0], "x": 9, "y": 19 }, + + { "flags": 4, "matrix": [2, 0], "x": 9, "y": 32 }, + { "flags": 4, "matrix": [2, 1], "x": 28, "y": 32 }, + { "flags": 4, "matrix": [2, 2], "x": 46, "y": 32 }, + { "flags": 4, "matrix": [2, 3], "x": 65, "y": 32 }, + { "flags": 4, "matrix": [2, 4], "x": 84, "y": 32 }, + { "flags": 4, "matrix": [2, 5], "x": 102, "y": 32 }, + + { "flags": 4, "matrix": [3, 5], "x": 102, "y": 44 }, + { "flags": 2, "x": 93, "y": 44 }, + { "flags": 4, "matrix": [3, 4], "x": 84, "y": 44 }, + { "flags": 4, "matrix": [3, 3], "x": 65, "y": 44 }, + { "flags": 2, "x": 56, "y": 44 }, + { "flags": 4, "matrix": [3, 2], "x": 46, "y": 44 }, + { "flags": 4, "matrix": [3, 1], "x": 28, "y": 44 }, + { "flags": 2, "x": 18, "y": 44 }, + { "flags": 4, "matrix": [3, 0], "x": 9, "y": 44 }, + + { "flags": 4, "matrix": [4, 0], "x": 9, "y": 57 }, + { "flags": 4, "matrix": [4, 1], "x": 28, "y": 57 }, + { "flags": 4, "matrix": [4, 2], "x": 46, "y": 57 }, + { "flags": 4, "matrix": [4, 3], "x": 65, "y": 57 }, + { "flags": 4, "matrix": [4, 4], "x": 81, "y": 57 }, + { "flags": 4, "matrix": [4, 5], "x": 105, "y": 57 }, + + { "flags": 4, "matrix": [5, 0], "x": 121, "y": 6 }, + { "flags": 4, "matrix": [5, 1], "x": 140, "y": 6 }, + { "flags": 4, "matrix": [5, 2], "x": 158, "y": 6 }, + { "flags": 2, "x": 168, "y": 6 }, + { "flags": 4, "matrix": [5, 3], "x": 177, "y": 6 }, + { "flags": 4, "matrix": [5, 4], "x": 196, "y": 6 }, + { "flags": 4, "matrix": [5, 5], "x": 214, "y": 6 }, + + { "flags": 4, "matrix": [6, 5], "x": 214, "y": 19 }, + { "flags": 2, "x": 205, "y": 12 }, + { "flags": 4, "matrix": [6, 4], "x": 196, "y": 19 }, + { "flags": 4, "matrix": [6, 3], "x": 177, "y": 19 }, + { "flags": 4, "matrix": [6, 2], "x": 158, "y": 19 }, + { "flags": 4, "matrix": [6, 1], "x": 140, "y": 19 }, + { "flags": 2, "x": 130, "y": 12 }, + { "flags": 4, "matrix": [6, 0], "x": 121, "y": 19 }, + + { "flags": 4, "matrix": [7, 0], "x": 121, "y": 32 }, + { "flags": 4, "matrix": [7, 1], "x": 140, "y": 32 }, + { "flags": 4, "matrix": [7, 2], "x": 158, "y": 32 }, + { "flags": 4, "matrix": [7, 3], "x": 177, "y": 32 }, + { "flags": 4, "matrix": [7, 4], "x": 196, "y": 32 }, + { "flags": 4, "matrix": [7, 5], "x": 214, "y": 32 }, + + { "flags": 4, "matrix": [8, 5], "x": 214, "y": 44 }, + { "flags": 2, "x": 205, "y": 44 }, + { "flags": 4, "matrix": [8, 4], "x": 196, "y": 44 }, + { "flags": 4, "matrix": [8, 3], "x": 177, "y": 44 }, + { "flags": 2, "x": 168, "y": 44 }, + { "flags": 4, "matrix": [8, 2], "x": 158, "y": 44 }, + { "flags": 4, "matrix": [8, 1], "x": 140, "y": 44 }, + { "flags": 2, "x": 130, "y": 44 }, + { "flags": 4, "matrix": [8, 0], "x": 121, "y": 44 }, + + { "flags": 4, "matrix": [9, 0], "x": 121, "y": 57 }, + { "flags": 4, "matrix": [9, 1], "x": 140, "y": 57 }, + { "flags": 4, "matrix": [9, 2], "x": 158, "y": 57 }, + { "flags": 4, "matrix": [9, 3], "x": 177, "y": 57 }, + { "flags": 4, "matrix": [9, 4], "x": 196, "y": 57 }, + { "flags": 4, "matrix": [9, 5], "x": 214, "y": 57 } + ] + } +} diff --git a/keyboards/keebio/nyquist/rev4/rules.mk b/keyboards/keebio/nyquist/rev4/rules.mk new file mode 100644 index 00000000000..161ec22b16e --- /dev/null +++ b/keyboards/keebio/nyquist/rev4/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/quefrency/rev1/config.h b/keyboards/keebio/quefrency/rev1/config.h index f439fd05af7..ee52660c6ce 100644 --- a/keyboards/keebio/quefrency/rev1/config.h +++ b/keyboards/keebio/quefrency/rev1/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 // Number of LEDs // Set 65% column (option 1) and Macro (option 2) on by default #define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x60 diff --git a/keyboards/keebio/quefrency/rev1/info.json b/keyboards/keebio/quefrency/rev1/info.json index cf44ce3b819..ba82cdcb2f4 100644 --- a/keyboards/keebio/quefrency/rev1/info.json +++ b/keyboards/keebio/quefrency/rev1/info.json @@ -9,6 +9,7 @@ "device_version": "1.0.0" }, "rgblight": { + "led_count": 16, "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/keebio/quefrency/rev2/config.h b/keyboards/keebio/quefrency/rev2/config.h index 20f625af304..65b8ea7f8c8 100644 --- a/keyboards/keebio/quefrency/rev2/config.h +++ b/keyboards/keebio/quefrency/rev2/config.h @@ -23,8 +23,6 @@ along with this program. If not, see . #define CAPS_LOCK_LED_PIN B6 /* ws2812 RGB LED */ -#define RGBLED_NUM 16 // Number of LEDs -#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/quefrency/rev2/info.json b/keyboards/keebio/quefrency/rev2/info.json index d9bbab9795d..c076a697f52 100644 --- a/keyboards/keebio/quefrency/rev2/info.json +++ b/keyboards/keebio/quefrency/rev2/info.json @@ -22,6 +22,8 @@ "pin": "B5" }, "rgblight": { + "led_count": 16, + "led_map": [1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8], "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/keebio/quefrency/rev3/config.h b/keyboards/keebio/quefrency/rev3/config.h index 20f625af304..65b8ea7f8c8 100644 --- a/keyboards/keebio/quefrency/rev3/config.h +++ b/keyboards/keebio/quefrency/rev3/config.h @@ -23,8 +23,6 @@ along with this program. If not, see . #define CAPS_LOCK_LED_PIN B6 /* ws2812 RGB LED */ -#define RGBLED_NUM 16 // Number of LEDs -#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/quefrency/rev3/info.json b/keyboards/keebio/quefrency/rev3/info.json index 4f14a0f6a82..66deb759511 100644 --- a/keyboards/keebio/quefrency/rev3/info.json +++ b/keyboards/keebio/quefrency/rev3/info.json @@ -22,6 +22,8 @@ "pin": "B5" }, "rgblight": { + "led_count": 16, + "led_map": [1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8], "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/keebio/quefrency/rev4/config.h b/keyboards/keebio/quefrency/rev4/config.h index da173dde3ee..abb3b8b340a 100644 --- a/keyboards/keebio/quefrency/rev4/config.h +++ b/keyboards/keebio/quefrency/rev4/config.h @@ -24,8 +24,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGBLED_NUM 16 // Number of LEDs -#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/keebio/quefrency/rev4/info.json b/keyboards/keebio/quefrency/rev4/info.json index 64a2361f81b..8ca39b9145b 100644 --- a/keyboards/keebio/quefrency/rev4/info.json +++ b/keyboards/keebio/quefrency/rev4/info.json @@ -19,6 +19,8 @@ ] }, "rgblight": { + "led_count": 16, + "led_map": [1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8], "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/keebio/quefrency/rev5/config.h b/keyboards/keebio/quefrency/rev5/config.h index da173dde3ee..abb3b8b340a 100644 --- a/keyboards/keebio/quefrency/rev5/config.h +++ b/keyboards/keebio/quefrency/rev5/config.h @@ -24,8 +24,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* ws2812 RGB LED */ -#define RGBLED_NUM 16 // Number of LEDs -#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/keebio/quefrency/rev5/info.json b/keyboards/keebio/quefrency/rev5/info.json index 3d60d790487..f922b8cb947 100644 --- a/keyboards/keebio/quefrency/rev5/info.json +++ b/keyboards/keebio/quefrency/rev5/info.json @@ -19,6 +19,8 @@ ] }, "rgblight": { + "led_count": 16, + "led_map": [1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8], "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/keebio/rorschach/rev1/config.h b/keyboards/keebio/rorschach/rev1/config.h index 979899d5472..abfd454fa93 100644 --- a/keyboards/keebio/rorschach/rev1/config.h +++ b/keyboards/keebio/rorschach/rev1/config.h @@ -33,7 +33,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/keebio/rorschach/rev1/info.json b/keyboards/keebio/rorschach/rev1/info.json index a0b1188a7c9..e6d0e4471b0 100644 --- a/keyboards/keebio/rorschach/rev1/info.json +++ b/keyboards/keebio/rorschach/rev1/info.json @@ -17,6 +17,11 @@ "pin": "B5", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keebio/sinc/keymaps/default/keymap.c b/keyboards/keebio/sinc/keymaps/default/keymap.c index 20c12a4a6e4..171b7a7d057 100644 --- a/keyboards/keebio/sinc/keymaps/default/keymap.c +++ b/keyboards/keebio/sinc/keymaps/default/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/keebio/sinc/keymaps/iso/keymap.c b/keyboards/keebio/sinc/keymaps/iso/keymap.c index f7ad1047bf2..f3eaaa5bca0 100644 --- a/keyboards/keebio/sinc/keymaps/iso/keymap.c +++ b/keyboards/keebio/sinc/keymaps/iso/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/keebio/sinc/keymaps/via/keymap.c b/keyboards/keebio/sinc/keymaps/via/keymap.c index 2a54d1aa5a3..a1299ce112b 100644 --- a/keyboards/keebio/sinc/keymaps/via/keymap.c +++ b/keyboards/keebio/sinc/keymaps/via/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/keebio/sinc/rev1/config.h b/keyboards/keebio/sinc/rev1/config.h index c394777a8f8..8894354d431 100644 --- a/keyboards/keebio/sinc/rev1/config.h +++ b/keyboards/keebio/sinc/rev1/config.h @@ -26,8 +26,6 @@ along with this program. If not, see . /* Synchronize Caps Lock LED across halves */ #define SPLIT_LED_STATE_ENABLE -/* ws2812 RGB LED */ -#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/keebio/sinc/rev1/info.json b/keyboards/keebio/sinc/rev1/info.json index d9b09568bda..5ddb54ee603 100644 --- a/keyboards/keebio/sinc/rev1/info.json +++ b/keyboards/keebio/sinc/rev1/info.json @@ -49,6 +49,7 @@ }, "rgblight": { "led_count": 16, + "led_map": [1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8], "split_count": [8, 8], "animations": { "alternating": true, diff --git a/keyboards/keebio/sinc/rev2/config.h b/keyboards/keebio/sinc/rev2/config.h index c394777a8f8..8894354d431 100644 --- a/keyboards/keebio/sinc/rev2/config.h +++ b/keyboards/keebio/sinc/rev2/config.h @@ -26,8 +26,6 @@ along with this program. If not, see . /* Synchronize Caps Lock LED across halves */ #define SPLIT_LED_STATE_ENABLE -/* ws2812 RGB LED */ -#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 } #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/keebio/sinc/rev2/info.json b/keyboards/keebio/sinc/rev2/info.json index d9372d9e947..0c86727abed 100644 --- a/keyboards/keebio/sinc/rev2/info.json +++ b/keyboards/keebio/sinc/rev2/info.json @@ -49,6 +49,7 @@ }, "rgblight": { "led_count": 16, + "led_map": [1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8], "split_count": [8, 8], "animations": { "alternating": true, diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h b/keyboards/keebio/sinc/rev4/config.h similarity index 67% rename from keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h rename to keyboards/keebio/sinc/rev4/config.h index 48a12c0cdcf..b6c5785f4cf 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h +++ b/keyboards/keebio/sinc/rev4/config.h @@ -1,30 +1,21 @@ -/* -Copyright 2021 CapsUnlocked +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 -/* enable RGB matrix */ -#define CU80_RGB +#define SPLIT_HAND_PIN GP4 +#define USB_VBUS_PIN GP14 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 +#define SERIAL_USART_PIN_SWAP +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP22 +#define I2C1_SCL_PIN GP23 -/* moved to RGB specific */ -#define RGB_MATRIX_KEYPRESSES -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +// RGB Matrix #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT @@ -51,6 +42,7 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_HUE_BREATHING #define ENABLE_RGB_MATRIX_HUE_PENDULUM #define ENABLE_RGB_MATRIX_HUE_WAVE +#define ENABLE_RGB_MATRIX_FRACTAL #define ENABLE_RGB_MATRIX_PIXEL_RAIN #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL @@ -71,7 +63,10 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -/* RGB firmware override */ -#undef RGBLIGHT_HUE_STEP -#undef RGBLIGHT_SAT_STEP -#undef RGBLIGHT_VAL_STEP +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 +#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +#define RGB_MATRIX_LED_COUNT 117 +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/keebio/sinc/rev4/halconf.h b/keyboards/keebio/sinc/rev4/halconf.h new file mode 100644 index 00000000000..64036dec35f --- /dev/null +++ b/keyboards/keebio/sinc/rev4/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/keebio/sinc/rev4/info.json b/keyboards/keebio/sinc/rev4/info.json new file mode 100644 index 00000000000..f985f64e48f --- /dev/null +++ b/keyboards/keebio/sinc/rev4/info.json @@ -0,0 +1,1146 @@ +{ + "keyboard_name": "Sinc Rev. 4", + "usb": { + "pid": "0x4267", + "device_version": "4.0.0" + }, + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "console": true, + "rgb_matrix": true + }, + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "GP5", "pin_b": "GP6"} + ] + } + }, + "matrix_pins": { + "right": { + "cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"], + "rows": ["GP16", "GP19", "GP17", "GP9", "GP8", "GP26"] + } + } + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"], + "rows": ["GP25", "GP19", "GP24", "GP17", "GP16", "GP26"] + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "GP21", "pin_b": "GP20"} + ] + }, + "ws2812": { + "pin": "GP18", + "driver": "vendor" + }, + "rgb_matrix": { + "driver": "WS2812", + "split_count": [58, 59], + "layout": [ + {"flags": 4, "matrix": [5, 2], "x": 30, "y": 0}, + {"flags": 2, "x": 42, "y": 6}, + {"flags": 4, "matrix": [5, 3], "x": 45, "y": 0}, + {"flags": 4, "matrix": [5, 4], "x": 58, "y": 0}, + {"flags": 2, "x": 67, "y": 6}, + {"flags": 4, "matrix": [5, 5], "x": 70, "y": 0}, + {"flags": 4, "matrix": [5, 6], "x": 82, "y": 0}, + {"flags": 4, "matrix": [5, 7], "x": 97, "y": 0}, + {"flags": 2, "x": 103, "y": 6}, + {"flags": 4, "matrix": [5, 8], "x": 109, "y": 0}, + + {"flags": 4, "matrix": [0, 8], "x": 103, "y": 15}, + {"flags": 4, "matrix": [0, 7], "x": 91, "y": 15}, + {"flags": 4, "matrix": [0, 6], "x": 79, "y": 15}, + {"flags": 4, "matrix": [0, 5], "x": 67, "y": 15}, + {"flags": 4, "matrix": [0, 4], "x": 54, "y": 15}, + {"flags": 4, "matrix": [0, 3], "x": 42, "y": 15}, + {"flags": 4, "matrix": [0, 2], "x": 30, "y": 15}, + + {"flags": 4, "matrix": [1, 2], "x": 33, "y": 27}, + {"flags": 4, "matrix": [1, 3], "x": 48, "y": 27}, + {"flags": 4, "matrix": [1, 4], "x": 61, "y": 27}, + {"flags": 4, "matrix": [1, 5], "x": 73, "y": 27}, + {"flags": 4, "matrix": [1, 6], "x": 85, "y": 27}, + {"flags": 4, "matrix": [1, 7], "x": 97, "y": 27}, + + {"flags": 4, "matrix": [2, 7], "x": 100, "y": 40}, + {"flags": 4, "matrix": [2, 6], "x": 88, "y": 40}, + {"flags": 4, "matrix": [2, 5], "x": 76, "y": 40}, + {"flags": 4, "matrix": [2, 4], "x": 64, "y": 40}, + {"flags": 4, "matrix": [2, 3], "x": 51, "y": 40}, + {"flags": 4, "matrix": [2, 2], "x": 35, "y": 40}, + + {"flags": 4, "matrix": [3, 2], "x": 38, "y": 52}, + {"flags": 4, "matrix": [3, 4], "x": 58, "y": 52}, + {"flags": 4, "matrix": [3, 5], "x": 70, "y": 52}, + {"flags": 4, "matrix": [3, 6], "x": 82, "y": 52}, + {"flags": 4, "matrix": [3, 7], "x": 94, "y": 52}, + {"flags": 2, "x": 100, "y": 55}, + {"flags": 4, "matrix": [3, 8], "x": 106, "y": 52}, + + {"flags": 4, "x": 107, "y": 64}, + {"flags": 4, "matrix": [4, 7], "x": 97, "y": 64}, + {"flags": 4, "matrix": [4, 6], "x": 85, "y": 64}, + {"flags": 4, "matrix": [4, 5], "x": 75, "y": 64}, + {"flags": 2, "x": 70, "y": 64}, + {"flags": 4, "matrix": [4, 4], "x": 62, "y": 64}, + {"flags": 4, "matrix": [4, 3], "x": 47, "y": 64}, + {"flags": 2, "x": 39, "y": 64}, + {"flags": 4, "matrix": [4, 2], "x": 32, "y": 64}, + + {"flags": 4, "matrix": [4, 1], "x": 12, "y": 64}, + {"flags": 2, "x": 6, "y": 64}, + {"flags": 4, "matrix": [4, 0], "x": 0, "y": 64}, + + {"flags": 4, "matrix": [3, 0], "x": 0, "y": 52}, + {"flags": 4, "matrix": [3, 1], "x": 12, "y": 52}, + {"flags": 4, "matrix": [2, 1], "x": 12, "y": 40}, + {"flags": 4, "matrix": [2, 0], "x": 0, "y": 40}, + {"flags": 4, "matrix": [1, 0], "x": 0, "y": 27}, + {"flags": 4, "matrix": [1, 1], "x": 12, "y": 27}, + {"flags": 4, "matrix": [0, 1], "x": 12, "y": 15}, + {"flags": 4, "matrix": [0, 0], "x": 0, "y": 15}, + {"flags": 4, "matrix": [5, 0], "x": 0, "y": 0}, + {"flags": 2, "x": 9, "y": 0}, + + {"flags": 2, "x": 224, "y": 6}, + {"flags": 4, "matrix": [11, 8], "x": 224, "y": 0}, + {"flags": 4, "matrix": [11, 7], "x": 212, "y": 0}, + {"flags": 4, "matrix": [11, 6], "x": 197, "y": 0}, + {"flags": 2, "x": 191, "y": 6}, + {"flags": 4, "matrix": [11, 5], "x": 185, "y": 0}, + {"flags": 4, "matrix": [11, 4], "x": 173, "y": 0}, + {"flags": 2, "x": 166, "y": 6}, + {"flags": 4, "matrix": [11, 3], "x": 160, "y": 0}, + {"flags": 4, "matrix": [11, 2], "x": 145, "y": 0}, + {"flags": 2, "x": 139, "y": 6}, + {"flags": 4, "matrix": [11, 1], "x": 133, "y": 0}, + + {"flags": 4, "matrix": [6, 0], "x": 127, "y": 15}, + {"flags": 4, "matrix": [6, 1], "x": 139, "y": 15}, + {"flags": 4, "matrix": [6, 2], "x": 151, "y": 15}, + {"flags": 4, "matrix": [6, 3], "x": 163, "y": 15}, + {"flags": 4, "matrix": [6, 4], "x": 176, "y": 15}, + {"flags": 4, "matrix": [6, 5], "x": 188, "y": 15}, + {"flags": 4, "matrix": [6, 6], "x": 200, "y": 15}, + {"flags": 4, "matrix": [6, 7], "x": 212, "y": 15}, + {"flags": 4, "matrix": [6, 8], "x": 224, "y": 15}, + + {"flags": 4, "matrix": [7, 8], "x": 224, "y": 27}, + {"flags": 4, "matrix": [7, 7], "x": 209, "y": 27}, + {"flags": 4, "matrix": [7, 6], "x": 194, "y": 27}, + {"flags": 4, "matrix": [7, 5], "x": 182, "y": 27}, + {"flags": 4, "matrix": [7, 4], "x": 170, "y": 27}, + {"flags": 4, "matrix": [7, 3], "x": 157, "y": 27}, + {"flags": 4, "matrix": [7, 2], "x": 145, "y": 27}, + {"flags": 4, "matrix": [7, 1], "x": 133, "y": 27}, + {"flags": 4, "matrix": [7, 0], "x": 121, "y": 27}, + + {"flags": 4, "matrix": [8, 0], "x": 124, "y": 40}, + {"flags": 4, "matrix": [8, 1], "x": 136, "y": 40}, + {"flags": 4, "matrix": [8, 2], "x": 148, "y": 40}, + {"flags": 4, "matrix": [8, 3], "x": 160, "y": 40}, + {"flags": 4, "matrix": [8, 4], "x": 173, "y": 40}, + {"flags": 4, "matrix": [8, 5], "x": 185, "y": 40}, + {"flags": 4, "matrix": [8, 7], "x": 204, "y": 40}, + {"flags": 4, "matrix": [8, 8], "x": 224, "y": 40}, + + {"flags": 4, "matrix": [9, 8], "x": 224, "y": 52}, + {"flags": 4, "matrix": [9, 7], "x": 212, "y": 52}, + {"flags": 4, "matrix": [9, 6], "x": 195, "y": 52}, + {"flags": 4, "matrix": [9, 4], "x": 179, "y": 52}, + {"flags": 4, "matrix": [9, 3], "x": 166, "y": 52}, + {"flags": 4, "matrix": [9, 2], "x": 154, "y": 52}, + {"flags": 4, "matrix": [9, 1], "x": 142, "y": 52}, + {"flags": 4, "matrix": [9, 0], "x": 130, "y": 52}, + + {"flags": 2, "x": 136, "y": 55}, + {"flags": 4, "matrix": [10, 0], "x": 132, "y": 64}, + {"flags": 4, "matrix": [10, 1], "x": 139, "y": 64}, + {"flags": 4, "x": 148, "y": 64}, + {"flags": 2, "x": 154, "y": 64}, + {"flags": 4, "matrix": [10, 2], "x": 163, "y": 64}, + {"flags": 4, "matrix": [10, 3], "x": 176, "y": 64}, + {"flags": 4, "matrix": [10, 4], "x": 188, "y": 64}, + {"flags": 2, "x": 194, "y": 64}, + {"flags": 4, "matrix": [10, 6], "x": 200, "y": 64}, + {"flags": 4, "matrix": [10, 7], "x": 212, "y": 64}, + {"flags": 4, "matrix": [10, 8], "x": 224, "y": 64}, + {"flags": 2, "x": 224, "y": 55} + ] + }, + "layouts": { + "LAYOUT_75": { + "layout": [ + {"matrix": [5, 2], "x": 0, "y": 0}, + {"matrix": [5, 3], "x": 1.25, "y": 0}, + {"matrix": [5, 4], "x": 2.25, "y": 0}, + {"matrix": [5, 5], "x": 3.25, "y": 0}, + {"matrix": [5, 6], "x": 4.25, "y": 0}, + {"matrix": [5, 7], "x": 5.5, "y": 0}, + {"matrix": [5, 8], "x": 6.5, "y": 0}, + + {"matrix": [11, 1], "x": 8.5, "y": 0}, + {"matrix": [11, 2], "x": 9.5, "y": 0}, + {"matrix": [11, 3], "x": 10.75, "y": 0}, + {"matrix": [11, 4], "x": 11.75, "y": 0}, + {"matrix": [11, 5], "x": 12.75, "y": 0}, + {"matrix": [11, 6], "x": 13.75, "y": 0}, + {"matrix": [11, 7], "x": 15, "y": 0}, + + {"matrix": [0, 2], "x": 0, "y": 1.25}, + {"matrix": [0, 3], "x": 1, "y": 1.25}, + {"matrix": [0, 4], "x": 2, "y": 1.25}, + {"matrix": [0, 5], "x": 3, "y": 1.25}, + {"matrix": [0, 6], "x": 4, "y": 1.25}, + {"matrix": [0, 7], "x": 5, "y": 1.25}, + {"matrix": [0, 8], "x": 6, "y": 1.25}, + + {"matrix": [6, 0], "x": 8, "y": 1.25}, + {"matrix": [6, 1], "x": 9, "y": 1.25}, + {"matrix": [6, 2], "x": 10, "y": 1.25}, + {"matrix": [6, 3], "x": 11, "y": 1.25}, + {"matrix": [6, 4], "x": 12, "y": 1.25}, + {"matrix": [6, 5], "x": 13, "y": 1.25}, + {"matrix": [6, 6], "x": 14, "y": 1.25}, + {"matrix": [6, 7], "x": 15, "y": 1.25}, + + {"matrix": [1, 2], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [1, 3], "x": 1.5, "y": 2.25}, + {"matrix": [1, 4], "x": 2.5, "y": 2.25}, + {"matrix": [1, 5], "x": 3.5, "y": 2.25}, + {"matrix": [1, 6], "x": 4.5, "y": 2.25}, + {"matrix": [1, 7], "x": 5.5, "y": 2.25}, + + {"matrix": [7, 0], "x": 7.5, "y": 2.25}, + {"matrix": [7, 1], "x": 8.5, "y": 2.25}, + {"matrix": [7, 2], "x": 9.5, "y": 2.25}, + {"matrix": [7, 3], "x": 10.5, "y": 2.25}, + {"matrix": [7, 4], "x": 11.5, "y": 2.25}, + {"matrix": [7, 5], "x": 12.5, "y": 2.25}, + {"matrix": [7, 6], "x": 13.5, "y": 2.25}, + {"matrix": [7, 7], "x": 14.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 2], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [2, 3], "x": 1.75, "y": 3.25}, + {"matrix": [2, 4], "x": 2.75, "y": 3.25}, + {"matrix": [2, 5], "x": 3.75, "y": 3.25}, + {"matrix": [2, 6], "x": 4.75, "y": 3.25}, + {"matrix": [2, 7], "x": 5.75, "y": 3.25}, + + {"matrix": [8, 0], "x": 7.75, "y": 3.25}, + {"matrix": [8, 1], "x": 8.75, "y": 3.25}, + {"matrix": [8, 2], "x": 9.75, "y": 3.25}, + {"matrix": [8, 3], "x": 10.75, "y": 3.25}, + {"matrix": [8, 4], "x": 11.75, "y": 3.25}, + {"matrix": [8, 5], "x": 12.75, "y": 3.25}, + {"matrix": [8, 7], "x": 13.75, "y": 3.25, "w": 2.25}, + + {"matrix": [3, 2], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [3, 4], "x": 2.25, "y": 4.25}, + {"matrix": [3, 5], "x": 3.25, "y": 4.25}, + {"matrix": [3, 6], "x": 4.25, "y": 4.25}, + {"matrix": [3, 7], "x": 5.25, "y": 4.25}, + {"matrix": [3, 8], "x": 6.25, "y": 4.25}, + + {"matrix": [9, 0], "x": 8.25, "y": 4.25}, + {"matrix": [9, 1], "x": 9.25, "y": 4.25}, + {"matrix": [9, 2], "x": 10.25, "y": 4.25}, + {"matrix": [9, 3], "x": 11.25, "y": 4.25}, + {"matrix": [9, 4], "x": 12.25, "y": 4.25}, + {"matrix": [9, 6], "x": 13.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 7], "x": 15, "y": 4.25}, + + {"matrix": [4, 2], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [4, 3], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [4, 4], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 5.25, "w": 1.25}, + {"matrix": [4, 6], "x": 5, "y": 5.25}, + {"matrix": [4, 7], "x": 6, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 0], "x": 8.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 9.5, "y": 5.25, "w": 1.5}, + {"matrix": [10, 2], "x": 11, "y": 5.25}, + {"matrix": [10, 3], "x": 12, "y": 5.25}, + {"matrix": [10, 4], "x": 13, "y": 5.25}, + {"matrix": [10, 6], "x": 14, "y": 5.25}, + {"matrix": [10, 7], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_75_iso": { + "layout": [ + {"matrix": [5, 2], "x": 0, "y": 0}, + {"matrix": [5, 3], "x": 1.25, "y": 0}, + {"matrix": [5, 4], "x": 2.25, "y": 0}, + {"matrix": [5, 5], "x": 3.25, "y": 0}, + {"matrix": [5, 6], "x": 4.25, "y": 0}, + {"matrix": [5, 7], "x": 5.5, "y": 0}, + {"matrix": [5, 8], "x": 6.5, "y": 0}, + + {"matrix": [11, 1], "x": 8.5, "y": 0}, + {"matrix": [11, 2], "x": 9.5, "y": 0}, + {"matrix": [11, 3], "x": 10.75, "y": 0}, + {"matrix": [11, 4], "x": 11.75, "y": 0}, + {"matrix": [11, 5], "x": 12.75, "y": 0}, + {"matrix": [11, 6], "x": 13.75, "y": 0}, + {"matrix": [11, 7], "x": 15, "y": 0}, + + {"matrix": [0, 2], "x": 0, "y": 1.25}, + {"matrix": [0, 3], "x": 1, "y": 1.25}, + {"matrix": [0, 4], "x": 2, "y": 1.25}, + {"matrix": [0, 5], "x": 3, "y": 1.25}, + {"matrix": [0, 6], "x": 4, "y": 1.25}, + {"matrix": [0, 7], "x": 5, "y": 1.25}, + {"matrix": [0, 8], "x": 6, "y": 1.25}, + + {"matrix": [6, 0], "x": 8, "y": 1.25}, + {"matrix": [6, 1], "x": 9, "y": 1.25}, + {"matrix": [6, 2], "x": 10, "y": 1.25}, + {"matrix": [6, 3], "x": 11, "y": 1.25}, + {"matrix": [6, 4], "x": 12, "y": 1.25}, + {"matrix": [6, 5], "x": 13, "y": 1.25}, + {"matrix": [6, 6], "x": 14, "y": 1.25}, + {"matrix": [6, 7], "x": 15, "y": 1.25}, + + {"matrix": [1, 2], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [1, 3], "x": 1.5, "y": 2.25}, + {"matrix": [1, 4], "x": 2.5, "y": 2.25}, + {"matrix": [1, 5], "x": 3.5, "y": 2.25}, + {"matrix": [1, 6], "x": 4.5, "y": 2.25}, + {"matrix": [1, 7], "x": 5.5, "y": 2.25}, + + {"matrix": [7, 0], "x": 7.5, "y": 2.25}, + {"matrix": [7, 1], "x": 8.5, "y": 2.25}, + {"matrix": [7, 2], "x": 9.5, "y": 2.25}, + {"matrix": [7, 3], "x": 10.5, "y": 2.25}, + {"matrix": [7, 4], "x": 11.5, "y": 2.25}, + {"matrix": [7, 5], "x": 12.5, "y": 2.25}, + {"matrix": [7, 6], "x": 13.5, "y": 2.25}, + + {"matrix": [2, 2], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [2, 3], "x": 1.75, "y": 3.25}, + {"matrix": [2, 4], "x": 2.75, "y": 3.25}, + {"matrix": [2, 5], "x": 3.75, "y": 3.25}, + {"matrix": [2, 6], "x": 4.75, "y": 3.25}, + {"matrix": [2, 7], "x": 5.75, "y": 3.25}, + + {"matrix": [8, 0], "x": 7.75, "y": 3.25}, + {"matrix": [8, 1], "x": 8.75, "y": 3.25}, + {"matrix": [8, 2], "x": 9.75, "y": 3.25}, + {"matrix": [8, 3], "x": 10.75, "y": 3.25}, + {"matrix": [8, 4], "x": 11.75, "y": 3.25}, + {"matrix": [8, 5], "x": 12.75, "y": 3.25}, + {"matrix": [8, 6], "x": 13.75, "y": 3.25}, + {"matrix": [7, 7], "x": 14.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [3, 2], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [3, 3], "x": 1.25, "y": 4.25}, + {"matrix": [3, 4], "x": 2.25, "y": 4.25}, + {"matrix": [3, 5], "x": 3.25, "y": 4.25}, + {"matrix": [3, 6], "x": 4.25, "y": 4.25}, + {"matrix": [3, 7], "x": 5.25, "y": 4.25}, + {"matrix": [3, 8], "x": 6.25, "y": 4.25}, + + {"matrix": [9, 0], "x": 8.25, "y": 4.25}, + {"matrix": [9, 1], "x": 9.25, "y": 4.25}, + {"matrix": [9, 2], "x": 10.25, "y": 4.25}, + {"matrix": [9, 3], "x": 11.25, "y": 4.25}, + {"matrix": [9, 4], "x": 12.25, "y": 4.25}, + {"matrix": [9, 6], "x": 13.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 7], "x": 15, "y": 4.25}, + + {"matrix": [4, 2], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [4, 3], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [4, 4], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 5.25, "w": 1.25}, + {"matrix": [4, 6], "x": 5, "y": 5.25}, + {"matrix": [4, 7], "x": 6, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 0], "x": 8.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 9.5, "y": 5.25, "w": 1.5}, + {"matrix": [10, 2], "x": 11, "y": 5.25}, + {"matrix": [10, 3], "x": 12, "y": 5.25}, + {"matrix": [10, 4], "x": 13, "y": 5.25}, + {"matrix": [10, 6], "x": 14, "y": 5.25}, + {"matrix": [10, 7], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_75_iso_with_macro": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 2.25, "y": 0}, + {"matrix": [5, 3], "x": 3.5, "y": 0}, + {"matrix": [5, 4], "x": 4.5, "y": 0}, + {"matrix": [5, 5], "x": 5.5, "y": 0}, + {"matrix": [5, 6], "x": 6.5, "y": 0}, + {"matrix": [5, 7], "x": 7.75, "y": 0}, + {"matrix": [5, 8], "x": 8.75, "y": 0}, + + {"matrix": [11, 1], "x": 10.75, "y": 0}, + {"matrix": [11, 2], "x": 11.75, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 4], "x": 14, "y": 0}, + {"matrix": [11, 5], "x": 15, "y": 0}, + {"matrix": [11, 6], "x": 16, "y": 0}, + {"matrix": [11, 7], "x": 17.25, "y": 0}, + + {"matrix": [0, 0], "x": 0, "y": 1.25}, + {"matrix": [0, 1], "x": 1, "y": 1.25}, + {"matrix": [0, 2], "x": 2.25, "y": 1.25}, + {"matrix": [0, 3], "x": 3.25, "y": 1.25}, + {"matrix": [0, 4], "x": 4.25, "y": 1.25}, + {"matrix": [0, 5], "x": 5.25, "y": 1.25}, + {"matrix": [0, 6], "x": 6.25, "y": 1.25}, + {"matrix": [0, 7], "x": 7.25, "y": 1.25}, + {"matrix": [0, 8], "x": 8.25, "y": 1.25}, + + {"matrix": [6, 0], "x": 10.25, "y": 1.25}, + {"matrix": [6, 1], "x": 11.25, "y": 1.25}, + {"matrix": [6, 2], "x": 12.25, "y": 1.25}, + {"matrix": [6, 3], "x": 13.25, "y": 1.25}, + {"matrix": [6, 4], "x": 14.25, "y": 1.25}, + {"matrix": [6, 5], "x": 15.25, "y": 1.25}, + {"matrix": [6, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [1, 0], "x": 0, "y": 2.25}, + {"matrix": [1, 1], "x": 1, "y": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 2.25, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 2.25}, + {"matrix": [1, 4], "x": 4.75, "y": 2.25}, + {"matrix": [1, 5], "x": 5.75, "y": 2.25}, + {"matrix": [1, 6], "x": 6.75, "y": 2.25}, + {"matrix": [1, 7], "x": 7.75, "y": 2.25}, + + {"matrix": [7, 0], "x": 9.75, "y": 2.25}, + {"matrix": [7, 1], "x": 10.75, "y": 2.25}, + {"matrix": [7, 2], "x": 11.75, "y": 2.25}, + {"matrix": [7, 3], "x": 12.75, "y": 2.25}, + {"matrix": [7, 4], "x": 13.75, "y": 2.25}, + {"matrix": [7, 5], "x": 14.75, "y": 2.25}, + {"matrix": [7, 6], "x": 15.75, "y": 2.25}, + + {"matrix": [2, 0], "x": 0, "y": 3.25}, + {"matrix": [2, 1], "x": 1, "y": 3.25}, + {"matrix": [2, 2], "x": 2.25, "y": 3.25, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 3.25}, + {"matrix": [2, 4], "x": 5, "y": 3.25}, + {"matrix": [2, 5], "x": 6, "y": 3.25}, + {"matrix": [2, 6], "x": 7, "y": 3.25}, + {"matrix": [2, 7], "x": 8, "y": 3.25}, + + {"matrix": [8, 0], "x": 10, "y": 3.25}, + {"matrix": [8, 1], "x": 11, "y": 3.25}, + {"matrix": [8, 2], "x": 12, "y": 3.25}, + {"matrix": [8, 3], "x": 13, "y": 3.25}, + {"matrix": [8, 4], "x": 14, "y": 3.25}, + {"matrix": [8, 5], "x": 15, "y": 3.25}, + {"matrix": [8, 6], "x": 16, "y": 3.25}, + {"matrix": [7, 7], "x": 17, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 4.25}, + {"matrix": [3, 1], "x": 1, "y": 4.25}, + {"matrix": [3, 2], "x": 2.25, "y": 4.25, "w": 1.25}, + {"matrix": [3, 3], "x": 3.5, "y": 4.25}, + {"matrix": [3, 4], "x": 4.5, "y": 4.25}, + {"matrix": [3, 5], "x": 5.5, "y": 4.25}, + {"matrix": [3, 6], "x": 6.5, "y": 4.25}, + {"matrix": [3, 7], "x": 7.5, "y": 4.25}, + {"matrix": [3, 8], "x": 8.5, "y": 4.25}, + + {"matrix": [9, 0], "x": 10.5, "y": 4.25}, + {"matrix": [9, 1], "x": 11.5, "y": 4.25}, + {"matrix": [9, 2], "x": 12.5, "y": 4.25}, + {"matrix": [9, 3], "x": 13.5, "y": 4.25}, + {"matrix": [9, 4], "x": 14.5, "y": 4.25}, + {"matrix": [9, 6], "x": 15.5, "y": 4.25, "w": 1.75}, + {"matrix": [9, 7], "x": 17.25, "y": 4.25}, + + {"matrix": [4, 0], "x": 0, "y": 5.25}, + {"matrix": [4, 1], "x": 1, "y": 5.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5.25, "w": 1.25}, + {"matrix": [4, 3], "x": 3.5, "y": 5.25, "w": 1.25}, + {"matrix": [4, 4], "x": 4.75, "y": 5.25, "w": 1.25}, + {"matrix": [4, 5], "x": 6, "y": 5.25, "w": 1.25}, + {"matrix": [4, 6], "x": 7.25, "y": 5.25}, + {"matrix": [4, 7], "x": 8.25, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 0], "x": 10.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 11.75, "y": 5.25, "w": 1.5}, + {"matrix": [10, 2], "x": 13.25, "y": 5.25}, + {"matrix": [10, 3], "x": 14.25, "y": 5.25}, + {"matrix": [10, 4], "x": 15.25, "y": 5.25}, + {"matrix": [10, 6], "x": 16.25, "y": 5.25}, + {"matrix": [10, 7], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_75_with_macro": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 2.25, "y": 0}, + {"matrix": [5, 3], "x": 3.5, "y": 0}, + {"matrix": [5, 4], "x": 4.5, "y": 0}, + {"matrix": [5, 5], "x": 5.5, "y": 0}, + {"matrix": [5, 6], "x": 6.5, "y": 0}, + {"matrix": [5, 7], "x": 7.75, "y": 0}, + {"matrix": [5, 8], "x": 8.75, "y": 0}, + + {"matrix": [11, 1], "x": 10.75, "y": 0}, + {"matrix": [11, 2], "x": 11.75, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 4], "x": 14, "y": 0}, + {"matrix": [11, 5], "x": 15, "y": 0}, + {"matrix": [11, 6], "x": 16, "y": 0}, + {"matrix": [11, 7], "x": 17.25, "y": 0}, + + {"matrix": [0, 0], "x": 0, "y": 1.25}, + {"matrix": [0, 1], "x": 1, "y": 1.25}, + {"matrix": [0, 2], "x": 2.25, "y": 1.25}, + {"matrix": [0, 3], "x": 3.25, "y": 1.25}, + {"matrix": [0, 4], "x": 4.25, "y": 1.25}, + {"matrix": [0, 5], "x": 5.25, "y": 1.25}, + {"matrix": [0, 6], "x": 6.25, "y": 1.25}, + {"matrix": [0, 7], "x": 7.25, "y": 1.25}, + {"matrix": [0, 8], "x": 8.25, "y": 1.25}, + + {"matrix": [6, 0], "x": 10.25, "y": 1.25}, + {"matrix": [6, 1], "x": 11.25, "y": 1.25}, + {"matrix": [6, 2], "x": 12.25, "y": 1.25}, + {"matrix": [6, 3], "x": 13.25, "y": 1.25}, + {"matrix": [6, 4], "x": 14.25, "y": 1.25}, + {"matrix": [6, 5], "x": 15.25, "y": 1.25}, + {"matrix": [6, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [1, 0], "x": 0, "y": 2.25}, + {"matrix": [1, 1], "x": 1, "y": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 2.25, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 2.25}, + {"matrix": [1, 4], "x": 4.75, "y": 2.25}, + {"matrix": [1, 5], "x": 5.75, "y": 2.25}, + {"matrix": [1, 6], "x": 6.75, "y": 2.25}, + {"matrix": [1, 7], "x": 7.75, "y": 2.25}, + + {"matrix": [7, 0], "x": 9.75, "y": 2.25}, + {"matrix": [7, 1], "x": 10.75, "y": 2.25}, + {"matrix": [7, 2], "x": 11.75, "y": 2.25}, + {"matrix": [7, 3], "x": 12.75, "y": 2.25}, + {"matrix": [7, 4], "x": 13.75, "y": 2.25}, + {"matrix": [7, 5], "x": 14.75, "y": 2.25}, + {"matrix": [7, 6], "x": 15.75, "y": 2.25}, + {"matrix": [7, 7], "x": 16.75, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 3.25}, + {"matrix": [2, 1], "x": 1, "y": 3.25}, + {"matrix": [2, 2], "x": 2.25, "y": 3.25, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 3.25}, + {"matrix": [2, 4], "x": 5, "y": 3.25}, + {"matrix": [2, 5], "x": 6, "y": 3.25}, + {"matrix": [2, 6], "x": 7, "y": 3.25}, + {"matrix": [2, 7], "x": 8, "y": 3.25}, + + {"matrix": [8, 0], "x": 10, "y": 3.25}, + {"matrix": [8, 1], "x": 11, "y": 3.25}, + {"matrix": [8, 2], "x": 12, "y": 3.25}, + {"matrix": [8, 3], "x": 13, "y": 3.25}, + {"matrix": [8, 4], "x": 14, "y": 3.25}, + {"matrix": [8, 5], "x": 15, "y": 3.25}, + {"matrix": [8, 7], "x": 16, "y": 3.25, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 4.25}, + {"matrix": [3, 1], "x": 1, "y": 4.25}, + {"matrix": [3, 2], "x": 2.25, "y": 4.25, "w": 2.25}, + {"matrix": [3, 4], "x": 4.5, "y": 4.25}, + {"matrix": [3, 5], "x": 5.5, "y": 4.25}, + {"matrix": [3, 6], "x": 6.5, "y": 4.25}, + {"matrix": [3, 7], "x": 7.5, "y": 4.25}, + {"matrix": [3, 8], "x": 8.5, "y": 4.25}, + + {"matrix": [9, 0], "x": 10.5, "y": 4.25}, + {"matrix": [9, 1], "x": 11.5, "y": 4.25}, + {"matrix": [9, 2], "x": 12.5, "y": 4.25}, + {"matrix": [9, 3], "x": 13.5, "y": 4.25}, + {"matrix": [9, 4], "x": 14.5, "y": 4.25}, + {"matrix": [9, 6], "x": 15.5, "y": 4.25, "w": 1.75}, + {"matrix": [9, 7], "x": 17.25, "y": 4.25}, + + {"matrix": [4, 0], "x": 0, "y": 5.25}, + {"matrix": [4, 1], "x": 1, "y": 5.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5.25, "w": 1.25}, + {"matrix": [4, 3], "x": 3.5, "y": 5.25, "w": 1.25}, + {"matrix": [4, 4], "x": 4.75, "y": 5.25, "w": 1.25}, + {"matrix": [4, 5], "x": 6, "y": 5.25, "w": 1.25}, + {"matrix": [4, 6], "x": 7.25, "y": 5.25}, + {"matrix": [4, 7], "x": 8.25, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 0], "x": 10.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 11.75, "y": 5.25, "w": 1.5}, + {"matrix": [10, 2], "x": 13.25, "y": 5.25}, + {"matrix": [10, 3], "x": 14.25, "y": 5.25}, + {"matrix": [10, 4], "x": 15.25, "y": 5.25}, + {"matrix": [10, 6], "x": 16.25, "y": 5.25}, + {"matrix": [10, 7], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_80": { + "layout": [ + {"matrix": [5, 2], "x": 0, "y": 0}, + {"matrix": [5, 3], "x": 1.25, "y": 0}, + {"matrix": [5, 4], "x": 2.25, "y": 0}, + {"matrix": [5, 5], "x": 3.25, "y": 0}, + {"matrix": [5, 6], "x": 4.25, "y": 0}, + {"matrix": [5, 7], "x": 5.5, "y": 0}, + {"matrix": [5, 8], "x": 6.5, "y": 0}, + + {"matrix": [11, 1], "x": 8.5, "y": 0}, + {"matrix": [11, 2], "x": 9.5, "y": 0}, + {"matrix": [11, 3], "x": 10.75, "y": 0}, + {"matrix": [11, 4], "x": 11.75, "y": 0}, + {"matrix": [11, 5], "x": 12.75, "y": 0}, + {"matrix": [11, 6], "x": 13.75, "y": 0}, + {"matrix": [11, 7], "x": 15, "y": 0}, + {"matrix": [11, 8], "x": 16, "y": 0}, + + {"matrix": [0, 2], "x": 0, "y": 1.25}, + {"matrix": [0, 3], "x": 1, "y": 1.25}, + {"matrix": [0, 4], "x": 2, "y": 1.25}, + {"matrix": [0, 5], "x": 3, "y": 1.25}, + {"matrix": [0, 6], "x": 4, "y": 1.25}, + {"matrix": [0, 7], "x": 5, "y": 1.25}, + {"matrix": [0, 8], "x": 6, "y": 1.25}, + + {"matrix": [6, 0], "x": 8, "y": 1.25}, + {"matrix": [6, 1], "x": 9, "y": 1.25}, + {"matrix": [6, 2], "x": 10, "y": 1.25}, + {"matrix": [6, 3], "x": 11, "y": 1.25}, + {"matrix": [6, 4], "x": 12, "y": 1.25}, + {"matrix": [6, 5], "x": 13, "y": 1.25}, + {"matrix": [6, 6], "x": 14, "y": 1.25}, + {"matrix": [6, 7], "x": 15, "y": 1.25}, + {"matrix": [6, 8], "x": 16, "y": 1.25}, + + {"matrix": [1, 2], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [1, 3], "x": 1.5, "y": 2.25}, + {"matrix": [1, 4], "x": 2.5, "y": 2.25}, + {"matrix": [1, 5], "x": 3.5, "y": 2.25}, + {"matrix": [1, 6], "x": 4.5, "y": 2.25}, + {"matrix": [1, 7], "x": 5.5, "y": 2.25}, + + {"matrix": [7, 0], "x": 7.5, "y": 2.25}, + {"matrix": [7, 1], "x": 8.5, "y": 2.25}, + {"matrix": [7, 2], "x": 9.5, "y": 2.25}, + {"matrix": [7, 3], "x": 10.5, "y": 2.25}, + {"matrix": [7, 4], "x": 11.5, "y": 2.25}, + {"matrix": [7, 5], "x": 12.5, "y": 2.25}, + {"matrix": [7, 6], "x": 13.5, "y": 2.25}, + {"matrix": [7, 7], "x": 14.5, "y": 2.25, "w": 1.5}, + {"matrix": [7, 8], "x": 16, "y": 2.25}, + + {"matrix": [2, 2], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [2, 3], "x": 1.75, "y": 3.25}, + {"matrix": [2, 4], "x": 2.75, "y": 3.25}, + {"matrix": [2, 5], "x": 3.75, "y": 3.25}, + {"matrix": [2, 6], "x": 4.75, "y": 3.25}, + {"matrix": [2, 7], "x": 5.75, "y": 3.25}, + + {"matrix": [8, 0], "x": 7.75, "y": 3.25}, + {"matrix": [8, 1], "x": 8.75, "y": 3.25}, + {"matrix": [8, 2], "x": 9.75, "y": 3.25}, + {"matrix": [8, 3], "x": 10.75, "y": 3.25}, + {"matrix": [8, 4], "x": 11.75, "y": 3.25}, + {"matrix": [8, 5], "x": 12.75, "y": 3.25}, + {"matrix": [8, 7], "x": 13.75, "y": 3.25, "w": 2.25}, + {"matrix": [8, 8], "x": 16, "y": 3.25}, + + {"matrix": [3, 2], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [3, 4], "x": 2.25, "y": 4.25}, + {"matrix": [3, 5], "x": 3.25, "y": 4.25}, + {"matrix": [3, 6], "x": 4.25, "y": 4.25}, + {"matrix": [3, 7], "x": 5.25, "y": 4.25}, + {"matrix": [3, 8], "x": 6.25, "y": 4.25}, + + {"matrix": [9, 0], "x": 8.25, "y": 4.25}, + {"matrix": [9, 1], "x": 9.25, "y": 4.25}, + {"matrix": [9, 2], "x": 10.25, "y": 4.25}, + {"matrix": [9, 3], "x": 11.25, "y": 4.25}, + {"matrix": [9, 4], "x": 12.25, "y": 4.25}, + {"matrix": [9, 6], "x": 13.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 7], "x": 15, "y": 4.25}, + {"matrix": [9, 8], "x": 16, "y": 4.25}, + + {"matrix": [4, 2], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [4, 3], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [4, 4], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 5.25, "w": 1.25}, + {"matrix": [4, 6], "x": 5, "y": 5.25}, + {"matrix": [4, 7], "x": 6, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 0], "x": 8.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 9.5, "y": 5.25, "w": 1.5}, + {"matrix": [10, 2], "x": 11, "y": 5.25}, + {"matrix": [10, 3], "x": 12, "y": 5.25}, + {"matrix": [10, 4], "x": 13, "y": 5.25}, + {"matrix": [10, 6], "x": 14, "y": 5.25}, + {"matrix": [10, 7], "x": 15, "y": 5.25}, + {"matrix": [10, 8], "x": 16, "y": 5.25} + ] + }, + "LAYOUT_80_iso": { + "layout": [ + {"matrix": [5, 2], "x": 0, "y": 0}, + {"matrix": [5, 3], "x": 1.25, "y": 0}, + {"matrix": [5, 4], "x": 2.25, "y": 0}, + {"matrix": [5, 5], "x": 3.25, "y": 0}, + {"matrix": [5, 6], "x": 4.25, "y": 0}, + {"matrix": [5, 7], "x": 5.5, "y": 0}, + {"matrix": [5, 8], "x": 6.5, "y": 0}, + + {"matrix": [11, 1], "x": 8.5, "y": 0}, + {"matrix": [11, 2], "x": 9.5, "y": 0}, + {"matrix": [11, 3], "x": 10.75, "y": 0}, + {"matrix": [11, 4], "x": 11.75, "y": 0}, + {"matrix": [11, 5], "x": 12.75, "y": 0}, + {"matrix": [11, 6], "x": 13.75, "y": 0}, + {"matrix": [11, 7], "x": 15, "y": 0}, + {"matrix": [11, 8], "x": 16, "y": 0}, + + {"matrix": [0, 2], "x": 0, "y": 1.25}, + {"matrix": [0, 3], "x": 1, "y": 1.25}, + {"matrix": [0, 4], "x": 2, "y": 1.25}, + {"matrix": [0, 5], "x": 3, "y": 1.25}, + {"matrix": [0, 6], "x": 4, "y": 1.25}, + {"matrix": [0, 7], "x": 5, "y": 1.25}, + {"matrix": [0, 8], "x": 6, "y": 1.25}, + + {"matrix": [6, 0], "x": 8, "y": 1.25}, + {"matrix": [6, 1], "x": 9, "y": 1.25}, + {"matrix": [6, 2], "x": 10, "y": 1.25}, + {"matrix": [6, 3], "x": 11, "y": 1.25}, + {"matrix": [6, 4], "x": 12, "y": 1.25}, + {"matrix": [6, 5], "x": 13, "y": 1.25}, + {"matrix": [6, 6], "x": 14, "y": 1.25}, + {"matrix": [6, 7], "x": 15, "y": 1.25}, + {"matrix": [6, 8], "x": 16, "y": 1.25}, + + {"matrix": [1, 2], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [1, 3], "x": 1.5, "y": 2.25}, + {"matrix": [1, 4], "x": 2.5, "y": 2.25}, + {"matrix": [1, 5], "x": 3.5, "y": 2.25}, + {"matrix": [1, 6], "x": 4.5, "y": 2.25}, + {"matrix": [1, 7], "x": 5.5, "y": 2.25}, + + {"matrix": [7, 0], "x": 7.5, "y": 2.25}, + {"matrix": [7, 1], "x": 8.5, "y": 2.25}, + {"matrix": [7, 2], "x": 9.5, "y": 2.25}, + {"matrix": [7, 3], "x": 10.5, "y": 2.25}, + {"matrix": [7, 4], "x": 11.5, "y": 2.25}, + {"matrix": [7, 5], "x": 12.5, "y": 2.25}, + {"matrix": [7, 6], "x": 13.5, "y": 2.25}, + {"matrix": [7, 8], "x": 16, "y": 2.25}, + + {"matrix": [2, 2], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [2, 3], "x": 1.75, "y": 3.25}, + {"matrix": [2, 4], "x": 2.75, "y": 3.25}, + {"matrix": [2, 5], "x": 3.75, "y": 3.25}, + {"matrix": [2, 6], "x": 4.75, "y": 3.25}, + {"matrix": [2, 7], "x": 5.75, "y": 3.25}, + + {"matrix": [8, 0], "x": 7.75, "y": 3.25}, + {"matrix": [8, 1], "x": 8.75, "y": 3.25}, + {"matrix": [8, 2], "x": 9.75, "y": 3.25}, + {"matrix": [8, 3], "x": 10.75, "y": 3.25}, + {"matrix": [8, 4], "x": 11.75, "y": 3.25}, + {"matrix": [8, 5], "x": 12.75, "y": 3.25}, + {"matrix": [8, 6], "x": 13.75, "y": 3.25}, + {"matrix": [7, 7], "x": 14.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [8, 8], "x": 16, "y": 3.25}, + + {"matrix": [3, 2], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [3, 3], "x": 1.25, "y": 4.25}, + {"matrix": [3, 4], "x": 2.25, "y": 4.25}, + {"matrix": [3, 5], "x": 3.25, "y": 4.25}, + {"matrix": [3, 6], "x": 4.25, "y": 4.25}, + {"matrix": [3, 7], "x": 5.25, "y": 4.25}, + {"matrix": [3, 8], "x": 6.25, "y": 4.25}, + + {"matrix": [9, 0], "x": 8.25, "y": 4.25}, + {"matrix": [9, 1], "x": 9.25, "y": 4.25}, + {"matrix": [9, 2], "x": 10.25, "y": 4.25}, + {"matrix": [9, 3], "x": 11.25, "y": 4.25}, + {"matrix": [9, 4], "x": 12.25, "y": 4.25}, + {"matrix": [9, 6], "x": 13.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 7], "x": 15, "y": 4.25}, + {"matrix": [9, 8], "x": 16, "y": 4.25}, + + {"matrix": [4, 2], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [4, 3], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [4, 4], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 5.25, "w": 1.25}, + {"matrix": [4, 6], "x": 5, "y": 5.25}, + {"matrix": [4, 7], "x": 6, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 0], "x": 8.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 9.5, "y": 5.25, "w": 1.5}, + {"matrix": [10, 2], "x": 11, "y": 5.25}, + {"matrix": [10, 3], "x": 12, "y": 5.25}, + {"matrix": [10, 4], "x": 13, "y": 5.25}, + {"matrix": [10, 6], "x": 14, "y": 5.25}, + {"matrix": [10, 7], "x": 15, "y": 5.25}, + {"matrix": [10, 8], "x": 16, "y": 5.25} + ] + }, + "LAYOUT_80_iso_with_macro": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 2.25, "y": 0}, + {"matrix": [5, 3], "x": 3.5, "y": 0}, + {"matrix": [5, 4], "x": 4.5, "y": 0}, + {"matrix": [5, 5], "x": 5.5, "y": 0}, + {"matrix": [5, 6], "x": 6.5, "y": 0}, + {"matrix": [5, 7], "x": 7.75, "y": 0}, + {"matrix": [5, 8], "x": 8.75, "y": 0}, + + {"matrix": [11, 1], "x": 10.75, "y": 0}, + {"matrix": [11, 2], "x": 11.75, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 4], "x": 14, "y": 0}, + {"matrix": [11, 5], "x": 15, "y": 0}, + {"matrix": [11, 6], "x": 16, "y": 0}, + {"matrix": [11, 7], "x": 17.25, "y": 0}, + {"matrix": [11, 8], "x": 18.25, "y": 0}, + + {"matrix": [0, 0], "x": 0, "y": 1.25}, + {"matrix": [0, 1], "x": 1, "y": 1.25}, + {"matrix": [0, 2], "x": 2.25, "y": 1.25}, + {"matrix": [0, 3], "x": 3.25, "y": 1.25}, + {"matrix": [0, 4], "x": 4.25, "y": 1.25}, + {"matrix": [0, 5], "x": 5.25, "y": 1.25}, + {"matrix": [0, 6], "x": 6.25, "y": 1.25}, + {"matrix": [0, 7], "x": 7.25, "y": 1.25}, + {"matrix": [0, 8], "x": 8.25, "y": 1.25}, + + {"matrix": [6, 0], "x": 10.25, "y": 1.25}, + {"matrix": [6, 1], "x": 11.25, "y": 1.25}, + {"matrix": [6, 2], "x": 12.25, "y": 1.25}, + {"matrix": [6, 3], "x": 13.25, "y": 1.25}, + {"matrix": [6, 4], "x": 14.25, "y": 1.25}, + {"matrix": [6, 5], "x": 15.25, "y": 1.25}, + {"matrix": [6, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + {"matrix": [6, 8], "x": 18.25, "y": 1.25}, + + {"matrix": [1, 0], "x": 0, "y": 2.25}, + {"matrix": [1, 1], "x": 1, "y": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 2.25, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 2.25}, + {"matrix": [1, 4], "x": 4.75, "y": 2.25}, + {"matrix": [1, 5], "x": 5.75, "y": 2.25}, + {"matrix": [1, 6], "x": 6.75, "y": 2.25}, + {"matrix": [1, 7], "x": 7.75, "y": 2.25}, + + {"matrix": [7, 0], "x": 9.75, "y": 2.25}, + {"matrix": [7, 1], "x": 10.75, "y": 2.25}, + {"matrix": [7, 2], "x": 11.75, "y": 2.25}, + {"matrix": [7, 3], "x": 12.75, "y": 2.25}, + {"matrix": [7, 4], "x": 13.75, "y": 2.25}, + {"matrix": [7, 5], "x": 14.75, "y": 2.25}, + {"matrix": [7, 6], "x": 15.75, "y": 2.25}, + {"matrix": [7, 8], "x": 18.25, "y": 2.25}, + + {"matrix": [2, 0], "x": 0, "y": 3.25}, + {"matrix": [2, 1], "x": 1, "y": 3.25}, + {"matrix": [2, 2], "x": 2.25, "y": 3.25, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 3.25}, + {"matrix": [2, 4], "x": 5, "y": 3.25}, + {"matrix": [2, 5], "x": 6, "y": 3.25}, + {"matrix": [2, 6], "x": 7, "y": 3.25}, + {"matrix": [2, 7], "x": 8, "y": 3.25}, + + {"matrix": [8, 0], "x": 10, "y": 3.25}, + {"matrix": [8, 1], "x": 11, "y": 3.25}, + {"matrix": [8, 2], "x": 12, "y": 3.25}, + {"matrix": [8, 3], "x": 13, "y": 3.25}, + {"matrix": [8, 4], "x": 14, "y": 3.25}, + {"matrix": [8, 5], "x": 15, "y": 3.25}, + {"matrix": [8, 6], "x": 16, "y": 3.25}, + {"matrix": [7, 7], "x": 17, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [8, 8], "x": 18.25, "y": 3.25}, + + {"matrix": [3, 0], "x": 0, "y": 4.25}, + {"matrix": [3, 1], "x": 1, "y": 4.25}, + {"matrix": [3, 2], "x": 2.25, "y": 4.25, "w": 1.25}, + {"matrix": [3, 3], "x": 3.5, "y": 4.25}, + {"matrix": [3, 4], "x": 4.5, "y": 4.25}, + {"matrix": [3, 5], "x": 5.5, "y": 4.25}, + {"matrix": [3, 6], "x": 6.5, "y": 4.25}, + {"matrix": [3, 7], "x": 7.5, "y": 4.25}, + {"matrix": [3, 8], "x": 8.5, "y": 4.25}, + + {"matrix": [9, 0], "x": 10.5, "y": 4.25}, + {"matrix": [9, 1], "x": 11.5, "y": 4.25}, + {"matrix": [9, 2], "x": 12.5, "y": 4.25}, + {"matrix": [9, 3], "x": 13.5, "y": 4.25}, + {"matrix": [9, 4], "x": 14.5, "y": 4.25}, + {"matrix": [9, 6], "x": 15.5, "y": 4.25, "w": 1.75}, + {"matrix": [9, 7], "x": 17.25, "y": 4.25}, + {"matrix": [9, 8], "x": 18.25, "y": 4.25}, + + {"matrix": [4, 0], "x": 0, "y": 5.25}, + {"matrix": [4, 1], "x": 1, "y": 5.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5.25, "w": 1.25}, + {"matrix": [4, 3], "x": 3.5, "y": 5.25, "w": 1.25}, + {"matrix": [4, 4], "x": 4.75, "y": 5.25, "w": 1.25}, + {"matrix": [4, 5], "x": 6, "y": 5.25, "w": 1.25}, + {"matrix": [4, 6], "x": 7.25, "y": 5.25}, + {"matrix": [4, 7], "x": 8.25, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 0], "x": 10.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 11.75, "y": 5.25, "w": 1.5}, + {"matrix": [10, 2], "x": 13.25, "y": 5.25}, + {"matrix": [10, 3], "x": 14.25, "y": 5.25}, + {"matrix": [10, 4], "x": 15.25, "y": 5.25}, + {"matrix": [10, 6], "x": 16.25, "y": 5.25}, + {"matrix": [10, 7], "x": 17.25, "y": 5.25}, + {"matrix": [10, 8], "x": 18.25, "y": 5.25} + ] + }, + "LAYOUT_80_with_macro": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 2.25, "y": 0}, + {"matrix": [5, 3], "x": 3.5, "y": 0}, + {"matrix": [5, 4], "x": 4.5, "y": 0}, + {"matrix": [5, 5], "x": 5.5, "y": 0}, + {"matrix": [5, 6], "x": 6.5, "y": 0}, + {"matrix": [5, 7], "x": 7.75, "y": 0}, + {"matrix": [5, 8], "x": 8.75, "y": 0}, + + {"matrix": [11, 1], "x": 10.75, "y": 0}, + {"matrix": [11, 2], "x": 11.75, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 4], "x": 14, "y": 0}, + {"matrix": [11, 5], "x": 15, "y": 0}, + {"matrix": [11, 6], "x": 16, "y": 0}, + {"matrix": [11, 7], "x": 17.25, "y": 0}, + {"matrix": [11, 8], "x": 18.25, "y": 0}, + + {"matrix": [0, 0], "x": 0, "y": 1.25}, + {"matrix": [0, 1], "x": 1, "y": 1.25}, + {"matrix": [0, 2], "x": 2.25, "y": 1.25}, + {"matrix": [0, 3], "x": 3.25, "y": 1.25}, + {"matrix": [0, 4], "x": 4.25, "y": 1.25}, + {"matrix": [0, 5], "x": 5.25, "y": 1.25}, + {"matrix": [0, 6], "x": 6.25, "y": 1.25}, + {"matrix": [0, 7], "x": 7.25, "y": 1.25}, + {"matrix": [0, 8], "x": 8.25, "y": 1.25}, + + {"matrix": [6, 0], "x": 10.25, "y": 1.25}, + {"matrix": [6, 1], "x": 11.25, "y": 1.25}, + {"matrix": [6, 2], "x": 12.25, "y": 1.25}, + {"matrix": [6, 3], "x": 13.25, "y": 1.25}, + {"matrix": [6, 4], "x": 14.25, "y": 1.25}, + {"matrix": [6, 5], "x": 15.25, "y": 1.25}, + {"matrix": [6, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + {"matrix": [6, 8], "x": 18.25, "y": 1.25}, + + {"matrix": [1, 0], "x": 0, "y": 2.25}, + {"matrix": [1, 1], "x": 1, "y": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 2.25, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 2.25}, + {"matrix": [1, 4], "x": 4.75, "y": 2.25}, + {"matrix": [1, 5], "x": 5.75, "y": 2.25}, + {"matrix": [1, 6], "x": 6.75, "y": 2.25}, + {"matrix": [1, 7], "x": 7.75, "y": 2.25}, + + {"matrix": [7, 0], "x": 9.75, "y": 2.25}, + {"matrix": [7, 1], "x": 10.75, "y": 2.25}, + {"matrix": [7, 2], "x": 11.75, "y": 2.25}, + {"matrix": [7, 3], "x": 12.75, "y": 2.25}, + {"matrix": [7, 4], "x": 13.75, "y": 2.25}, + {"matrix": [7, 5], "x": 14.75, "y": 2.25}, + {"matrix": [7, 6], "x": 15.75, "y": 2.25}, + {"matrix": [7, 7], "x": 16.75, "y": 2.25, "w": 1.5}, + {"matrix": [7, 8], "x": 18.25, "y": 2.25}, + + {"matrix": [2, 0], "x": 0, "y": 3.25}, + {"matrix": [2, 1], "x": 1, "y": 3.25}, + {"matrix": [2, 2], "x": 2.25, "y": 3.25, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 3.25}, + {"matrix": [2, 4], "x": 5, "y": 3.25}, + {"matrix": [2, 5], "x": 6, "y": 3.25}, + {"matrix": [2, 6], "x": 7, "y": 3.25}, + {"matrix": [2, 7], "x": 8, "y": 3.25}, + + {"matrix": [8, 0], "x": 10, "y": 3.25}, + {"matrix": [8, 1], "x": 11, "y": 3.25}, + {"matrix": [8, 2], "x": 12, "y": 3.25}, + {"matrix": [8, 3], "x": 13, "y": 3.25}, + {"matrix": [8, 4], "x": 14, "y": 3.25}, + {"matrix": [8, 5], "x": 15, "y": 3.25}, + {"matrix": [8, 7], "x": 16, "y": 3.25, "w": 2.25}, + {"matrix": [8, 8], "x": 18.25, "y": 3.25}, + + {"matrix": [3, 0], "x": 0, "y": 4.25}, + {"matrix": [3, 1], "x": 1, "y": 4.25}, + {"matrix": [3, 2], "x": 2.25, "y": 4.25, "w": 2.25}, + {"matrix": [3, 4], "x": 4.5, "y": 4.25}, + {"matrix": [3, 5], "x": 5.5, "y": 4.25}, + {"matrix": [3, 6], "x": 6.5, "y": 4.25}, + {"matrix": [3, 7], "x": 7.5, "y": 4.25}, + {"matrix": [3, 8], "x": 8.5, "y": 4.25}, + + {"matrix": [9, 0], "x": 10.5, "y": 4.25}, + {"matrix": [9, 1], "x": 11.5, "y": 4.25}, + {"matrix": [9, 2], "x": 12.5, "y": 4.25}, + {"matrix": [9, 3], "x": 13.5, "y": 4.25}, + {"matrix": [9, 4], "x": 14.5, "y": 4.25}, + {"matrix": [9, 6], "x": 15.5, "y": 4.25, "w": 1.75}, + {"matrix": [9, 7], "x": 17.25, "y": 4.25}, + {"matrix": [9, 8], "x": 18.25, "y": 4.25}, + + {"matrix": [4, 0], "x": 0, "y": 5.25}, + {"matrix": [4, 1], "x": 1, "y": 5.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5.25, "w": 1.25}, + {"matrix": [4, 3], "x": 3.5, "y": 5.25, "w": 1.25}, + {"matrix": [4, 4], "x": 4.75, "y": 5.25, "w": 1.25}, + {"matrix": [4, 5], "x": 6, "y": 5.25, "w": 1.25}, + {"matrix": [4, 6], "x": 7.25, "y": 5.25}, + {"matrix": [4, 7], "x": 8.25, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 0], "x": 10.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 11.75, "y": 5.25, "w": 1.5}, + {"matrix": [10, 2], "x": 13.25, "y": 5.25}, + {"matrix": [10, 3], "x": 14.25, "y": 5.25}, + {"matrix": [10, 4], "x": 15.25, "y": 5.25}, + {"matrix": [10, 6], "x": 16.25, "y": 5.25}, + {"matrix": [10, 7], "x": 17.25, "y": 5.25}, + {"matrix": [10, 8], "x": 18.25, "y": 5.25} + ] + }, + "LAYOUT_all": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 2.25, "y": 0}, + {"matrix": [5, 3], "x": 3.5, "y": 0}, + {"matrix": [5, 4], "x": 4.5, "y": 0}, + {"matrix": [5, 5], "x": 5.5, "y": 0}, + {"matrix": [5, 6], "x": 6.5, "y": 0}, + {"matrix": [5, 7], "x": 7.75, "y": 0}, + {"matrix": [5, 8], "x": 8.75, "y": 0}, + + {"matrix": [11, 1], "x": 10.75, "y": 0}, + {"matrix": [11, 2], "x": 11.75, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 4], "x": 14, "y": 0}, + {"matrix": [11, 5], "x": 15, "y": 0}, + {"matrix": [11, 6], "x": 16, "y": 0}, + {"matrix": [11, 7], "x": 17.25, "y": 0}, + {"matrix": [11, 8], "x": 18.25, "y": 0}, + + {"matrix": [0, 0], "x": 0, "y": 1.25}, + {"matrix": [0, 1], "x": 1, "y": 1.25}, + {"matrix": [0, 2], "x": 2.25, "y": 1.25}, + {"matrix": [0, 3], "x": 3.25, "y": 1.25}, + {"matrix": [0, 4], "x": 4.25, "y": 1.25}, + {"matrix": [0, 5], "x": 5.25, "y": 1.25}, + {"matrix": [0, 6], "x": 6.25, "y": 1.25}, + {"matrix": [0, 7], "x": 7.25, "y": 1.25}, + {"matrix": [0, 8], "x": 8.25, "y": 1.25}, + + {"matrix": [6, 0], "x": 10.25, "y": 1.25}, + {"matrix": [6, 1], "x": 11.25, "y": 1.25}, + {"matrix": [6, 2], "x": 12.25, "y": 1.25}, + {"matrix": [6, 3], "x": 13.25, "y": 1.25}, + {"matrix": [6, 4], "x": 14.25, "y": 1.25}, + {"matrix": [6, 5], "x": 15.25, "y": 1.25}, + {"matrix": [6, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + {"matrix": [6, 8], "x": 18.25, "y": 1.25}, + + {"matrix": [1, 0], "x": 0, "y": 2.25}, + {"matrix": [1, 1], "x": 1, "y": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 2.25, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 2.25}, + {"matrix": [1, 4], "x": 4.75, "y": 2.25}, + {"matrix": [1, 5], "x": 5.75, "y": 2.25}, + {"matrix": [1, 6], "x": 6.75, "y": 2.25}, + {"matrix": [1, 7], "x": 7.75, "y": 2.25}, + + {"matrix": [7, 0], "x": 9.75, "y": 2.25}, + {"matrix": [7, 1], "x": 10.75, "y": 2.25}, + {"matrix": [7, 2], "x": 11.75, "y": 2.25}, + {"matrix": [7, 3], "x": 12.75, "y": 2.25}, + {"matrix": [7, 4], "x": 13.75, "y": 2.25}, + {"matrix": [7, 5], "x": 14.75, "y": 2.25}, + {"matrix": [7, 6], "x": 15.75, "y": 2.25}, + {"matrix": [7, 7], "x": 16.75, "y": 2.25, "w": 1.5}, + {"matrix": [7, 8], "x": 18.25, "y": 2.25}, + + {"matrix": [2, 0], "x": 0, "y": 3.25}, + {"matrix": [2, 1], "x": 1, "y": 3.25}, + {"matrix": [2, 2], "x": 2.25, "y": 3.25, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 3.25}, + {"matrix": [2, 4], "x": 5, "y": 3.25}, + {"matrix": [2, 5], "x": 6, "y": 3.25}, + {"matrix": [2, 6], "x": 7, "y": 3.25}, + {"matrix": [2, 7], "x": 8, "y": 3.25}, + + {"matrix": [8, 0], "x": 10, "y": 3.25}, + {"matrix": [8, 1], "x": 11, "y": 3.25}, + {"matrix": [8, 2], "x": 12, "y": 3.25}, + {"matrix": [8, 3], "x": 13, "y": 3.25}, + {"matrix": [8, 4], "x": 14, "y": 3.25}, + {"matrix": [8, 5], "x": 15, "y": 3.25}, + {"matrix": [8, 6], "x": 16, "y": 3.25}, + {"matrix": [8, 7], "x": 17, "y": 3.25, "w": 1.25}, + {"matrix": [8, 8], "x": 18.25, "y": 3.25}, + + {"matrix": [3, 0], "x": 0, "y": 4.25}, + {"matrix": [3, 1], "x": 1, "y": 4.25}, + {"matrix": [3, 2], "x": 2.25, "y": 4.25, "w": 1.25}, + {"matrix": [3, 3], "x": 3.5, "y": 4.25}, + {"matrix": [3, 4], "x": 4.5, "y": 4.25}, + {"matrix": [3, 5], "x": 5.5, "y": 4.25}, + {"matrix": [3, 6], "x": 6.5, "y": 4.25}, + {"matrix": [3, 7], "x": 7.5, "y": 4.25}, + {"matrix": [3, 8], "x": 8.5, "y": 4.25}, + + {"matrix": [9, 0], "x": 10.5, "y": 4.25}, + {"matrix": [9, 1], "x": 11.5, "y": 4.25}, + {"matrix": [9, 2], "x": 12.5, "y": 4.25}, + {"matrix": [9, 3], "x": 13.5, "y": 4.25}, + {"matrix": [9, 4], "x": 14.5, "y": 4.25}, + {"matrix": [9, 6], "x": 15.5, "y": 4.25, "w": 1.75}, + {"matrix": [9, 7], "x": 17.25, "y": 4.25}, + {"matrix": [9, 8], "x": 18.25, "y": 4.25}, + + {"matrix": [4, 0], "x": 0, "y": 5.25}, + {"matrix": [4, 1], "x": 1, "y": 5.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5.25, "w": 1.25}, + {"matrix": [4, 3], "x": 3.5, "y": 5.25, "w": 1.25}, + {"matrix": [4, 4], "x": 4.75, "y": 5.25, "w": 1.25}, + {"matrix": [4, 5], "x": 6, "y": 5.25, "w": 1.25}, + {"matrix": [4, 6], "x": 7.25, "y": 5.25}, + {"matrix": [4, 7], "x": 8.25, "y": 5.25, "w": 1.25}, + + {"matrix": [10, 0], "x": 10.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 11.75, "y": 5.25, "w": 1.5}, + {"matrix": [10, 2], "x": 13.25, "y": 5.25}, + {"matrix": [10, 3], "x": 14.25, "y": 5.25}, + {"matrix": [10, 4], "x": 15.25, "y": 5.25}, + {"matrix": [10, 6], "x": 16.25, "y": 5.25}, + {"matrix": [10, 7], "x": 17.25, "y": 5.25}, + {"matrix": [10, 8], "x": 18.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/keebio/sinc/rev4/mcuconf.h b/keyboards/keebio/sinc/rev4/mcuconf.h new file mode 100644 index 00000000000..8b26af41319 --- /dev/null +++ b/keyboards/keebio/sinc/rev4/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Danny Nguyen (danny@keeb.io) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/keebio/sinc/rev4/rules.mk b/keyboards/keebio/sinc/rev4/rules.mk new file mode 100644 index 00000000000..161ec22b16e --- /dev/null +++ b/keyboards/keebio/sinc/rev4/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/keebio/stick/config.h b/keyboards/keebio/stick/config.h index d36d39703b4..999b71be766 100644 --- a/keyboards/keebio/stick/config.h +++ b/keyboards/keebio/stick/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once /* WS2812 RGB LED */ -# define RGBLED_NUM 12 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -35,7 +30,7 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_TWINKLE // RGB Matrix # ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 12 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects @@ -85,5 +80,3 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_SOLID_SPLASH # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # endif - -#define TAPPING_TERM 200 diff --git a/keyboards/keebio/stick/info.json b/keyboards/keebio/stick/info.json index d566e3df745..c5d88a746c9 100644 --- a/keyboards/keebio/stick/info.json +++ b/keyboards/keebio/stick/info.json @@ -17,6 +17,12 @@ {"pin_a": "D4", "pin_b": "C6"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keebio/tukey/config.h b/keyboards/keebio/tukey/config.h index 54d3f668a73..b833d1ab852 100644 --- a/keyboards/keebio/tukey/config.h +++ b/keyboards/keebio/tukey/config.h @@ -17,10 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/tukey/info.json b/keyboards/keebio/tukey/info.json index 3c4951b407e..f1ae47341d2 100644 --- a/keyboards/keebio/tukey/info.json +++ b/keyboards/keebio/tukey/info.json @@ -8,6 +8,11 @@ "pid": "0x1112", "device_version": "1.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keebio/viterbi/rev1/config.h b/keyboards/keebio/viterbi/rev1/config.h index 204afe952cf..18b5d426e43 100644 --- a/keyboards/keebio/viterbi/rev1/config.h +++ b/keyboards/keebio/viterbi/rev1/config.h @@ -21,6 +21,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -#define RGBLED_NUM 14 diff --git a/keyboards/keebio/viterbi/rev1/info.json b/keyboards/keebio/viterbi/rev1/info.json index 19dba279840..a003331f25d 100644 --- a/keyboards/keebio/viterbi/rev1/info.json +++ b/keyboards/keebio/viterbi/rev1/info.json @@ -8,6 +8,7 @@ "device_version": "1.0.0" }, "rgblight": { + "led_count": 14, "split_count": [7, 7] }, "ws2812": { diff --git a/keyboards/keebio/viterbi/rev2/config.h b/keyboards/keebio/viterbi/rev2/config.h index 0c858c61647..010fcffc9ba 100644 --- a/keyboards/keebio/viterbi/rev2/config.h +++ b/keyboards/keebio/viterbi/rev2/config.h @@ -23,6 +23,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -#define RGBLED_NUM 14 diff --git a/keyboards/keebio/viterbi/rev2/info.json b/keyboards/keebio/viterbi/rev2/info.json index 0dfbc12a173..88ab2cd1374 100644 --- a/keyboards/keebio/viterbi/rev2/info.json +++ b/keyboards/keebio/viterbi/rev2/info.json @@ -17,6 +17,7 @@ "levels": 7 }, "rgblight": { + "led_count": 14, "split_count": [7, 7] }, "ws2812": { diff --git a/keyboards/keebio/wavelet/config.h b/keyboards/keebio/wavelet/config.h index b6d4d647192..2fd8b7d4d04 100644 --- a/keyboards/keebio/wavelet/config.h +++ b/keyboards/keebio/wavelet/config.h @@ -23,6 +23,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs diff --git a/keyboards/keebio/wavelet/info.json b/keyboards/keebio/wavelet/info.json index c40265fc5b4..3b88fcdd771 100644 --- a/keyboards/keebio/wavelet/info.json +++ b/keyboards/keebio/wavelet/info.json @@ -17,6 +17,9 @@ "pin": "B5", "levels": 7 }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keebio/wtf60/config.h b/keyboards/keebio/wtf60/config.h index 70343a37639..caf3e5c7db9 100644 --- a/keyboards/keebio/wtf60/config.h +++ b/keyboards/keebio/wtf60/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #define AUDIO_PIN C6 - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebio/wtf60/info.json b/keyboards/keebio/wtf60/info.json index ebac7096f7a..a78a7dc163a 100644 --- a/keyboards/keebio/wtf60/info.json +++ b/keyboards/keebio/wtf60/info.json @@ -8,6 +8,12 @@ "pid": "0x1337", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/keebmonkey/kbmg68/config.h b/keyboards/keebmonkey/kbmg68/config.h index 2d3b3feef7e..9b4d5b9db52 100644 --- a/keyboards/keebmonkey/kbmg68/config.h +++ b/keyboards/keebmonkey/kbmg68/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 68 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keebmonkey/kbmg68/info.json b/keyboards/keebmonkey/kbmg68/info.json index 89bb9f7690e..d22f417f4e8 100644 --- a/keyboards/keebmonkey/kbmg68/info.json +++ b/keyboards/keebmonkey/kbmg68/info.json @@ -8,6 +8,12 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 68, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/keebsforall/coarse60/config.h b/keyboards/keebsforall/coarse60/config.h index 20493f173c5..9be0f484f23 100644 --- a/keyboards/keebsforall/coarse60/config.h +++ b/keyboards/keebsforall/coarse60/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 14 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/keebsforall/coarse60/info.json b/keyboards/keebsforall/coarse60/info.json index 11ec69872f8..3085eb90b5e 100644 --- a/keyboards/keebsforall/coarse60/info.json +++ b/keyboards/keebsforall/coarse60/info.json @@ -23,6 +23,9 @@ "levels": 6, "breathing": true }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/keebsforall/coarse60/rules.mk b/keyboards/keebsforall/coarse60/rules.mk index e353d7863f1..33b9c9f1591 100644 --- a/keyboards/keebsforall/coarse60/rules.mk +++ b/keyboards/keebsforall/coarse60/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keebwerk/nano_slider/config.h b/keyboards/keebwerk/nano_slider/config.h index 2d9f98c167b..7372cad0418 100644 --- a/keyboards/keebwerk/nano_slider/config.h +++ b/keyboards/keebwerk/nano_slider/config.h @@ -19,11 +19,6 @@ along with this program. If not, see . #define SLIDER_PIN D4 -# define RGBLED_NUM 4 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/keebwerk/nano_slider/info.json b/keyboards/keebwerk/nano_slider/info.json index 7c067c6f999..ae830385a86 100644 --- a/keyboards/keebwerk/nano_slider/info.json +++ b/keyboards/keebwerk/nano_slider/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/kegen/gboy/config.h b/keyboards/kegen/gboy/config.h index 2b008e5ca75..edd99e9df1c 100644 --- a/keyboards/kegen/gboy/config.h +++ b/keyboards/kegen/gboy/config.h @@ -27,7 +27,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/kegen/gboy/info.json b/keyboards/kegen/gboy/info.json index f66eefd2da9..e3bcbd34f76 100644 --- a/keyboards/kegen/gboy/info.json +++ b/keyboards/kegen/gboy/info.json @@ -17,6 +17,11 @@ "pin": "B7", "levels": 15 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/keybage/radpad/config.h b/keyboards/keybage/radpad/config.h index 5146b6ee13e..029aa12c95c 100644 --- a/keyboards/keybage/radpad/config.h +++ b/keyboards/keybage/radpad/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 16 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keybage/radpad/info.json b/keyboards/keybage/radpad/info.json index 2d8e566a792..f170975f0ad 100644 --- a/keyboards/keybage/radpad/info.json +++ b/keyboards/keybage/radpad/info.json @@ -22,6 +22,10 @@ "bootmagic": { "matrix": [1, 3] }, + "rgblight": { + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/autocorrect_data.h b/keyboards/keyboardio/atreus/keymaps/slotthe/autocorrect_data.h new file mode 100644 index 00000000000..155b1fbc540 --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/slotthe/autocorrect_data.h @@ -0,0 +1,44 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +/******************************************************************************* + 88888888888 888 d8b .d888 d8b 888 d8b + 888 888 Y8P d88P" Y8P 888 Y8P + 888 888 888 888 + 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b + 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K + 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. + 888 888 888 888 X88 888 888 888 Y8b. 888 X88 + 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' + 888 888 + 888 888 + 888 888 + .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 + d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 + 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 + Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 + "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 + 888 + Y8b d88P + "Y88P" +*******************************************************************************/ + +#pragma once + +// Autocorrection dictionary (4 entries): +// :alot -> a lot +// accesories -> accessories +// accomodate -> accommodate +// alledge -> allege + +#define AUTOCORRECT_MIN_LENGTH 5 // ":alot" +#define AUTOCORRECT_MAX_LENGTH 10 // "accesories" +#define DICTIONARY_SIZE 73 + +static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = { + 0x48, 0x0A, 0x00, 0x16, 0x2C, 0x00, 0x17, 0x3E, 0x00, 0x00, 0x4A, 0x11, 0x00, 0x17, 0x1B, 0x00, + 0x00, 0x07, 0x08, 0x0F, 0x0F, 0x04, 0x00, 0x82, 0x67, 0x65, 0x00, 0x04, 0x07, 0x12, 0x10, 0x12, + 0x06, 0x06, 0x04, 0x00, 0x84, 0x6D, 0x6F, 0x64, 0x61, 0x74, 0x65, 0x00, 0x08, 0x0C, 0x15, 0x12, + 0x16, 0x08, 0x06, 0x06, 0x04, 0x00, 0x84, 0x73, 0x6F, 0x72, 0x69, 0x65, 0x73, 0x00, 0x12, 0x0F, + 0x04, 0x2C, 0x00, 0x82, 0x20, 0x6C, 0x6F, 0x74, 0x00 +}; diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/config.h b/keyboards/keyboardio/atreus/keymaps/slotthe/config.h new file mode 100644 index 00000000000..26235c9d916 --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/slotthe/config.h @@ -0,0 +1,19 @@ +/* © 2023 Tony Zorman (@slotThe) + * + * This program is free software: you can 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 . + */ + +#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD +#define TAPPING_TERM 175 +#define HOLD_ON_OTHER_KEY_PRESS diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/keymap.c b/keyboards/keyboardio/atreus/keymaps/slotthe/keymap.c new file mode 100644 index 00000000000..6188f14ab97 --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/slotthe/keymap.c @@ -0,0 +1,328 @@ +/* © 2023 Tony Zorman (@slotThe) + * + * This program is free software: you can 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 + +// NOTE: `M-x occur RET /// RET' gives a good overview. + +/// General macros + +#define LSPR_SC LGUI_T(KC_SCLN) +#define LALT_BR LALT_T(KC_LBRC) +#define LSFT_INS LSFT(KC_INS) +#define OSMSFT OSM(MOD_LSFT) +#define Z_SFT LSFT_T(KC_Z) +#define ZE_SFT LSFT_T(KC_0) +#define SL_SFT RSFT_T(KC_SLSH) +#define RETSPR LGUI_T(KC_ENT) + +/// Tap dance declarations + +// So far, tap dances do different things on +// +// - a single press, +// - a double press, +// - when held, +// +// so expect this many keys as comments. +enum tap_dances { + ALT_BR, // [ ] lalt (also works shifted, which gets us { and } for free) + CTL_PR, // ( ) lctl + SFT_CI, // ^ ^ lsft (working around LSFT_T not being able to output shifted keys) + SFT_EX, // ! ! lsft (ditto) +}; + +#define CTLPAR TD(CTL_PR) +#define ALTBRC TD(ALT_BR) +#define SFTCRC TD(SFT_CI) +#define SFTEXL TD(SFT_EX) + +/// Macro declarations + +enum custom_keycodes { + // -> <- =<< >>= <*> <* *> <$> <&> <|> => :: + RARR = SAFE_RANGE, LARR, LBND, RBND, APP, RAPP, LAPP, FMAP, PAMF, AALT, IMPLS, DCOL, +}; + +/// Key overrides + +const key_override_t **key_overrides = (const key_override_t *[]){ + &ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DEL), // S-BSP ≡ DEL + // Emacs got me used to these, so let's convince other programs that + // we are in fact sending the correct keys. + &ko_make_basic(MOD_MASK_CTRL, KC_I, KC_TAB), // C-i ≡ Tab + &ko_make_basic(MOD_MASK_CTRL, KC_M, KC_ENT), // C-m ≡ Return + NULL // Null terminate the array of overrides +}; + +/// Layers + +enum layer_names { _COLEMAK_DH, _LOWER, _RAISE, _ADJUST }; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define ADJUST MO(_ADJUST) +#define D_RAISE LT(_RAISE, KC_DOT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Colemak base layer + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | Q | W | F | P | B | | J | L | U | Y | ;+S | + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | A | R | S | T | G | | M | N | E | I | O | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | S+Z | X | C | D | V | ARP | REP | K | H | , | . | S+/ | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | ESC | TAB | SPR | L1 | SPC | A[] | BSC | C() | L2 | - | ' | RET | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + */ + [_COLEMAK_DH] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, LSPR_SC, + KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, + Z_SFT, KC_X, KC_C, KC_D, KC_V, QK_AREP, QK_REP, KC_K, KC_H, KC_COMM, D_RAISE, SL_SFT, + KC_ESC, KC_TAB, KC_LGUI, LOWER, KC_SPC, ALTBRC, KC_BSPC, CTLPAR, RAISE, KC_MINS, KC_QUOT, KC_ENT), + + /* Layer 1 (LOWER) + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-------. + | & | *> | >>= | <&> | | | = | + | * | - | RET+M | + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-------. + | :: | => | =<< | <|> | @ | | LFT | UP | DWN | RGT | \ | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------. + | !+S | <* | <*> | <$> | <- | | MEN | -> | $ | # | % | ^+S | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------. + | | | | | | | | | L3 | ALT | | S-I | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------. + */ + [_LOWER] = LAYOUT( + KC_AMPR, RAPP, RBND, PAMF, _______, KC_EQL, KC_PLUS, KC_ASTR, KC_MINS, RETSPR, + DCOL, IMPLS, LBND, AALT, KC_AT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BSLS, + SFTEXL, LAPP, APP, FMAP, LARR, _______, KC_APP, RARR, KC_DLR, KC_HASH, KC_PERC, SFTCRC, + _______, _______, _______, _______, _______, _______, _______, _______, ADJUST, KC_LALT, _______, LSFT_INS), + + /* Layer 2 (RAISE) + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | | 7 | 8 | 9 | | | | + | * | - | | + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | : | 4 | 5 | 6 | = | | & | ` | _ | ' | " | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | 0+S | 1 | 2 | 3 | | | | | ! | # | % | ^+S | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | | | | L3 | | | | | | | | | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + */ + [_RAISE] = LAYOUT( + KC_DOT, KC_7, KC_8, KC_9, _______, _______, KC_PLUS, KC_ASTR, KC_MINS, _______, + KC_COLN, KC_4, KC_5, KC_6, KC_EQL, KC_AMPR, KC_GRV, KC_UNDS, KC_QUOT, KC_DQT, + ZE_SFT, KC_1, KC_2, KC_3, _______, _______, _______, _______, KC_EXLM, KC_HASH, KC_PERC, SFTCRC, + _______, _______, _______, ADJUST, _______, _______, _______, _______, _______, _______, _______, _______), + + /* Layer 3 (ADJUST) + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | | | | | | | | F7 | F8 | F9 | F10 | + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | | | | | | | | F4 | F5 | F6 | F11 | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | | | | | | | | | F1 | F2 | F3 | F12 | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | | | | | | | | | | | | | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + */ + [_ADJUST] = LAYOUT( + _______, _______, _______, _______, AC_TOGG, _______, KC_F7, KC_F8, KC_F9, KC_F10, + _______, _______, _______, _______, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11, + _______, _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) +}; + +/// Macro definitions + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RARR: + if (record->event.pressed) SEND_STRING("->"); break; + case LARR: + if (record->event.pressed) SEND_STRING("<-"); break; + case LBND: + if (record->event.pressed) SEND_STRING("=<<"); break; + case RBND: + if (record->event.pressed) SEND_STRING(">>="); break; + case APP: + if (record->event.pressed) SEND_STRING("<*>"); break; + case RAPP: + if (record->event.pressed) SEND_STRING("*>"); break; + case LAPP: + if (record->event.pressed) SEND_STRING("<*"); break; + case FMAP: + if (record->event.pressed) SEND_STRING("<$>"); break; + case PAMF: + if (record->event.pressed) SEND_STRING("<&>"); break; + case AALT: + if (record->event.pressed) SEND_STRING("<|>"); break; + case IMPLS: + if (record->event.pressed) SEND_STRING("=>"); break; + case DCOL: + if (record->event.pressed) SEND_STRING("::"); break; + } + return true; +}; + +//// Tap dance definitions + +// Heavily inspired by: +// +// https://docs.qmk.fm/?ref=blog.splitkb.com#/feature_tap_dance?id=example-4 + +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP, +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +// Return an integer that corresponds to what kind of tap dance should +// be executed. +// +// Interrupted: If the state of a dance is "interrupted", that means +// that another key has been hit under the tapping term. +// +// 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". +td_state_t cur_dance(tap_dance_state_t *state) { + if (state->count == 1) { + if (state->pressed) return TD_SINGLE_HOLD; + else return TD_SINGLE_TAP; + } else if (state->count == 2) return TD_DOUBLE_TAP; + else return TD_UNKNOWN; +} + +//// ALT_BR + +static td_tap_t alt_br_state = { + .is_press_action = true, + .state = TD_NONE +}; + +void lalt_br_finished(tap_dance_state_t *state, void *user_data) { + alt_br_state.state = cur_dance(state); + switch (alt_br_state.state) { + case TD_SINGLE_TAP: register_code(KC_LBRC); break; + case TD_SINGLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_TAP: register_code(KC_RBRC); break; + default: break; + } +} + +void lalt_br_reset(tap_dance_state_t *state, void *user_data) { + switch (alt_br_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_LBRC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LALT); break; + case TD_DOUBLE_TAP: unregister_code(KC_RBRC); break; + default: break; + } + alt_br_state.state = TD_NONE; +} + +//// LCTL_PR + +static td_tap_t lctl_pr_state = { + .is_press_action = true, + .state = TD_NONE +}; + +void lctl_pr_finished(tap_dance_state_t *state, void *user_data) { + lctl_pr_state.state = cur_dance(state); + switch (lctl_pr_state.state) { + case TD_SINGLE_TAP: register_code16(KC_LPRN); break; + case TD_SINGLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_TAP: register_code16(KC_RPRN); break; + default: break; + } +} + +void lctl_pr_reset(tap_dance_state_t *state, void *user_data) { + switch (lctl_pr_state.state) { + case TD_SINGLE_TAP: unregister_code16(KC_LPRN); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break; + case TD_DOUBLE_TAP: unregister_code16(KC_RPRN); break; + default: break; + } + lctl_pr_state.state = TD_NONE; +} + +//// SFT_CI + +static td_tap_t lsft_ci_state = { + .is_press_action = true, + .state = TD_NONE +}; + +void lsft_ci_finished(tap_dance_state_t *state, void *user_data) { + lsft_ci_state.state = cur_dance(state); + switch (lsft_ci_state.state) { + case TD_SINGLE_TAP: register_code16(KC_CIRC); break; + case TD_SINGLE_HOLD: register_code(KC_LSFT); break; + default: break; + } +} + +void lsft_ci_reset(tap_dance_state_t *state, void *user_data) { + switch (lsft_ci_state.state) { + case TD_SINGLE_TAP: unregister_code16(KC_CIRC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LSFT); break; + default: break; + } + lsft_ci_state.state = TD_NONE; +} + +//// SFT_EX + +static td_tap_t lsft_ex_state = { + .is_press_action = true, + .state = TD_NONE +}; + +void lsft_ex_finished(tap_dance_state_t *state, void *user_data) { + lsft_ex_state.state = cur_dance(state); + switch (lsft_ex_state.state) { + case TD_SINGLE_TAP: register_code16(KC_EXLM); break; + case TD_SINGLE_HOLD: register_code(KC_LSFT); break; + default: break; + } +} + +void lsft_ex_reset(tap_dance_state_t *state, void *user_data) { + switch (lsft_ex_state.state) { + case TD_SINGLE_TAP: unregister_code16(KC_EXLM); break; + case TD_SINGLE_HOLD: unregister_code(KC_LSFT); break; + default: break; + } + lsft_ex_state.state = TD_NONE; +} + +//// Actually define the tap-dance actions + +tap_dance_action_t tap_dance_actions[] = { + [ALT_BR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lalt_br_finished, lalt_br_reset), + [CTL_PR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lctl_pr_finished, lctl_pr_reset), + [SFT_CI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lsft_ci_finished, lsft_ci_reset), + [SFT_EX] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lsft_ex_finished, lsft_ex_reset), +}; diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/readme.md b/keyboards/keyboardio/atreus/keymaps/slotthe/readme.md new file mode 100644 index 00000000000..d83bce1d2f2 --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/slotthe/readme.md @@ -0,0 +1,251 @@ +# SlotThe's Keyboardio Atreus Keymap + +Note: the following is (a relevant and shortened) excerpt from [this +rewiev](https://tony-zorman.com/posts/atreus-review.html) of the +keyboard itself. See there for, e.g., some thoughts about modifier +placement. + +## Base layer + + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.------. + | Q | W | F | P | B | | J | L | U | Y | M4+; | + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.------. + | A | R | S | T | G | | M | N | E | I | O | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.------. + | S+Z | X | C | D | V | ARP | REP | K | H | , | . | S+/ | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.------. + | ESC | TAB | M4 | L1 | SPC | A[] | BSC | C() | L2 | - | ' | RET | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.------. + +I use [Colemak Mod-DH][colemak-dh] as my layout, so this takes up most of the base of the keyboard. + +Perhaps strikingly, I opted for not putting Shift on the thumb, +but recreating the "ordinary" one-on-each-side setup from the good old typewriter days. +While I already have a key to access the `LOWER` (L1) layer with my left thumb, +I had to sacrifice Shift so I could fit a key to the `RAISE` (L2) layer on the right thumb. +This also jumps to the `ADJUST` (L3) layer when both `LOWER` and `RAISE` are held at the same time. +I will gladly trade two layers for one Shift key. + +One of the most basic things—besides having layers—that one can do with QMK is [mod-taps][qmk:mod-tap]. +These are keys that act as modifiers when held, and as "ordinary" keys when pressed. +For example, all of the `S+«key»` keys emit Shift when held and `«key»` when pressed. +There is a slight delay between pressing the key and the press registering, +since we have to wait for a possible tap, +which keeps me from using modifiers on the home-row, as some people like to do. +Likewise, the `M4+;` key acts as Super when held and as `;` when pressed. +At this point, it is actually my main way to press the Super key, +even though I don't find the real `M4` key particularly hard to hit with my thumb. +Sometimes these things just happen, +I suppose, +though it may help that I press both outer keys of the top row (that is, `q` and `;`) with my ring finger +instead of my pinky. + +The `A[]` and `C()` keys are utilising [tap dances][qmk:tap-dance], +in order to do even more. +Tap dances are very similar to mod-taps, +only in addition to just differentiating between a "pressed" and a "held" state, +QMK now also keeps track of *how often* a key has been tapped. +So far, [my setup][qmk:slotthe:tapdances] here is quite basic; +I only check whether a key was pressed once, twice, or is being held. +This allows me to not need extra keys for parentheses, +as they can fit on the modifier keys: + + - `A[]`: Alt when held, `[` when pressed once, and `]` when pressed twice. + This one is especially neat, since tap dances play well with other modifiers, + so pressing `S-M1` once will result in `{` and pressing it twice gives `}`. + + - `C()`: Control when held, `(` when pressed once, and `)` when pressed twice. + +I don't mind having the extra indirection for the respective closed delimiter, +as [paredit][emacs:paredit], +[puni][emacs:puni], +`electric-pair-mode`, +or a different package of choice usually takes care of inserting it. + +The `REP` and `AREP` keys make use of the [Repeat Key][qmk:repeat-key] functionality; +basically, `REP` executes the key chord that was last pressed. +On the other hand, +`AREP` is an alternative, configurable, of "repeating" things; +by default, it turns some directional movements +around—e.g., `M-f` becomes `M-b`—but +it can be made to pretty much input anything one wants. + +## Layer 1 + + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-------. + | & | *> | >>= | <&> | | | = | + | * | - | M4+RT | + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-------. + | :: | => | =<< | <|> | @ | | LFT | UP | DWN | RGT | \ | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------. + | S+! | <* | <*> | <$> | <- | | MEN | -> | $ | # | % | S+^ | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------. + | | | | | | | | | L3 | ALT | | S-Ins | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-------. + +Guess which programming language I like based on this layer's [macros][qmk:macros] :). + +Crucially, keys that were "Shift when held, +*something* when pressed" on the base layer retain the Shift part of that functionality. +This is used for the commutativity of the modifier +keys—i.e., it does not matter whether I press `S-L1-«key»` or `L1-S-«key»`—which +would otherwise drive me insane. +The same goes for all fall-through keys: +keys that appear blank in the above layout. +These aren't blocked or anything, +just no new functionality is added +so the key falls back to what's on the next lowest layer. +In plain terms, +the key to the left of `L3` will still be Control, +as I can comfortably press that while holding down something with my left hand. +The same can't be said for the Alt key, +which is on the left hand by default, +so a separate binding for it has to be created on the right hand. +Thus, +as the two don't commute, +key chords involving the LOWER layer and Alt are to be avoided if possible. + +The `S-Ins` key is not some sort of tap, +but actually just emits a Shift-Insert, +which can be used to paste stuff from the [X11 primary selection][x11:clipboard]. + +## Layer 2 + + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | | 7 | 8 | 9 | | | | + | * | - | | + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | : | 4 | 5 | 6 | = | | | ` | _ | ' | " | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | S+0 | 1 | 2 | 3 | | | | | | # | % | S+^ | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | | | | L3 | | | | | | | | | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + +A relatively unspectacular layer, +RAISE is mainly used for numbers, +and number adjacent things. +Some symbols related to this, +like `=`, `+`, `*`, and `-`, +are replicated from the LOWER layer. +This is due to the above mentioned issues of inserting arithmetic. +This layer also features \` and `'` quite prominently, +as these are important for [CDLaTeX]. +Plus, putting `'` and `"` on this layer circumvents the difficult to hit key on the base layer. + +## Layer 3 + + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | | | | | | | | F7 | F8 | F9 | F10 | + .-----.-----.-----.-----.-----. .-----.-----.-----.-----.-----. + | | | | | | | | F4 | F5 | F6 | F11 | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | | | | | | | | | F1 | F2 | F3 | F12 | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + | | | | | | | | | | | | | + .-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----.-----. + +So far, only the seldom used F-keys are present here. +As should be obvious, this is the least developed layer, +and also the one that'll probably change the most in the future. +Currently, I'm thinking of putting some XMonad specific bindings on here, +which could even to free up the Super key to be used inside of Emacs +for certain things—that would certainly be a worthwhile experiment. +Other thoughts include things like volume and brightness controls, +although this is less critical since my laptop keyboard is never far away. + +## Other features + +There are some features that aren't necessarily reflected in the keys themselves, +yet are quite essential for day-to-day use. +The TL;DR can be found in [rules.mk][./rules.mk]. + +### [Key overrides][qmk:key-overrides] + +Quoting from the documentation + +> Key overrides allow you to override modifier-key combinations to send a different modifier-key combination +> or perform completely custom actions. + +Some keys on the keyboard are quite hard to hit. +On the default layout, +one of these turns out to be the Tab key, +which is nonetheless important in a lot of situations. +Conveniently, Emacs interprets `C-i` as Tab, so there is less need to actually hit the "real" key. +However, not all programs are quite so understanding—or old, I guess. +With key overrides, one can send a real `TAB` whenever `C-i` is pressed; +no special convention on how to interpret certain key chords required! +I also rebound `C-m` to `RET` (with the same justification), and `S-BSP` to `DEL`. + +This is one of those features that I didn't know I needed, +yet now couldn't live without anymore. +I'm definitely looking forward to discovering new and interesting ways of using this! + +### [Autocorrect][qmk:autocorrect] + +This is a quaint little feature: auto-correct inside of your keyboard's firmware! +I promise that it's not as bad as it sounds. +It does not work automatically, thankfully, but is based off a given list of replacements. +For example, + + widht -> width + +would fire anytime one writes `widht`, which then gets replaced by `width`. +This is based on (a trie of) the most recently pressed keys, +so whenever one actually wants to write `widht` +all that's needed is pressing, for example, any modifier during the insertion. + +As I've really just been trying this out for a laugh, my current word list is quite short: + + :alot -> a lot + accesories -> accessories + accomodate -> accommodate + alledge -> allege + +In general, +I think the solution to stop misspelling a word is not to remap key sequences on the firmware level, +but to—you know—learn how to spell that word. +Still, +I can imagine at least one or two use-cases where something like this could be useful, +so I figured it might be nice to make people aware of this features' existence. + +In addition—as I've found out on three separate occasions so far—using the words "auto-correct, but in firmware" +makes people stare in utter disbelief and/or disgust at your keyboard. +That alone makes this feature worth it. + +### [Caps Word][qmk:caps-word] + +Caps Word is a clever alternative to Caps Lock, +which I enable by pressing both Shift keys together. +After that, +all of the letter keys are shifted, +and `-` becomes `_` +until a different key (excluding common sense ones like backspace) is pressed. +This is very useful for, e.g., +writing long constants, +as these tend to have capital names separated with underscores: +writing `BOTH_SHIFTS_TURNS_ON_CAPS_WORD` has never been easier! + +One thing to note is that, +while layer switching works just fine in "Caps Word mode", +the [Tri Layer][qmk:tri-layer] feature does not seem to play nicely with it; +i.e., the mode gets disabled when switching to these layers. +This is also the reason why I have an explicit LOWER, RAISE, and ADJUST setup, +instead of just using Tri Layer. +One could fiddle with the `caps_word_press_user` callback, +but it seemed much easier to just create one additional layer toggle instead. +I haven't looked at how hard it would be to hack this into Caps Word, +so maybe this is a future pull request. + +[CDLaTeX]: https://github.com/cdominik/cdlatex +[colemak-dh]: https://colemakmods.github.io/mod-dh/ +[emacs:paredit]: https://paredit.org/ +[emacs:puni]: https://github.com/AmaiKinono/puni +[qmk:autocorrect]: https://docs.qmk.fm/#/feature_autocorrect +[qmk:caps-word]: https://docs.qmk.fm/#/feature_caps_word +[qmk:key-overrides]: https://docs.qmk.fm/#/feature_key_overrides +[qmk:macros]: https://docs.qmk.fm/#/feature_macros +[qmk:mod-tap]: https://docs.qmk.fm/#/mod_tap +[qmk:repeat-key]: https://docs.qmk.fm/#/feature_repeat_key +[qmk:slotthe:tapdances]: https://github.com/slotThe/qmk_firmware/blob/keyboardio/atreus/slotThe/keyboards/keyboardio/atreus/keymaps/slotThe/keymap.c#L187 +[qmk:tap-dance]: https://docs.qmk.fm/#/feature_tap_dance +[qmk:tri-layer]: https://docs.qmk.fm/#/feature_tri_layer +[x11:clipboard]: https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html diff --git a/keyboards/keyboardio/atreus/keymaps/slotthe/rules.mk b/keyboards/keyboardio/atreus/keymaps/slotthe/rules.mk new file mode 100644 index 00000000000..b603193f858 --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/slotthe/rules.mk @@ -0,0 +1,9 @@ +TAP_DANCE_ENABLE = yes +KEY_OVERRIDE_ENABLE = yes +AUTOCORRECT_ENABLE = yes +CAPS_WORD_ENABLE = yes +REPEAT_KEY_ENABLE = yes + +LTO_ENABLE = yes +COMMAND_ENABLE = no +MOUSEKEY_ENABLE = no diff --git a/keyboards/keycapsss/kimiko/rev1/config.h b/keyboards/keycapsss/kimiko/rev1/config.h index 60d11111ace..8e44b27ace9 100644 --- a/keyboards/keycapsss/kimiko/rev1/config.h +++ b/keyboards/keycapsss/kimiko/rev1/config.h @@ -16,11 +16,6 @@ #pragma once -#ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 60 // Total number of LEDs -# define RGBLIGHT_SPLIT -#endif - // Limit the power draw #ifdef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 40 diff --git a/keyboards/keycapsss/kimiko/rev1/info.json b/keyboards/keycapsss/kimiko/rev1/info.json index c9af182427d..e0106f44230 100644 --- a/keyboards/keycapsss/kimiko/rev1/info.json +++ b/keyboards/keycapsss/kimiko/rev1/info.json @@ -22,6 +22,7 @@ "soft_serial_pin": "D2" }, "rgblight": { + "led_count": 60, "split_count": [30, 30] }, "ws2812": { diff --git a/keyboards/keycapsss/o4l_5x12/config.h b/keyboards/keycapsss/o4l_5x12/config.h index 804dabbf6d0..783ce3f9d27 100644 --- a/keyboards/keycapsss/o4l_5x12/config.h +++ b/keyboards/keycapsss/o4l_5x12/config.h @@ -1,10 +1,5 @@ #pragma once -# define RGBLED_NUM 12 -# define RGBLIGHT_HUE_STEP 4 -# define RGBLIGHT_SAT_STEP 4 -# define RGBLIGHT_VAL_STEP 4 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keycapsss/o4l_5x12/info.json b/keyboards/keycapsss/o4l_5x12/info.json index 0766e0a2e48..090355464c4 100644 --- a/keyboards/keycapsss/o4l_5x12/info.json +++ b/keyboards/keycapsss/o4l_5x12/info.json @@ -8,6 +8,12 @@ "pid": "0x0512", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 4, + "saturation_steps": 4, + "brightness_steps": 4, + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keycapsss/plaid_pad/config.h b/keyboards/keycapsss/plaid_pad/config.h deleted file mode 100644 index 984323f63c9..00000000000 --- a/keyboards/keycapsss/plaid_pad/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2020 Ben Roesner (keycapsss.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 . - */ - -#pragma once - -// Fix for volume controll with encoder (steadily in/decrease) -#define TAP_CODE_DELAY 60 diff --git a/keyboards/keycapsss/plaid_pad/info.json b/keyboards/keycapsss/plaid_pad/info.json index 9fe02448d02..c66bd05f1bc 100644 --- a/keyboards/keycapsss/plaid_pad/info.json +++ b/keyboards/keycapsss/plaid_pad/info.json @@ -7,6 +7,9 @@ "pid": "0x5050", "max_power": 100 }, + "qmk": { + "tap_keycode_delay": 60 + }, "matrix_pins": { "cols": ["B0", "D7", "D6", "D5"], "rows": ["C0", "C1", "C2", "C3"] diff --git a/keyboards/keychron/c1_pro/ansi/rgb/config.h b/keyboards/keychron/c1_pro/ansi/rgb/config.h new file mode 100644 index 00000000000..a103d190d0e --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/rgb/config.h @@ -0,0 +1,48 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 . + */ + +#pragma once + +/* If PH3 used with a stronger pull resistor then the following definition needs be included */ +// #define MATRIX_UNSELECT_DRIVE_HIGH + +/* RGB Matrix Driver Configuration */ +#define DRIVER_COUNT 2 +#define DRIVER_ADDR_1 0b1110111 +#define DRIVER_ADDR_2 0b1110100 + +/* RGB Matrix Configuration */ +#define DRIVER_1_LED_TOTAL 49 +#define DRIVER_2_LED_TOTAL 39 +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) + +/* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */ +#define PHASE_CHANNEL MSKPHASE_9CHANNEL +/* Set led driver current */ +#define CKLED2001_CURRENT_TUNE \ + { 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 } + +/* turn off effects when suspended */ +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +/* Enable caps_lock, win os and mac os indicator */ +#define CAPS_MAC_WIN_LED_INDEX 63 + +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keychron/c1_pro/ansi/rgb/info.json b/keyboards/keychron/c1_pro/ansi/rgb/info.json new file mode 100644 index 00000000000..e5f964a96a4 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/rgb/info.json @@ -0,0 +1,229 @@ +{ + "usb": { + "pid": "0x0510", + "device_version": "1.0.0" + }, + "features": { + "rgb_matrix": true + }, + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix":[0, 0], "x":0, "y":0}, + {"matrix":[0, 1], "x":2, "y":0}, + {"matrix":[0, 2], "x":3, "y":0}, + {"matrix":[0, 3], "x":4, "y":0}, + {"matrix":[0, 4], "x":5, "y":0}, + {"matrix":[0, 5], "x":6.5, "y":0}, + {"matrix":[0, 6], "x":7.5, "y":0}, + {"matrix":[0, 7], "x":8.5, "y":0}, + {"matrix":[0, 8], "x":9.5, "y":0}, + {"matrix":[0, 9], "x":11, "y":0}, + {"matrix":[0,10], "x":12, "y":0}, + {"matrix":[0,11], "x":13, "y":0}, + {"matrix":[0,12], "x":14, "y":0}, + {"matrix":[0,14], "x":15.25, "y":0}, + {"matrix":[0,15], "x":16.25, "y":0}, + {"matrix":[3,14], "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":[3,15], "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":[3,12], "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,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, 6], "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":[4,14], "x":17.25, "y":5.25} + ] + } + }, + "rgb_matrix": { + "driver": "CKLED2001", + "animations": { + "breathing": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "jellybean_raindrops": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive_multiwide": true, + "solid_reactive_multinexus": true, + "splash": true, + "solid_splash": true + }, + "layout": [ + {"matrix":[0, 0], "flags":1, "x":0, "y":0}, + {"matrix":[0, 1], "flags":1, "x":26, "y":0}, + {"matrix":[0, 2], "flags":1, "x":39, "y":0}, + {"matrix":[0, 3], "flags":1, "x":52, "y":0}, + {"matrix":[0, 4], "flags":1, "x":65, "y":0}, + {"matrix":[0, 5], "flags":1, "x":85, "y":0}, + {"matrix":[0, 6], "flags":1, "x":98, "y":0}, + {"matrix":[0, 7], "flags":1, "x":111, "y":0}, + {"matrix":[0, 8], "flags":1, "x":124, "y":0}, + {"matrix":[0, 9], "flags":1, "x":143, "y":0}, + {"matrix":[0, 10], "flags":1, "x":156, "y":0}, + {"matrix":[0, 11], "flags":1, "x":169, "y":0}, + {"matrix":[0, 12], "flags":1, "x":182, "y":0}, + {"matrix":[0, 14], "flags":1, "x":198, "y":0}, + {"matrix":[0, 15], "flags":1, "x":211, "y":0}, + {"matrix":[3, 14], "flags":1, "x":224, "y":0}, + + {"matrix":[1, 0], "flags":1, "x":0, "y":15}, + {"matrix":[1, 1], "flags":4, "x":15, "y":15}, + {"matrix":[1, 2], "flags":4, "x":26, "y":15}, + {"matrix":[1, 3], "flags":4, "x":39, "y":15}, + {"matrix":[1, 4], "flags":4, "x":52, "y":15}, + {"matrix":[1, 5], "flags":4, "x":65, "y":15}, + {"matrix":[1, 6], "flags":4, "x":78, "y":15}, + {"matrix":[1, 7], "flags":4, "x":91, "y":15}, + {"matrix":[1, 8], "flags":4, "x":104, "y":15}, + {"matrix":[1, 9], "flags":4, "x":117, "y":15}, + {"matrix":[1, 10], "flags":4, "x":130, "y":15}, + {"matrix":[1, 11], "flags":4, "x":143, "y":15}, + {"matrix":[1, 12], "flags":4, "x":156, "y":15}, + {"matrix":[1, 13], "flags":1, "x":176, "y":15}, + {"matrix":[1, 14], "flags":1, "x":198, "y":15}, + {"matrix":[1, 15], "flags":1, "x":211, "y":15}, + {"matrix":[3, 15], "flags":1, "x":224, "y":15}, + + {"matrix":[2, 0], "flags":1, "x":3, "y":27}, + {"matrix":[2, 1], "flags":4, "x":20, "y":27}, + {"matrix":[2, 2], "flags":4, "x":33, "y":27}, + {"matrix":[2, 3], "flags":4, "x":46, "y":27}, + {"matrix":[2, 4], "flags":4, "x":59, "y":27}, + {"matrix":[2, 5], "flags":4, "x":72, "y":27}, + {"matrix":[2, 6], "flags":4, "x":85, "y":27}, + {"matrix":[2, 7], "flags":4, "x":98, "y":27}, + {"matrix":[2, 8], "flags":4, "x":111, "y":27}, + {"matrix":[2, 9], "flags":4, "x":124, "y":27}, + {"matrix":[2, 10], "flags":4, "x":137, "y":27}, + {"matrix":[2, 11], "flags":4, "x":150, "y":27}, + {"matrix":[2, 12], "flags":4, "x":163, "y":27}, + {"matrix":[2, 13], "flags":4, "x":179, "y":27}, + {"matrix":[2, 14], "flags":1, "x":198, "y":27}, + {"matrix":[2, 15], "flags":1, "x":211, "y":27}, + {"matrix":[3, 12], "flags":1, "x":224, "y":27}, + + {"matrix":[3, 0], "flags":8, "x":5, "y":39}, + {"matrix":[3, 1], "flags":4, "x":23, "y":39}, + {"matrix":[3, 2], "flags":4, "x":36, "y":39}, + {"matrix":[3, 3], "flags":4, "x":49, "y":39}, + {"matrix":[3, 4], "flags":4, "x":62, "y":39}, + {"matrix":[3, 5], "flags":4, "x":75, "y":39}, + {"matrix":[3, 6], "flags":4, "x":88, "y":39}, + {"matrix":[3, 7], "flags":4, "x":101, "y":39}, + {"matrix":[3, 8], "flags":4, "x":114, "y":39}, + {"matrix":[3, 9], "flags":4, "x":127, "y":39}, + {"matrix":[3, 10], "flags":4, "x":140, "y":39}, + {"matrix":[3, 11], "flags":4, "x":153, "y":39}, + {"matrix":[3, 13], "flags":1, "x":174, "y":39}, + + {"matrix":[4, 12], "flags":8, "x":211, "y":39}, + + {"matrix":[4, 0], "flags":1, "x":8, "y":52}, + {"matrix":[4, 2], "flags":4, "x":29, "y":52}, + {"matrix":[4, 3], "flags":4, "x":42, "y":52}, + {"matrix":[4, 4], "flags":4, "x":55, "y":52}, + {"matrix":[4, 5], "flags":4, "x":68, "y":52}, + {"matrix":[4, 6], "flags":4, "x":82, "y":52}, + {"matrix":[4, 7], "flags":4, "x":95, "y":52}, + {"matrix":[4, 8], "flags":4, "x":108, "y":52}, + {"matrix":[4, 9], "flags":4, "x":121, "y":52}, + {"matrix":[4, 10], "flags":4, "x":134, "y":52}, + {"matrix":[4, 11], "flags":4, "x":147, "y":52}, + {"matrix":[4, 13], "flags":1, "x":171, "y":52}, + {"matrix":[4, 15], "flags":1, "x":211, "y":52}, + + {"matrix":[5, 0], "flags":1, "x":2, "y":64}, + {"matrix":[5, 1], "flags":1, "x":18, "y":64}, + {"matrix":[5, 2], "flags":1, "x":34, "y":64}, + {"matrix":[5, 6], "flags":4, "x":83, "y":64}, + {"matrix":[5, 10], "flags":1, "x":132, "y":64}, + {"matrix":[5, 11], "flags":1, "x":148, "y":64}, + {"matrix":[5, 12], "flags":4, "x":165, "y":64}, + {"matrix":[5, 13], "flags":1, "x":181, "y":64}, + {"matrix":[5, 14], "flags":1, "x":198, "y":64}, + {"matrix":[5, 15], "flags":1, "x":211, "y":64}, + {"matrix":[4, 14], "flags":1, "x":224, "y":64} + ] + } +} diff --git a/keyboards/keychron/c1_pro/ansi/rgb/keymaps/default/keymap.c b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/default/keymap.c new file mode 100644 index 00000000000..636e83b5275 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +// clang-format off + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_tkl_ansi( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN] = LAYOUT_tkl_ansi( + _______, 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_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_BASE] = 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_NO, RGB_MOD, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_FN] = LAYOUT_tkl_ansi( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/keychron/c1_pro/ansi/rgb/keymaps/keychron/keymap.c b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/keychron/keymap.c new file mode 100644 index 00000000000..2b5a1957cd6 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/keychron/keymap.c @@ -0,0 +1,72 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 +#include "keychron_common.h" + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_tkl_ansi( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, RGB_MOD, + 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_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN] = LAYOUT_tkl_ansi( + _______, 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_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_BASE] = 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_CRTA, RGB_MOD, + 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_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_FN] = LAYOUT_tkl_ansi( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; + +// clang-format on + +void housekeeping_task_user(void) { + housekeeping_task_keychron(); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_keychron(keycode, record)) { + return false; + } + return true; +} diff --git a/keyboards/keychron/c1_pro/ansi/rgb/keymaps/keychron/rules.mk b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/keychron/rules.mk new file mode 100644 index 00000000000..495e8907b48 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/keychron/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes + +VPATH += keyboards/keychron/common +SRC += keychron_common.c diff --git a/keyboards/keychron/c1_pro/ansi/rgb/keymaps/via/keymap.c b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/via/keymap.c new file mode 100644 index 00000000000..636e83b5275 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/via/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +// clang-format off + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_tkl_ansi( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN] = LAYOUT_tkl_ansi( + _______, 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_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_BASE] = 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_NO, RGB_MOD, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_FN] = LAYOUT_tkl_ansi( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/keychron/c1_pro/ansi/rgb/keymaps/via/rules.mk b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/rgb/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/keychron/c1_pro/ansi/rgb/rgb.c b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c new file mode 100644 index 00000000000..04565f3b014 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c @@ -0,0 +1,168 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 "quantum.h" + +// clang-format off +#ifdef RGB_MATRIX_ENABLE +const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to CKLED2001 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, I_1, G_1, H_1}, + {0, I_2, G_2, H_2}, + {0, I_3, G_3, H_3}, + {0, I_4, G_4, H_4}, + {0, I_5, G_5, H_5}, + {0, I_6, G_6, H_6}, + {0, I_7, G_7, H_7}, + {0, I_8, G_8, H_8}, + {0, I_9, G_9, H_9}, + {0, I_10, G_10, H_10}, + {0, I_11, G_11, H_11}, + {0, I_12, G_12, H_12}, + {0, I_13, G_13, H_13}, + {0, I_15, G_15, H_15}, + {0, I_16, G_16, H_16}, + {1, I_15, G_15, H_15}, + + {0, C_1, A_1, B_1}, + {0, C_2, A_2, B_2}, + {0, C_3, A_3, B_3}, + {0, C_4, A_4, B_4}, + {0, C_5, A_5, B_5}, + {0, C_6, A_6, B_6}, + {0, C_7, A_7, B_7}, + {0, C_8, A_8, B_8}, + {0, C_9, A_9, B_9}, + {0, C_10, A_10, B_10}, + {0, C_11, A_11, B_11}, + {0, C_12, A_12, B_12}, + {0, C_13, A_13, B_13}, + {0, C_14, A_14, B_14}, + {0, C_15, A_15, B_15}, + {0, C_16, A_16, B_16}, + {1, I_16, G_16, H_16}, + + {0, F_1, D_1, E_1}, + {0, F_2, D_2, E_2}, + {0, F_3, D_3, E_3}, + {0, F_4, D_4, E_4}, + {0, F_5, D_5, E_5}, + {0, F_6, D_6, E_6}, + {0, F_7, D_7, E_7}, + {0, F_8, D_8, E_8}, + {0, F_9, D_9, E_9}, + {0, F_10, D_10, E_10}, + {0, F_11, D_11, E_11}, + {0, F_12, D_12, E_12}, + {0, F_13, D_13, E_13}, + {0, F_14, D_14, E_14}, + {0, F_15, D_15, E_15}, + {0, F_16, D_16, E_16}, + {1, I_13, G_13, H_13}, + + {1, I_1, G_1, H_1}, + {1, I_2, G_2, H_2}, + {1, I_3, G_3, H_3}, + {1, I_4, G_4, H_4}, + {1, I_5, G_5, H_5}, + {1, I_6, G_6, H_6}, + {1, I_7, G_7, H_7}, + {1, I_8, G_8, H_8}, + {1, I_9, G_9, H_9}, + {1, I_10, G_10, H_10}, + {1, I_11, G_11, H_11}, + {1, I_12, G_12, H_12}, + {1, I_14, G_14, H_14}, + + {0, I_14, G_14, H_14}, // CAPS_MAC_WIN_LED_INDEX + + {1, C_1, A_1, B_1}, + {1, C_3, A_3, B_3}, + {1, C_4, A_4, B_4}, + {1, C_5, A_5, B_5}, + {1, C_6, A_6, B_6}, + {1, C_7, A_7, B_7}, + {1, C_8, A_8, B_8}, + {1, C_9, A_9, B_9}, + {1, C_10, A_10, B_10}, + {1, C_11, A_11, B_11}, + {1, C_12, A_12, B_12}, + {1, C_14, A_14, B_14}, + {1, C_16, A_16, B_16}, + + {1, F_1, D_1, E_1}, + {1, F_2, D_2, E_2}, + {1, F_3, D_3, E_3}, + {1, F_7, D_7, E_7}, + {1, F_11, D_11, E_11}, + {1, F_12, D_12, E_12}, + {1, F_13, D_13, E_13}, + {1, F_14, D_14, E_14}, + {1, F_15, D_15, E_15}, + {1, F_16, D_16, E_16}, + {1, C_15, A_15, B_15}, +}; + +// clang-format on + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } + if ((host_keyboard_led_state().caps_lock) && (default_layer_state == (1 << 0))) { + rgb_matrix_set_color(CAPS_MAC_WIN_LED_INDEX, 0, 255, 255); + } else if ((!host_keyboard_led_state().caps_lock) && (default_layer_state == (1 << 0))) { + rgb_matrix_set_color(CAPS_MAC_WIN_LED_INDEX, 0, 0, 255); + } else if ((host_keyboard_led_state().caps_lock) && (default_layer_state == (1 << 2))) { + rgb_matrix_set_color(CAPS_MAC_WIN_LED_INDEX, 255, 255, 0); + } else if ((!host_keyboard_led_state().caps_lock) && (default_layer_state == (1 << 2))) { + rgb_matrix_set_color(CAPS_MAC_WIN_LED_INDEX, 255, 0, 0); + } + return true; +} + +#endif diff --git a/keyboards/keychron/c1_pro/ansi/rgb/rules.mk b/keyboards/keychron/c1_pro/ansi/rgb/rules.mk new file mode 100644 index 00000000000..7307f9f9e79 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/rgb/rules.mk @@ -0,0 +1 @@ +# Build Options diff --git a/keyboards/keychron/c1_pro/ansi/white/config.h b/keyboards/keychron/c1_pro/ansi/white/config.h new file mode 100644 index 00000000000..dd3e1da477b --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/white/config.h @@ -0,0 +1,48 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 . + */ + +#pragma once + +/* If PH3 used with a stronger pull resistor then the following definition needs be included */ +// #define MATRIX_UNSELECT_DRIVE_HIGH + +/* LED Matrix Driver Configuration */ +#define DRIVER_COUNT 1 +#define DRIVER_ADDR_1 0b1110100 + +/* LED Matrix Configuration */ +#define LED_MATRIX_LED_COUNT 90 + +/* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */ +#define PHASE_CHANNEL MSKPHASE_9CHANNEL +/* Set led driver current */ +#define CKLED2001_CURRENT_TUNE \ + { 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 } + +/* turn off effects when suspended */ +#define LED_DISABLE_WHEN_USB_SUSPENDED + +/* Enbale caps_lcok, win os and mac os indicator */ +#define CAPS_LOCK_LED_INDEX 63 +#define MAC_LOCK_LED_INDEX 64 +#define WIN_LOCK_LED_INDEX 65 + +// LED Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_led_matrix?id=led-matrix-effects +// #if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES) +#define LED_MATRIX_KEYPRESSES +#define LED_MATRIX_KEYRELEASES diff --git a/keyboards/keychron/c1_pro/ansi/white/info.json b/keyboards/keychron/c1_pro/ansi/white/info.json new file mode 100644 index 00000000000..78c672ac893 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/white/info.json @@ -0,0 +1,226 @@ +{ + "usb": { + "pid": "0x0513", + "device_version": "1.0.0" + }, + "features": { + "led_matrix": true + }, + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix":[0, 0], "x":0, "y":0}, + {"matrix":[0, 1], "x":2, "y":0}, + {"matrix":[0, 2], "x":3, "y":0}, + {"matrix":[0, 3], "x":4, "y":0}, + {"matrix":[0, 4], "x":5, "y":0}, + {"matrix":[0, 5], "x":6.5, "y":0}, + {"matrix":[0, 6], "x":7.5, "y":0}, + {"matrix":[0, 7], "x":8.5, "y":0}, + {"matrix":[0, 8], "x":9.5, "y":0}, + {"matrix":[0, 9], "x":11, "y":0}, + {"matrix":[0,10], "x":12, "y":0}, + {"matrix":[0,11], "x":13, "y":0}, + {"matrix":[0,12], "x":14, "y":0}, + {"matrix":[0,14], "x":15.25, "y":0}, + {"matrix":[0,15], "x":16.25, "y":0}, + {"matrix":[0,13], "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":[3,12], "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":[3,14], "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,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, 6], "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":[3,15], "x":17.25, "y":5.25} + ] + } + }, + "led_matrix": { + "driver": "CKLED2001", + "animations": { + "none": true, + "solid": true, + "breathing": true, + "band_pinwheel": true, + "band_spiral": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "dual_beacon": true, + "solid_reactive_simple": true, + "solid_reactive_multiwide": true, + "solid_reactive_multinexus": true, + "solid_splash": true, + "wave_left_right": true, + "wave_up_down": true, + "effect_max": true + }, + "layout": [ + {"matrix":[0, 0], "flags":1, "x":0, "y":0}, + {"matrix":[0, 1], "flags":1, "x":26, "y":0}, + {"matrix":[0, 2], "flags":1, "x":39, "y":0}, + {"matrix":[0, 3], "flags":1, "x":52, "y":0}, + {"matrix":[0, 4], "flags":1, "x":65, "y":0}, + {"matrix":[0, 5], "flags":1, "x":85, "y":0}, + {"matrix":[0, 6], "flags":1, "x":98, "y":0}, + {"matrix":[0, 7], "flags":1, "x":111, "y":0}, + {"matrix":[0, 8], "flags":1, "x":124, "y":0}, + {"matrix":[0, 9], "flags":1, "x":143, "y":0}, + {"matrix":[0, 10], "flags":1, "x":156, "y":0}, + {"matrix":[0, 11], "flags":1, "x":169, "y":0}, + {"matrix":[0, 12], "flags":1, "x":182, "y":0}, + {"matrix":[0, 14], "flags":1, "x":198, "y":0}, + {"matrix":[0, 15], "flags":1, "x":211, "y":0}, + {"matrix":[0, 13], "flags":1, "x":224, "y":0}, + + {"matrix":[1, 0], "flags":1, "x":0, "y":15}, + {"matrix":[1, 1], "flags":4, "x":15, "y":15}, + {"matrix":[1, 2], "flags":4, "x":26, "y":15}, + {"matrix":[1, 3], "flags":4, "x":39, "y":15}, + {"matrix":[1, 4], "flags":4, "x":52, "y":15}, + {"matrix":[1, 5], "flags":4, "x":65, "y":15}, + {"matrix":[1, 6], "flags":4, "x":78, "y":15}, + {"matrix":[1, 7], "flags":4, "x":91, "y":15}, + {"matrix":[1, 8], "flags":4, "x":104, "y":15}, + {"matrix":[1, 9], "flags":4, "x":117, "y":15}, + {"matrix":[1, 10], "flags":4, "x":130, "y":15}, + {"matrix":[1, 11], "flags":4, "x":143, "y":15}, + {"matrix":[1, 12], "flags":4, "x":156, "y":15}, + {"matrix":[1, 13], "flags":1, "x":176, "y":15}, + {"matrix":[1, 14], "flags":1, "x":198, "y":15}, + {"matrix":[1, 15], "flags":1, "x":211, "y":15}, + {"matrix":[3, 12], "flags":1, "x":224, "y":15}, + + {"matrix":[2, 0], "flags":1, "x":3, "y":27}, + {"matrix":[2, 1], "flags":4, "x":20, "y":27}, + {"matrix":[2, 2], "flags":4, "x":33, "y":27}, + {"matrix":[2, 3], "flags":4, "x":46, "y":27}, + {"matrix":[2, 4], "flags":4, "x":59, "y":27}, + {"matrix":[2, 5], "flags":4, "x":72, "y":27}, + {"matrix":[2, 6], "flags":4, "x":85, "y":27}, + {"matrix":[2, 7], "flags":4, "x":98, "y":27}, + {"matrix":[2, 8], "flags":4, "x":111, "y":27}, + {"matrix":[2, 9], "flags":4, "x":124, "y":27}, + {"matrix":[2, 10], "flags":4, "x":137, "y":27}, + {"matrix":[2, 11], "flags":4, "x":150, "y":27}, + {"matrix":[2, 12], "flags":4, "x":163, "y":27}, + {"matrix":[2, 13], "flags":4, "x":179, "y":27}, + {"matrix":[2, 14], "flags":1, "x":198, "y":27}, + {"matrix":[2, 15], "flags":1, "x":211, "y":27}, + {"matrix":[3, 14], "flags":1, "x":224, "y":27}, + + {"matrix":[3, 0], "flags":8, "x":5, "y":39}, + {"matrix":[3, 1], "flags":4, "x":23, "y":39}, + {"matrix":[3, 2], "flags":4, "x":36, "y":39}, + {"matrix":[3, 3], "flags":4, "x":49, "y":39}, + {"matrix":[3, 4], "flags":4, "x":62, "y":39}, + {"matrix":[3, 5], "flags":4, "x":75, "y":39}, + {"matrix":[3, 6], "flags":4, "x":88, "y":39}, + {"matrix":[3, 7], "flags":4, "x":101, "y":39}, + {"matrix":[3, 8], "flags":4, "x":114, "y":39}, + {"matrix":[3, 9], "flags":4, "x":127, "y":39}, + {"matrix":[3, 10], "flags":4, "x":140, "y":39}, + {"matrix":[3, 11], "flags":4, "x":153, "y":39}, + {"matrix":[3, 13], "flags":1, "x":174, "y":39}, + + {"matrix":[4, 12], "flags":8, "x":198, "y":39}, + {"matrix":[4, 12], "flags":8, "x":211, "y":39}, + {"matrix":[4, 12], "flags":8, "x":224, "y":39}, + + {"matrix":[4, 0], "flags":1, "x":8, "y":52}, + {"matrix":[4, 2], "flags":4, "x":29, "y":52}, + {"matrix":[4, 3], "flags":4, "x":42, "y":52}, + {"matrix":[4, 4], "flags":4, "x":55, "y":52}, + {"matrix":[4, 5], "flags":4, "x":68, "y":52}, + {"matrix":[4, 6], "flags":4, "x":82, "y":52}, + {"matrix":[4, 7], "flags":4, "x":95, "y":52}, + {"matrix":[4, 8], "flags":4, "x":108, "y":52}, + {"matrix":[4, 9], "flags":4, "x":121, "y":52}, + {"matrix":[4, 10], "flags":4, "x":134, "y":52}, + {"matrix":[4, 11], "flags":4, "x":147, "y":52}, + {"matrix":[4, 13], "flags":1, "x":171, "y":52}, + {"matrix":[4, 15], "flags":1, "x":211, "y":52}, + + {"matrix":[5, 0], "flags":1, "x":2, "y":64}, + {"matrix":[5, 1], "flags":1, "x":18, "y":64}, + {"matrix":[5, 2], "flags":1, "x":34, "y":64}, + {"matrix":[5, 6], "flags":4, "x":83, "y":64}, + {"matrix":[5, 10], "flags":1, "x":132, "y":64}, + {"matrix":[5, 11], "flags":1, "x":148, "y":64}, + {"matrix":[5, 12], "flags":4, "x":165, "y":64}, + {"matrix":[5, 13], "flags":1, "x":181, "y":64}, + {"matrix":[5, 14], "flags":1, "x":198, "y":64}, + {"matrix":[5, 15], "flags":1, "x":211, "y":64}, + {"matrix":[3, 15], "flags":1, "x":224, "y":64} + ] + } +} diff --git a/keyboards/keychron/c1_pro/ansi/white/keymaps/default/keymap.c b/keyboards/keychron/c1_pro/ansi/white/keymaps/default/keymap.c new file mode 100644 index 00000000000..a829c118922 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/white/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +// clang-format off + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_tkl_ansi( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, BL_STEP, + 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN] = LAYOUT_tkl_ansi( + _______, 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_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_BASE] = 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, _______, BL_STEP, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_FN] = LAYOUT_tkl_ansi( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/keymap.c b/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/keymap.c new file mode 100644 index 00000000000..e17d67eb718 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/keymap.c @@ -0,0 +1,70 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 +#include "keychron_common.h" + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_tkl_ansi( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, BL_STEP, + 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_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN] = LAYOUT_tkl_ansi( + _______, 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_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_BASE] = 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_CRTA, BL_STEP, + 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_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_FN] = LAYOUT_tkl_ansi( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; + +void housekeeping_task_user(void) { + housekeeping_task_keychron(); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_keychron(keycode, record)) { + return false; + } + return true; +} diff --git a/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/rules.mk b/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/rules.mk new file mode 100644 index 00000000000..495e8907b48 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/white/keymaps/keychron/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes + +VPATH += keyboards/keychron/common +SRC += keychron_common.c diff --git a/keyboards/keychron/c1_pro/ansi/white/keymaps/via/keymap.c b/keyboards/keychron/c1_pro/ansi/white/keymaps/via/keymap.c new file mode 100644 index 00000000000..a829c118922 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/white/keymaps/via/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +// clang-format off + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_tkl_ansi( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, BL_STEP, + 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN] = LAYOUT_tkl_ansi( + _______, 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_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_BASE] = 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, _______, BL_STEP, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_FN] = LAYOUT_tkl_ansi( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/keychron/c1_pro/ansi/white/keymaps/via/rules.mk b/keyboards/keychron/c1_pro/ansi/white/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/white/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/keychron/c1_pro/ansi/white/rules.mk b/keyboards/keychron/c1_pro/ansi/white/rules.mk new file mode 100644 index 00000000000..7307f9f9e79 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/white/rules.mk @@ -0,0 +1 @@ +# Build Options diff --git a/keyboards/keychron/c1_pro/ansi/white/white.c b/keyboards/keychron/c1_pro/ansi/white/white.c new file mode 100644 index 00000000000..72e9ad4db13 --- /dev/null +++ b/keyboards/keychron/c1_pro/ansi/white/white.c @@ -0,0 +1,176 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 "quantum.h" + +// clang-format off +#ifdef LED_MATRIX_ENABLE +const ckled2001_led PROGMEM g_ckled2001_leds[LED_MATRIX_LED_COUNT] = { +/* Refer to CKLED2001 manual for these locations + * driver + * | LED address + * | | */ + {0, A_16}, // esc + {0, A_15}, // f1 + {0, A_14}, // f2 + {0, A_13}, // f3 + {0, A_12}, // f4 + {0, A_11}, // f5 + {0, A_10}, // f6 + {0, A_9}, // f7 + {0, A_8}, // f8 + {0, A_7}, // f9 + {0, A_6}, // f10 + {0, A_5}, // f11 + {0, A_4}, // f12 + {0, A_2}, // print + {0, A_1}, // siri + {0, G_1}, // light + + {0, B_16}, // ~ + {0, B_15}, // 1! + {0, B_14}, // 2@ + {0, B_13}, // 3# + {0, B_12}, // 4$ + {0, B_11}, // 5% + {0, B_10}, // 6^ + {0, B_9}, // 7& + {0, B_8}, // 8* + {0, B_7}, // 9( + {0, B_6}, // 0) + {0, B_5}, // -_ + {0, B_4}, // =+ + {0, B_3}, // back space + {0, B_2}, // INS + {0, B_1}, // HOME + {0, H_1}, // PGUP + + {0, C_16}, // tab + {0, C_15}, // q + {0, C_14}, // w + {0, C_13}, // e + {0, C_12}, // r + {0, C_11}, // t + {0, C_10}, // y + {0, C_9}, // u + {0, C_8}, // i + {0, C_7}, // o + {0, C_6}, // p + {0, C_5}, // [{ + {0, C_4}, // ]} + {0, C_3}, // \| + {0, C_2}, // DEL + {0, C_1}, // END + {0, G_6}, // PGDN + + {0, D_16}, // caps lock + {0, D_15}, // a + {0, D_14}, // s + {0, D_13}, // d + {0, D_12}, // f + {0, D_11}, // g + {0, D_10}, // h + {0, D_9}, // j + {0, D_8}, // k + {0, D_7}, // l + {0, D_6}, // ;: + {0, D_5}, // '" + {0, D_3}, // enter + + {0, H_7}, // CPAS + {0, H_8}, // MAC + {0, H_9}, // WIN + + {0, E_16}, // left shift + {0, E_14}, // z + {0, E_13}, // x + {0, E_12}, // c + {0, E_11}, // v + {0, E_10}, // b + {0, E_9}, // b + {0, E_8}, // n + {0, E_7}, // m + {0, E_6}, // ,< + {0, E_5}, // .> + {0, E_3}, // right shift + {0, E_1}, // up + + {0, F_16}, // left ctrl + {0, F_15}, // left command + {0, F_14}, // left option + {0, F_10}, // space + {0, F_6}, // right command + {0, F_5}, // right option + {0, F_4}, // right ctrl + {0, F_3}, // Fn + {0, F_2}, // left + {0, F_1}, // down + {0, G_13}, // right +}; + +// clang-format on + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case BL_TOGG: + if (record->event.pressed) { + switch (led_matrix_get_flags()) { + case LED_FLAG_ALL: { + led_matrix_set_flags(LED_FLAG_NONE); + led_matrix_set_value_all(0); + } break; + default: { + led_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!led_matrix_is_enabled()) { + led_matrix_set_flags(LED_FLAG_ALL); + led_matrix_enable(); + } + return false; + } + return true; +} + +bool led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!led_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } + if ((host_keyboard_led_state().caps_lock) && (default_layer_state == (1 << 0))) { + led_matrix_set_value(CAPS_LOCK_LED_INDEX, 255); + led_matrix_set_value(MAC_LOCK_LED_INDEX, 255); + led_matrix_set_value(WIN_LOCK_LED_INDEX, 0); + } else if ((!host_keyboard_led_state().caps_lock) && (default_layer_state == (1 << 0))) { + led_matrix_set_value(CAPS_LOCK_LED_INDEX, 0); + led_matrix_set_value(MAC_LOCK_LED_INDEX, 255); + led_matrix_set_value(WIN_LOCK_LED_INDEX, 0); + } else if ((host_keyboard_led_state().caps_lock) && (default_layer_state == (1 << 2))) { + led_matrix_set_value(CAPS_LOCK_LED_INDEX, 255); + led_matrix_set_value(MAC_LOCK_LED_INDEX, 0); + led_matrix_set_value(WIN_LOCK_LED_INDEX, 255); + } else if ((!host_keyboard_led_state().caps_lock) && (default_layer_state == (1 << 2))) { + led_matrix_set_value(CAPS_LOCK_LED_INDEX, 0); + led_matrix_set_value(MAC_LOCK_LED_INDEX, 0); + led_matrix_set_value(WIN_LOCK_LED_INDEX, 255); + } + return true; +} + +#endif diff --git a/keyboards/ash_xiix/ash_xiix.c b/keyboards/keychron/c1_pro/c1_pro.c similarity index 56% rename from keyboards/ash_xiix/ash_xiix.c rename to keyboards/keychron/c1_pro/c1_pro.c index 64be362f93a..607cd958ade 100644 --- a/keyboards/ash_xiix/ash_xiix.c +++ b/keyboards/keychron/c1_pro/c1_pro.c @@ -1,4 +1,4 @@ -/* Copyright 2020 sh_xguitar +/* Copyright 2023 @ Keychron (https://www.keychron.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 @@ -13,13 +13,32 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #include "quantum.h" -bool led_update_kb(led_t led_state) { - if (led_update_user(led_state)) { - writePin(NUM_LOCK_LED_PIN, led_state.num_lock); - writePin(CAPS_LOCK_LED_PIN, led_state.caps_lock); - writePin(SCROLL_LOCK_LED_PIN, led_state.scroll_lock); +// clang-format off + +const matrix_row_t matrix_mask[] = { + 0b1111111111111111, + 0b1111111111111111, + 0b1111111111111111, + 0b1111111111111111, + 0b1111111111111111, + 0b1111111111101111, +}; + +// clang-format on + +#ifdef DIP_SWITCH_ENABLE + +bool dip_switch_update_kb(uint8_t index, bool active) { + if (!dip_switch_update_user(index, active)) { + return false; + } + if (index == 0) { + default_layer_set(1UL << (active ? 2 : 0)); } return true; } + +#endif // DIP_SWITCH_ENABLE diff --git a/keyboards/keychron/c1_pro/config.h b/keyboards/keychron/c1_pro/config.h new file mode 100644 index 00000000000..2d814904712 --- /dev/null +++ b/keyboards/keychron/c1_pro/config.h @@ -0,0 +1,37 @@ +/* Copyright 2023 @ Keychron(https://www.keychron.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 . + */ + +#pragma once + +/* DIP switch */ +#define DIP_SWITCH_MATRIX_GRID { { 5, 4 } } + +/* Disable DIP switch in matrix data */ +#define MATRIX_MASKED + +/* EEPROM Driver Configuration */ +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) + +/* Increase I2C speed to 1000 KHz */ +#define I2C1_TIMINGR_PRESC 0U +#define I2C1_TIMINGR_SCLDEL 3U +#define I2C1_TIMINGR_SDADEL 0U +#define I2C1_TIMINGR_SCLH 15U +#define I2C1_TIMINGR_SCLL 51U + +/* Old default behavior of mod-taps */ +#define HOLD_ON_OTHER_KEY_PRESS diff --git a/keyboards/mk65/config.h b/keyboards/keychron/c1_pro/halconf.h similarity index 90% rename from keyboards/mk65/config.h rename to keyboards/keychron/c1_pro/halconf.h index 7fa60c79f83..41bddcb2799 100644 --- a/keyboards/mk65/config.h +++ b/keyboards/keychron/c1_pro/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2022 DeskDaily +/* Copyright 2020 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 @@ -16,4 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 10 \ No newline at end of file +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/keychron/c1_pro/info.json b/keyboards/keychron/c1_pro/info.json new file mode 100644 index 00000000000..9c9b4bf16f8 --- /dev/null +++ b/keyboards/keychron/c1_pro/info.json @@ -0,0 +1,26 @@ +{ + "keyboard_name": "Keychron C1 Pro", + "manufacturer": "Keychron", + "url": "https://github.com/Keychron", + "maintainer": "lalalademaxiya1", + "processor": "STM32L432", + "bootloader": "stm32-dfu", + "usb": { + "vid": "0x3434" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "dip_switch": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "H3"], + "rows": ["B5", "B4", "B3", "A15", "A14", "A13"] + }, + "diode_direction": "ROW2COL", + "community_layouts": ["tkl_ansi"] +} diff --git a/keyboards/nightly_boards/adellein/adellein.h b/keyboards/keychron/c1_pro/mcuconf.h similarity index 86% rename from keyboards/nightly_boards/adellein/adellein.h rename to keyboards/keychron/c1_pro/mcuconf.h index 33cf8e0b689..0ca8c64850f 100644 --- a/keyboards/nightly_boards/adellein/adellein.h +++ b/keyboards/keychron/c1_pro/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2020 Neil Brian Ramirez +/* Copyright 2020 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 @@ -16,5 +16,7 @@ #pragma once -#include "quantum.h" -#include "encoder_action.h" +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/keychron/c1_pro/readme.md b/keyboards/keychron/c1_pro/readme.md new file mode 100644 index 00000000000..7e9d0e90587 --- /dev/null +++ b/keyboards/keychron/c1_pro/readme.md @@ -0,0 +1,23 @@ +# Keychron C1 Pro + +![Keychron C1 Pro](https://i.imgur.com/Svdm4lph.jpg) + +A customizable 80% TKL keyboard. + +* Keyboard Maintainer: [Keychron](https://github.com/keychron) +* Hardware Supported: Keychron C1 Pro +* Hardware Availability: [Keychron](https://www.keychron.com) + +Make example for this keyboard (after setting up your build environment): + + make keychron/c1/ansi/rgb:default + make keychron/c1/ansi/white:default + +Flashing example for this keyboard: + + make keychron/c1/ansi/rgb:default:flash + make keychron/c1/ansi/white:default:flash + +**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. + +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/keychron/c2_pro/ansi/rgb/config.h b/keyboards/keychron/c2_pro/ansi/rgb/config.h new file mode 100644 index 00000000000..d62b756f5a8 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/rgb/config.h @@ -0,0 +1,46 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 . + */ + +#pragma once + +/* RGB Matrix Driver Configuration */ +#define DRIVER_COUNT 2 +#define DRIVER_ADDR_1 0b1110111 +#define DRIVER_ADDR_2 0b1110100 + +/* Set LED driver current */ +#define CKLED2001_CURRENT_TUNE \ + { 0xAA, 0xAA, 0x56, 0xAA, 0xAA, 0x56, 0xAA, 0xAA, 0x56, 0xAA, 0xAA, 0x56 } + +/* RGB Matrix Configuration */ +#define DRIVER_1_LED_TOTAL 60 +#define DRIVER_2_LED_TOTAL 48 +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) + +/* Enable indicator LED*/ +#define NUM_LED_INDEX 16 +#define CAPS_LED_INDEX 17 +#define MAC_LED_INDEX 18 +#define WIN_LED_INDEX 19 + +/* turn off effects when suspended */ +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keychron/c2_pro/ansi/rgb/info.json b/keyboards/keychron/c2_pro/ansi/rgb/info.json new file mode 100644 index 00000000000..eab0e9bdc4d --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/rgb/info.json @@ -0,0 +1,266 @@ +{ + "usb": { + "pid": "0x0520", + "device_version": "1.0.0" + }, + "features": { + "rgb_matrix": true + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix":[0, 0], "x":0, "y":0}, + {"matrix":[0, 1], "x":2, "y":0}, + {"matrix":[0, 2], "x":3, "y":0}, + {"matrix":[0, 3], "x":4, "y":0}, + {"matrix":[0, 4], "x":5, "y":0}, + {"matrix":[0, 5], "x":6.5, "y":0}, + {"matrix":[0, 6], "x":7.5, "y":0}, + {"matrix":[0, 7], "x":8.5, "y":0}, + {"matrix":[0, 8], "x":9.5, "y":0}, + {"matrix":[0, 9], "x":11, "y":0}, + {"matrix":[0,10], "x":12, "y":0}, + {"matrix":[0,11], "x":13, "y":0}, + {"matrix":[0,12], "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":[1,17], "x":18.5, "y":1.25}, + {"matrix":[1,18], "x":19.5, "y":1.25}, + {"matrix":[0,17], "x":20.5, "y":1.25}, + {"matrix":[0,18], "x":21.5, "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":[2,17], "x":18.5, "y":2.25}, + {"matrix":[2,18], "x":19.5, "y":2.25}, + {"matrix":[3,14], "x":20.5, "y":2.25}, + {"matrix":[3,15], "x":21.5, "y":2.25, "h":2}, + + {"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":[3,17], "x":18.5, "y":3.25}, + {"matrix":[3,18], "x":19.5, "y":3.25}, + {"matrix":[3,16], "x":20.5, "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,13], "x":12.25, "y":4.25, "w":2.75}, + {"matrix":[4,15], "x":16.25, "y":4.25}, + {"matrix":[4,17], "x":18.5, "y":4.25}, + {"matrix":[4,18], "x":19.5, "y":4.25}, + {"matrix":[4,14], "x":20.5, "y":4.25}, + {"matrix":[4,16], "x":21.5, "y":4.25, "h":2}, + + {"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, 6], "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}, + {"matrix":[5,17], "x":18.5, "y":5.25, "w":2}, + {"matrix":[5,18], "x":20.5, "y":5.25} + ] + } + }, + "rgb_matrix": { + "driver": "CKLED2001", + "animations": { + "breathing": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "jellybean_raindrops": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive_multiwide": true, + "solid_reactive_multinexus": true, + "splash": true, + "solid_splash": true + }, + "layout": [ + {"matrix":[0, 0], "flags":1, "x":0, "y":0}, + {"matrix":[0, 1], "flags":1, "x":21, "y":0}, + {"matrix":[0, 2], "flags":1, "x":31, "y":0}, + {"matrix":[0, 3], "flags":1, "x":42, "y":0}, + {"matrix":[0, 4], "flags":1, "x":52, "y":0}, + {"matrix":[0, 5], "flags":1, "x":68, "y":0}, + {"matrix":[0, 6], "flags":1, "x":78, "y":0}, + {"matrix":[0, 7], "flags":1, "x":89, "y":0}, + {"matrix":[0, 8], "flags":1, "x":99, "y":0}, + {"matrix":[0, 9], "flags":1, "x":115, "y":0}, + {"matrix":[0, 10], "flags":1, "x":125, "y":0}, + {"matrix":[0, 11], "flags":1, "x":136, "y":0}, + {"matrix":[0, 12], "flags":1, "x":146, "y":0}, + {"matrix":[0, 14], "flags":1, "x":159, "y":0}, + {"matrix":[0, 15], "flags":1, "x":169, "y":0}, + {"matrix":[0, 16], "flags":1, "x":180, "y":0}, + + {"matrix":[0, 13], "flags":8, "x":193, "y":0}, + {"matrix":[0, 13], "flags":8, "x":203, "y":0}, + {"matrix":[0, 13], "flags":8, "x":214, "y":0}, + {"matrix":[0, 13], "flags":8, "x":224, "y":0}, + + {"matrix":[1, 0], "flags":4, "x":0, "y":15}, + {"matrix":[1, 1], "flags":4, "x":10, "y":15}, + {"matrix":[1, 2], "flags":4, "x":21, "y":15}, + {"matrix":[1, 3], "flags":4, "x":31, "y":15}, + {"matrix":[1, 4], "flags":4, "x":42, "y":15}, + {"matrix":[1, 5], "flags":4, "x":52, "y":15}, + {"matrix":[1, 6], "flags":4, "x":63, "y":15}, + {"matrix":[1, 7], "flags":4, "x":73, "y":15}, + {"matrix":[1, 8], "flags":4, "x":83, "y":15}, + {"matrix":[1, 9], "flags":4, "x":94, "y":15}, + {"matrix":[1, 10], "flags":4, "x":104, "y":15}, + {"matrix":[1, 11], "flags":4, "x":115, "y":15}, + {"matrix":[1, 12], "flags":4, "x":125, "y":15}, + {"matrix":[1, 13], "flags":1, "x":141, "y":15}, + {"matrix":[1, 14], "flags":1, "x":159, "y":15}, + {"matrix":[1, 15], "flags":1, "x":169, "y":15}, + {"matrix":[1, 16], "flags":1, "x":180, "y":15}, + {"matrix":[1, 17], "flags":8, "x":193, "y":15}, + {"matrix":[1, 18], "flags":4, "x":203, "y":15}, + {"matrix":[0, 17], "flags":4, "x":214, "y":15}, + {"matrix":[0, 18], "flags":4, "x":224, "y":15}, + + {"matrix":[2, 0], "flags":1, "x":3, "y":27}, + {"matrix":[2, 1], "flags":4, "x":16, "y":27}, + {"matrix":[2, 2], "flags":4, "x":26, "y":27}, + {"matrix":[2, 3], "flags":4, "x":36, "y":27}, + {"matrix":[2, 4], "flags":4, "x":47, "y":27}, + {"matrix":[2, 5], "flags":4, "x":57, "y":27}, + {"matrix":[2, 6], "flags":4, "x":68, "y":27}, + {"matrix":[2, 7], "flags":4, "x":78, "y":27}, + {"matrix":[2, 8], "flags":4, "x":89, "y":27}, + {"matrix":[2, 9], "flags":4, "x":99, "y":27}, + {"matrix":[2, 10], "flags":4, "x":109, "y":27}, + {"matrix":[2, 11], "flags":4, "x":120, "y":27}, + {"matrix":[2, 12], "flags":4, "x":130, "y":27}, + {"matrix":[2, 13], "flags":4, "x":143, "y":27}, + {"matrix":[2, 14], "flags":1, "x":159, "y":27}, + {"matrix":[2, 15], "flags":1, "x":169, "y":27}, + {"matrix":[2, 16], "flags":1, "x":180, "y":27}, + {"matrix":[2, 17], "flags":4, "x":193, "y":27}, + {"matrix":[2, 18], "flags":4, "x":203, "y":27}, + {"matrix":[3, 14], "flags":4, "x":214, "y":27}, + {"matrix":[3, 15], "flags":4, "x":224, "y":27}, + + {"matrix":[3, 0], "flags":8, "x":4, "y":40}, + {"matrix":[3, 1], "flags":4, "x":18, "y":40}, + {"matrix":[3, 2], "flags":4, "x":29, "y":40}, + {"matrix":[3, 3], "flags":4, "x":39, "y":40}, + {"matrix":[3, 4], "flags":4, "x":50, "y":40}, + {"matrix":[3, 5], "flags":4, "x":60, "y":40}, + {"matrix":[3, 6], "flags":4, "x":70, "y":40}, + {"matrix":[3, 7], "flags":4, "x":81, "y":40}, + {"matrix":[3, 8], "flags":4, "x":91, "y":40}, + {"matrix":[3, 9], "flags":4, "x":102, "y":40}, + {"matrix":[3, 10], "flags":4, "x":112, "y":40}, + {"matrix":[3, 11], "flags":4, "x":123, "y":40}, + {"matrix":[3, 13], "flags":4, "x":139, "y":40}, + {"matrix":[3, 17], "flags":4, "x":193, "y":40}, + {"matrix":[3, 18], "flags":4, "x":203, "y":40}, + {"matrix":[3, 16], "flags":4, "x":214, "y":40}, + + {"matrix":[4, 0], "flags":1, "x":7, "y":52}, + {"matrix":[4, 2], "flags":4, "x":23, "y":52}, + {"matrix":[4, 3], "flags":4, "x":34, "y":52}, + {"matrix":[4, 4], "flags":4, "x":44, "y":52}, + {"matrix":[4, 5], "flags":4, "x":55, "y":52}, + {"matrix":[4, 6], "flags":4, "x":65, "y":52}, + {"matrix":[4, 7], "flags":4, "x":76, "y":52}, + {"matrix":[4, 8], "flags":4, "x":86, "y":52}, + {"matrix":[4, 9], "flags":4, "x":96, "y":52}, + {"matrix":[4, 10], "flags":4, "x":107, "y":52}, + {"matrix":[4, 11], "flags":4, "x":117, "y":52}, + {"matrix":[4, 13], "flags":1, "x":137, "y":52}, + {"matrix":[4, 15], "flags":1, "x":169, "y":52}, + {"matrix":[4, 17], "flags":4, "x":193, "y":52}, + {"matrix":[4, 18], "flags":4, "x":203, "y":52}, + {"matrix":[4, 14], "flags":4, "x":214, "y":52}, + {"matrix":[4, 16], "flags":4, "x":224, "y":52}, + + {"matrix":[5, 0], "flags":1, "x":1, "y":64}, + {"matrix":[5, 1], "flags":1, "x":14, "y":64}, + {"matrix":[5, 2], "flags":1, "x":27, "y":64}, + {"matrix":[5, 6], "flags":4, "x":66, "y":64}, + {"matrix":[5, 10], "flags":1, "x":105, "y":64}, + {"matrix":[5, 11], "flags":1, "x":118, "y":64}, + {"matrix":[5, 12], "flags":4, "x":131, "y":64}, + {"matrix":[5, 13], "flags":1, "x":145, "y":64}, + {"matrix":[5, 14], "flags":1, "x":159, "y":64}, + {"matrix":[5, 15], "flags":1, "x":169, "y":64}, + {"matrix":[5, 16], "flags":1, "x":180, "y":64}, + {"matrix":[5, 17], "flags":4, "x":198, "y":64}, + {"matrix":[5, 18], "flags":4, "x":214, "y":64} + ] + } +} diff --git a/keyboards/keychron/c2_pro/ansi/rgb/keymaps/default/keymap.c b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/default/keymap.c new file mode 100644 index 00000000000..07f523e30a0 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +// clang-format off + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [MAC_FN] = 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_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), + + [WIN_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_NO, RGB_MOD, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [WIN_FN] = LAYOUT( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), +}; diff --git a/keyboards/keychron/c2_pro/ansi/rgb/keymaps/keychron/keymap.c b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/keychron/keymap.c new file mode 100644 index 00000000000..9bc6b416bb3 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/keychron/keymap.c @@ -0,0 +1,74 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 +#include "keychron_common.h" + +// clang-format off + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, RGB_MOD, + 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_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [MAC_FN] = 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_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), + + [WIN_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_CRTA, RGB_MOD, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [WIN_FN] = LAYOUT( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), +}; + +// clang-format on + +void housekeeping_task_user(void) { + housekeeping_task_keychron(); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_keychron(keycode, record)) { + return false; + } + return true; +} diff --git a/keyboards/keychron/c2_pro/ansi/rgb/keymaps/keychron/rules.mk b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/keychron/rules.mk new file mode 100644 index 00000000000..495e8907b48 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/keychron/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes + +VPATH += keyboards/keychron/common +SRC += keychron_common.c diff --git a/keyboards/keychron/c2_pro/ansi/rgb/keymaps/via/keymap.c b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/via/keymap.c new file mode 100644 index 00000000000..5120e9bacbf --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/via/keymap.c @@ -0,0 +1,61 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, RGB_MOD, + 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [MAC_FN] = 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_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), + + [WIN_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_NO, RGB_MOD, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [WIN_FN] = LAYOUT( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), +}; diff --git a/keyboards/keychron/c2_pro/ansi/rgb/keymaps/via/rules.mk b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/rgb/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/keychron/c2_pro/ansi/rgb/rgb.c b/keyboards/keychron/c2_pro/ansi/rgb/rgb.c new file mode 100644 index 00000000000..998933081f1 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/rgb/rgb.c @@ -0,0 +1,142 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to CKLED2001 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, I_1, G_1, H_1}, + {0, I_2, G_2, H_2}, + {0, I_3, G_3, H_3}, + {0, I_4, G_4, H_4}, + {0, I_5, G_5, H_5}, + {0, I_6, G_6, H_6}, + {0, I_7, G_7, H_7}, + {0, I_8, G_8, H_8}, + {0, I_9, G_9, H_9}, + {0, I_10, G_10, H_10}, + {0, I_11, G_11, H_11}, + {0, I_12, G_12, H_12}, + {0, I_13, G_13, H_13}, + {0, I_15, G_15, H_15}, + {0, I_16, G_16, H_16}, + {0, L_5, J_5, K_5}, + + {0, L_6, J_6, K_6}, // CapsLock + {0, L_7, J_7, K_7}, // NumLock + {0, L_8, J_8, K_8}, // Mac + {0, L_4, J_4, K_4}, // Win + + {0, C_1, A_1, B_1}, + {0, C_2, A_2, B_2}, + {0, C_3, A_3, B_3}, + {0, C_4, A_4, B_4}, + {0, C_5, A_5, B_5}, + {0, C_6, A_6, B_6}, + {0, C_7, A_7, B_7}, + {0, C_8, A_8, B_8}, + {0, C_9, A_9, B_9}, + {0, C_10, A_10, B_10}, + {0, C_11, A_11, B_11}, + {0, C_12, A_12, B_12}, + {0, C_13, A_13, B_13}, + {0, C_14, A_14, B_14}, + {0, C_15, A_15, B_15}, + {0, C_16, A_16, B_16}, + {0, L_9, J_9, K_9}, + {0, L_10, J_10, K_10}, + {0, L_11, J_11, K_11}, + {0, L_12, J_12, K_12}, + {0, L_13, J_13, K_13}, + + {0, F_1, D_1, E_1}, + {0, F_2, D_2, E_2}, + {0, F_3, D_3, E_3}, + {0, F_4, D_4, E_4}, + {0, F_5, D_5, E_5}, + {0, F_6, D_6, E_6}, + {0, F_7, D_7, E_7}, + {0, F_8, D_8, E_8}, + {0, F_9, D_9, E_9}, + {0, F_10, D_10, E_10}, + {0, F_11, D_11, E_11}, + {0, F_12, D_12, E_12}, + {0, F_13, D_13, E_13}, + {0, F_14, D_14, E_14}, + {0, F_15, D_15, E_15}, + {0, F_16, D_16, E_16}, + {0, L_14, J_14, K_14}, + {0, L_15, J_15, K_15}, + {0, L_16, J_16, K_16}, + {1, L_1, J_1, K_1}, + {1, L_2, J_2, K_2}, + + {1, C_16, A_16, B_16}, + {1, C_15, A_15, B_15}, + {1, C_14, A_14, B_14}, + {1, C_13, A_13, B_13}, + {1, C_12, A_12, B_12}, + {1, C_11, A_11, B_11}, + {1, C_10, A_10, B_10}, + {1, C_9, A_9, B_9}, + {1, C_8, A_8, B_8}, + {1, C_7, A_7, B_7}, + {1, C_6, A_6, B_6}, + {1, C_5, A_5, B_5}, + {1, C_3, A_3, B_3}, + {1, L_3, J_3, K_3}, + {1, L_4, J_4, K_4}, + {1, L_5, J_5, K_5}, + + {1, I_16, G_16, H_16}, + {1, I_14, G_14, H_14}, + {1, I_13, G_13, H_13}, + {1, I_12, G_12, H_12}, + {1, I_11, G_11, H_11}, + {1, I_10, G_10, H_10}, + {1, I_9, G_9, H_9}, + {1, I_8, G_8, H_8}, + {1, I_7, G_7, H_7}, + {1, I_6, G_6, H_6}, + {1, I_5, G_5, H_5}, + {1, I_3, G_3, H_3}, + {1, I_1, G_1, H_1}, + {1, L_6, J_6, K_6}, + {1, L_7, J_7, K_7}, + {1, L_8, J_8, K_8}, + {1, L_9, J_9, K_9}, + + {1, F_16, D_16, E_16}, + {1, F_15, D_15, E_15}, + {1, F_14, D_14, E_14}, + {1, F_10, D_10, E_10}, + {1, F_6, D_6, E_6}, + {1, F_5, D_5, E_5}, + {1, F_4, D_4, E_4}, + {1, F_3, D_3, E_3}, + {1, F_2, D_2, E_2}, + {1, F_1, D_1, E_1}, + {1, L_10, J_10, K_10}, + {1, L_11, J_11, K_11}, + {1, L_12, J_12, K_12}, +}; +#endif //RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/c2_pro/ansi/rgb/rules.mk b/keyboards/keychron/c2_pro/ansi/rgb/rules.mk new file mode 100644 index 00000000000..dab15510492 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/rgb/rules.mk @@ -0,0 +1,2 @@ +# Build Options +SRC += matrix.c diff --git a/keyboards/keychron/c2_pro/ansi/white/config.h b/keyboards/keychron/c2_pro/ansi/white/config.h new file mode 100644 index 00000000000..d2a0e27b579 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/white/config.h @@ -0,0 +1,44 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 . + */ + +#pragma once + +/* LED Matrix Driver Configuration */ +#define DRIVER_COUNT 1 +#define DRIVER_ADDR_1 0b1110100 + +/* Set LED driver current */ +#define CKLED2001_CURRENT_TUNE \ + { 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0 } + +/* LED Matrix Configuration */ +#define LED_MATRIX_LED_COUNT 108 + +/* Enable indicator LED*/ +#define NUM_LED_INDEX 16 +#define CAPS_LED_INDEX 17 +#define MAC_LED_INDEX 18 +#define WIN_LED_INDEX 19 + +/* turn off effects when suspended */ +#define LED_DISABLE_WHEN_USB_SUSPENDED + +// LED Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_led_matrix?id=led-matrix-effects +// #if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES) +#define LED_MATRIX_KEYPRESSES +#define LED_MATRIX_KEYRELEASES diff --git a/keyboards/keychron/c2_pro/ansi/white/info.json b/keyboards/keychron/c2_pro/ansi/white/info.json new file mode 100644 index 00000000000..3248e7c38a9 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/white/info.json @@ -0,0 +1,261 @@ +{ + "usb": { + "pid": "0x0523", + "device_version": "1.0.0" + }, + "features": { + "led_matrix": true + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix":[0, 0], "x":0, "y":0}, + {"matrix":[0, 1], "x":2, "y":0}, + {"matrix":[0, 2], "x":3, "y":0}, + {"matrix":[0, 3], "x":4, "y":0}, + {"matrix":[0, 4], "x":5, "y":0}, + {"matrix":[0, 5], "x":6.5, "y":0}, + {"matrix":[0, 6], "x":7.5, "y":0}, + {"matrix":[0, 7], "x":8.5, "y":0}, + {"matrix":[0, 8], "x":9.5, "y":0}, + {"matrix":[0, 9], "x":11, "y":0}, + {"matrix":[0,10], "x":12, "y":0}, + {"matrix":[0,11], "x":13, "y":0}, + {"matrix":[0,12], "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":[1,17], "x":18.5, "y":1.25}, + {"matrix":[1,18], "x":19.5, "y":1.25}, + {"matrix":[1,19], "x":20.5, "y":1.25}, + {"matrix":[0,17], "x":21.5, "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":[2,17], "x":18.5, "y":2.25}, + {"matrix":[2,18], "x":19.5, "y":2.25}, + {"matrix":[2,19], "x":20.5, "y":2.25}, + {"matrix":[0,18], "x":21.5, "y":2.25, "h":2}, + + {"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":[3,17], "x":18.5, "y":3.25}, + {"matrix":[3,18], "x":19.5, "y":3.25}, + {"matrix":[3,19], "x":20.5, "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,13], "x":12.25, "y":4.25, "w":2.75}, + {"matrix":[4,15], "x":16.25, "y":4.25}, + {"matrix":[4,17], "x":18.5, "y":4.25}, + {"matrix":[4,18], "x":19.5, "y":4.25}, + {"matrix":[4,19], "x":20.5, "y":4.25}, + {"matrix":[0,19], "x":21.5, "y":4.25, "h":2}, + + {"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, 6], "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}, + {"matrix":[5,17], "x":18.5, "y":5.25, "w":2}, + {"matrix":[5,19], "x":20.5, "y":5.25} + ] + } + }, + "led_matrix": { + "driver": "CKLED2001", + "animations": { + "none": true, + "solid": true, + "breathing": true, + "band_pinwheel": true, + "band_spiral": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "dual_beacon": true, + "solid_reactive_simple": true, + "solid_reactive_multiwide": true, + "solid_reactive_multinexus": true, + "solid_splash": true, + "wave_left_right": true, + "wave_up_down": true, + "effect_max": true + }, + "layout": [ + {"matrix":[0, 0], "flags":1, "x":0, "y":0}, + {"matrix":[0, 1], "flags":1, "x":21, "y":0}, + {"matrix":[0, 2], "flags":1, "x":31, "y":0}, + {"matrix":[0, 3], "flags":1, "x":42, "y":0}, + {"matrix":[0, 4], "flags":1, "x":52, "y":0}, + {"matrix":[0, 5], "flags":1, "x":68, "y":0}, + {"matrix":[0, 6], "flags":1, "x":78, "y":0}, + {"matrix":[0, 7], "flags":1, "x":89, "y":0}, + {"matrix":[0, 8], "flags":1, "x":99, "y":0}, + {"matrix":[0, 9], "flags":1, "x":115, "y":0}, + {"matrix":[0, 10], "flags":1, "x":125, "y":0}, + {"matrix":[0, 11], "flags":1, "x":136, "y":0}, + {"matrix":[0, 12], "flags":1, "x":146, "y":0}, + {"matrix":[0, 14], "flags":1, "x":159, "y":0}, + {"matrix":[0, 15], "flags":1, "x":169, "y":0}, + {"matrix":[0, 16], "flags":1, "x":180, "y":0}, + + {"matrix":[0, 13], "flags":8, "x":193, "y":0}, + {"matrix":[0, 13], "flags":8, "x":203, "y":0}, + {"matrix":[0, 13], "flags":8, "x":214, "y":0}, + {"matrix":[0, 13], "flags":8, "x":224, "y":0}, + + {"matrix":[1, 0], "flags":4, "x":0, "y":15}, + {"matrix":[1, 1], "flags":4, "x":10, "y":15}, + {"matrix":[1, 2], "flags":4, "x":21, "y":15}, + {"matrix":[1, 3], "flags":4, "x":31, "y":15}, + {"matrix":[1, 4], "flags":4, "x":42, "y":15}, + {"matrix":[1, 5], "flags":4, "x":52, "y":15}, + {"matrix":[1, 6], "flags":4, "x":63, "y":15}, + {"matrix":[1, 7], "flags":4, "x":73, "y":15}, + {"matrix":[1, 8], "flags":4, "x":83, "y":15}, + {"matrix":[1, 9], "flags":4, "x":94, "y":15}, + {"matrix":[1, 10], "flags":4, "x":104, "y":15}, + {"matrix":[1, 11], "flags":4, "x":115, "y":15}, + {"matrix":[1, 12], "flags":4, "x":125, "y":15}, + {"matrix":[1, 13], "flags":1, "x":141, "y":15}, + {"matrix":[1, 14], "flags":1, "x":159, "y":15}, + {"matrix":[1, 15], "flags":1, "x":169, "y":15}, + {"matrix":[1, 16], "flags":1, "x":180, "y":15}, + {"matrix":[1, 17], "flags":8, "x":193, "y":15}, + {"matrix":[1, 18], "flags":4, "x":203, "y":15}, + {"matrix":[1, 19], "flags":4, "x":214, "y":15}, + {"matrix":[0, 17], "flags":4, "x":224, "y":15}, + + {"matrix":[2, 0], "flags":1, "x":3, "y":27}, + {"matrix":[2, 1], "flags":4, "x":16, "y":27}, + {"matrix":[2, 2], "flags":4, "x":26, "y":27}, + {"matrix":[2, 3], "flags":4, "x":36, "y":27}, + {"matrix":[2, 4], "flags":4, "x":47, "y":27}, + {"matrix":[2, 5], "flags":4, "x":57, "y":27}, + {"matrix":[2, 6], "flags":4, "x":68, "y":27}, + {"matrix":[2, 7], "flags":4, "x":78, "y":27}, + {"matrix":[2, 8], "flags":4, "x":89, "y":27}, + {"matrix":[2, 9], "flags":4, "x":99, "y":27}, + {"matrix":[2, 10], "flags":4, "x":109, "y":27}, + {"matrix":[2, 11], "flags":4, "x":120, "y":27}, + {"matrix":[2, 12], "flags":4, "x":130, "y":27}, + {"matrix":[2, 13], "flags":4, "x":143, "y":27}, + {"matrix":[2, 14], "flags":1, "x":159, "y":27}, + {"matrix":[2, 15], "flags":1, "x":169, "y":27}, + {"matrix":[2, 16], "flags":1, "x":180, "y":27}, + {"matrix":[2, 17], "flags":4, "x":193, "y":27}, + {"matrix":[2, 18], "flags":4, "x":203, "y":27}, + {"matrix":[2, 19], "flags":4, "x":214, "y":27}, + {"matrix":[0, 18], "flags":4, "x":224, "y":27}, + + {"matrix":[3, 0], "flags":8, "x":4, "y":40}, + {"matrix":[3, 1], "flags":4, "x":18, "y":40}, + {"matrix":[3, 2], "flags":4, "x":29, "y":40}, + {"matrix":[3, 3], "flags":4, "x":39, "y":40}, + {"matrix":[3, 4], "flags":4, "x":50, "y":40}, + {"matrix":[3, 5], "flags":4, "x":60, "y":40}, + {"matrix":[3, 6], "flags":4, "x":70, "y":40}, + {"matrix":[3, 7], "flags":4, "x":81, "y":40}, + {"matrix":[3, 8], "flags":4, "x":91, "y":40}, + {"matrix":[3, 9], "flags":4, "x":102, "y":40}, + {"matrix":[3, 10], "flags":4, "x":112, "y":40}, + {"matrix":[3, 11], "flags":4, "x":123, "y":40}, + {"matrix":[3, 13], "flags":4, "x":139, "y":40}, + {"matrix":[3, 17], "flags":4, "x":193, "y":40}, + {"matrix":[3, 18], "flags":4, "x":203, "y":40}, + {"matrix":[3, 19], "flags":4, "x":214, "y":40}, + + {"matrix":[4, 0], "flags":1, "x":7, "y":52}, + {"matrix":[4, 2], "flags":4, "x":23, "y":52}, + {"matrix":[4, 3], "flags":4, "x":34, "y":52}, + {"matrix":[4, 4], "flags":4, "x":44, "y":52}, + {"matrix":[4, 5], "flags":4, "x":55, "y":52}, + {"matrix":[4, 6], "flags":4, "x":65, "y":52}, + {"matrix":[4, 7], "flags":4, "x":76, "y":52}, + {"matrix":[4, 8], "flags":4, "x":86, "y":52}, + {"matrix":[4, 9], "flags":4, "x":96, "y":52}, + {"matrix":[4, 10], "flags":4, "x":107, "y":52}, + {"matrix":[4, 11], "flags":4, "x":117, "y":52}, + {"matrix":[4, 13], "flags":1, "x":137, "y":52}, + {"matrix":[4, 15], "flags":1, "x":169, "y":52}, + {"matrix":[4, 17], "flags":4, "x":193, "y":52}, + {"matrix":[4, 18], "flags":4, "x":203, "y":52}, + {"matrix":[4, 19], "flags":4, "x":214, "y":52}, + {"matrix":[0, 19], "flags":4, "x":224, "y":52}, + + {"matrix":[5, 0], "flags":1, "x":1, "y":64}, + {"matrix":[5, 1], "flags":1, "x":14, "y":64}, + {"matrix":[5, 2], "flags":1, "x":27, "y":64}, + {"matrix":[5, 6], "flags":4, "x":66, "y":64}, + {"matrix":[5, 10], "flags":1, "x":105, "y":64}, + {"matrix":[5, 11], "flags":1, "x":118, "y":64}, + {"matrix":[5, 12], "flags":4, "x":131, "y":64}, + {"matrix":[5, 13], "flags":1, "x":145, "y":64}, + {"matrix":[5, 14], "flags":1, "x":159, "y":64}, + {"matrix":[5, 15], "flags":1, "x":169, "y":64}, + {"matrix":[5, 16], "flags":1, "x":180, "y":64}, + {"matrix":[5, 17], "flags":4, "x":198, "y":64}, + {"matrix":[5, 19], "flags":4, "x":214, "y":64} + ] + } +} diff --git a/keyboards/keychron/c2_pro/ansi/white/keymaps/default/keymap.c b/keyboards/keychron/c2_pro/ansi/white/keymaps/default/keymap.c new file mode 100644 index 00000000000..70934e122e3 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/white/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +// clang-format off + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, BL_STEP, + 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [MAC_FN] = 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, _______, _______, BL_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), + + [WIN_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_NO, BL_STEP, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [WIN_FN] = LAYOUT( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), +}; diff --git a/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/keymap.c b/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/keymap.c new file mode 100644 index 00000000000..09002c3d7a4 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/keymap.c @@ -0,0 +1,72 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 +#include "keychron_common.h" + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, BL_STEP, + 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_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [MAC_FN] = 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, _______, _______, BL_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), + + [WIN_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_CRTA, BL_STEP, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [WIN_FN] = LAYOUT( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), +}; + +// clang-format on + +void housekeeping_task_user(void) { + housekeeping_task_keychron(); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_keychron(keycode, record)) { + return false; + } + return true; +} diff --git a/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/rules.mk b/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/rules.mk new file mode 100644 index 00000000000..495e8907b48 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/white/keymaps/keychron/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes + +VPATH += keyboards/keychron/common +SRC += keychron_common.c diff --git a/keyboards/keychron/c2_pro/ansi/white/keymaps/via/keymap.c b/keyboards/keychron/c2_pro/ansi/white/keymaps/via/keymap.c new file mode 100644 index 00000000000..547521e099b --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/white/keymaps/via/keymap.c @@ -0,0 +1,61 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT( + KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, BL_STEP, + 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_LOPT, KC_LCMD, KC_SPC, KC_RCMD, KC_ROPT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [MAC_FN] = 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, _______, _______, BL_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), + + [WIN_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_NO, BL_STEP, + 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), + + [WIN_FN] = LAYOUT( + _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, BL_DOWN, BL_UP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, BL_TOGG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), +}; diff --git a/keyboards/keychron/c2_pro/ansi/white/keymaps/via/rules.mk b/keyboards/keychron/c2_pro/ansi/white/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/white/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/keychron/c2_pro/ansi/white/rules.mk b/keyboards/keychron/c2_pro/ansi/white/rules.mk new file mode 100644 index 00000000000..dab15510492 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/white/rules.mk @@ -0,0 +1,2 @@ +# Build Options +SRC += matrix.c diff --git a/keyboards/keychron/c2_pro/ansi/white/white.c b/keyboards/keychron/c2_pro/ansi/white/white.c new file mode 100644 index 00000000000..963ac8755f8 --- /dev/null +++ b/keyboards/keychron/c2_pro/ansi/white/white.c @@ -0,0 +1,141 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 "quantum.h" + +// clang-format off +#ifdef LED_MATRIX_ENABLE +const ckled2001_led PROGMEM g_ckled2001_leds[LED_MATRIX_LED_COUNT] = { +/* Refer to CKLED2001 manual for these locations + * driver + * | LED address + * | | */ + {0, A_16}, + {0, A_15}, + {0, A_14}, + {0, A_13}, + {0, A_12}, + {0, A_11}, + {0, A_10}, + {0, A_9 }, + {0, A_8 }, + {0, A_7 }, + {0, A_6 }, + {0, A_5 }, + {0, A_4 }, + {0, A_2 }, + {0, A_1 }, + {0, G_1 }, + + {0, G_2 }, + {0, G_3 }, // NumLock + {0, G_4 }, // Mac + {0, G_5 }, // Win + + {0, B_16}, + {0, B_15}, + {0, B_14}, + {0, B_13}, + {0, B_12}, + {0, B_11}, + {0, B_10}, + {0, B_9 }, + {0, B_8 }, + {0, B_7 }, + {0, B_6 }, + {0, B_5 }, + {0, B_4 }, + {0, B_3 }, + {0, B_2 }, + {0, B_1 }, + {0, H_1 }, + {0, H_2 }, + {0, H_3 }, + {0, H_4 }, + {0, H_5 }, + + {0, C_16}, + {0, C_15}, + {0, C_14}, + {0, C_13}, + {0, C_12}, + {0, C_11}, + {0, C_10}, + {0, C_9 }, + {0, C_8 }, + {0, C_7 }, + {0, C_6 }, + {0, C_5 }, + {0, C_4 }, + {0, C_3 }, + {0, C_2 }, + {0, C_1 }, + {0, G_6 }, + {0, G_7 }, + {0, G_8 }, + {0, G_9 }, + {0, G_10}, + + {0, D_16}, + {0, D_15}, + {0, D_14}, + {0, D_13}, + {0, D_12}, + {0, D_11}, + {0, D_10}, + {0, D_9 }, + {0, D_8 }, + {0, D_7 }, + {0, D_6 }, + {0, D_5 }, + {0, D_3 }, + {0, H_7 }, + {0, H_8 }, + {0, H_9 }, + + {0, E_16}, + {0, E_14}, + {0, E_13}, + {0, E_12}, + {0, E_11}, + {0, E_10}, + {0, E_9 }, + {0, E_8 }, + {0, E_7 }, + {0, E_6 }, + {0, E_5 }, + {0, E_3 }, + {0, E_1 }, + {0, H_6 }, + {0, H_11}, + {0, H_12}, + {0, H_10}, + + {0, F_16}, + {0, F_15}, + {0, F_14}, + {0, F_10}, + {0, F_6 }, + {0, F_5 }, + {0, F_4 }, + {0, F_3 }, + {0, F_2 }, + {0, F_1 }, + {0, G_13}, + {0, G_11}, + {0, G_12}, +}; +#endif //LED_MATRIX_ENABLE diff --git a/keyboards/keychron/c2_pro/c2_pro.c b/keyboards/keychron/c2_pro/c2_pro.c new file mode 100644 index 00000000000..2cd58ab4d79 --- /dev/null +++ b/keyboards/keychron/c2_pro/c2_pro.c @@ -0,0 +1,129 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 "quantum.h" + +// clang-format off +const matrix_row_t matrix_mask[] = { + 0b11111111111111111111, + 0b11111111111111111111, + 0b11111111111111111111, + 0b11111111111111111111, + 0b11111111111111111111, + 0b11111111111111101111, +}; + +// clang-format on + +#ifdef DIP_SWITCH_ENABLE + +bool dip_switch_update_kb(uint8_t index, bool active) { + if (!dip_switch_update_user(index, active)) { + return false; + } + if (index == 0) { + default_layer_set(1UL << (active ? 2 : 0)); + } + return true; +} + +#endif // DIP_SWITCH_ENABLE + +# ifdef RGB_MATRIX_ENABLE +# define LED_SET_FLAGS rgb_matrix_set_flags +# define LED_GET_FLAGS rgb_matrix_get_flags +# define LED_SET_ALL_OFF rgb_matrix_set_color_all(COLOR_BLACK) +# define LED_IS_ENABLED rgb_matrix_is_enabled +# define LED_ENABLE rgb_matrix_enable +# define LED_MATRIX_INDICATORS_KB rgb_matrix_indicators_kb +# define LED_MATRIX_INDICATORS_USER rgb_matrix_indicators_user +# define LED_MATRIX_SET_COLOR rgb_matrix_set_color +# define LED_MATRIX_UPDATE_PWN_BUFFERS rgb_matrix_update_pwm_buffers +# define LED_MATRIX_INDICATORS_NONE_KB rgb_matrix_indicators_none_kb +# define LED_MATRIX_IS_ENABLED rgb_matrix_is_enabled +# define COLOR_WHITE 255, 255, 255 +# define COLOR_BLACK 0, 0, 0 +# endif + +# ifdef LED_MATRIX_ENABLE +# define LED_SET_FLAGS led_matrix_set_flags +# define LED_GET_FLAGS led_matrix_get_flags +# define LED_SET_ALL_OFF led_matrix_set_value_all(COLOR_BLACK) +# define LED_IS_ENABLED led_matrix_is_enabled +# define LED_ENABLE led_matrix_enable +# define LED_MATRIX_INDICATORS_KB led_matrix_indicators_kb +# define LED_MATRIX_INDICATORS_USER led_matrix_indicators_user +# define LED_MATRIX_SET_COLOR led_matrix_set_value +# define LED_MATRIX_UPDATE_PWN_BUFFERS led_matrix_update_pwm_buffers +# define LED_MATRIX_INDICATORS_NONE_KB led_matrix_indicators_none_kb +# define LED_MATRIX_IS_ENABLED led_matrix_is_enabled +# define COLOR_WHITE 255 +# define COLOR_BLACK 0 + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + switch (LED_GET_FLAGS()) { + case LED_FLAG_ALL: { + LED_SET_FLAGS(LED_FLAG_NONE); + LED_SET_ALL_OFF; + } break; + default: { + LED_SET_FLAGS(LED_FLAG_ALL); + } break; + } + } + if (!LED_IS_ENABLED()) { + LED_SET_FLAGS(LED_FLAG_ALL); + LED_ENABLE(); + } + return false; + } + return true; +} + +bool LED_MATRIX_INDICATORS_KB(void) { + if (!LED_MATRIX_INDICATORS_USER()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + LED_MATRIX_SET_COLOR(CAPS_LED_INDEX, COLOR_WHITE); + } else { + LED_MATRIX_SET_COLOR(CAPS_LED_INDEX, COLOR_BLACK); + } + if (host_keyboard_led_state().num_lock) { + LED_MATRIX_SET_COLOR(NUM_LED_INDEX, COLOR_WHITE); + } else { + LED_MATRIX_SET_COLOR(NUM_LED_INDEX, COLOR_BLACK); + } + if (default_layer_state == (1 << 0)) { + LED_MATRIX_SET_COLOR(MAC_LED_INDEX, COLOR_WHITE); + } else { + LED_MATRIX_SET_COLOR(MAC_LED_INDEX, COLOR_BLACK); + } + if (default_layer_state == (1 << 2)) { + LED_MATRIX_SET_COLOR(WIN_LED_INDEX, COLOR_WHITE); + } else { + LED_MATRIX_SET_COLOR(WIN_LED_INDEX, COLOR_BLACK); + } + return true; +} + +#endif diff --git a/keyboards/keychron/c2_pro/config.h b/keyboards/keychron/c2_pro/config.h new file mode 100644 index 00000000000..f107dadf48d --- /dev/null +++ b/keyboards/keychron/c2_pro/config.h @@ -0,0 +1,44 @@ +/* Copyright 2023 @ Keychron(https://www.keychron.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 . + */ + +#pragma once + +/* DIP switch */ +#define DIP_SWITCH_MATRIX_GRID { { 5, 4 } } + +/* Disable DIP switch in matrix data */ +#define MATRIX_MASKED + +/* EEPROM Driver Configuration */ +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) + +/* Increase I2C speed to 1000 KHz */ +#define I2C1_TIMINGR_PRESC 0U +#define I2C1_TIMINGR_SCLDEL 3U +#define I2C1_TIMINGR_SDADEL 0U +#define I2C1_TIMINGR_SCLH 15U +#define I2C1_TIMINGR_SCLL 51U + +/* Old default behavior of mod-taps */ +#define HOLD_ON_OTHER_KEY_PRESS + +/* HC595 used pins definiton */ +#define HC595_STCP A0 +#define HC595_SHCP A1 +#define HC595_DS C15 +#define SHIFT_COL_START 11 +#define SHIFT_COL_END 19 diff --git a/keyboards/spaceman/2_milk/config.h b/keyboards/keychron/c2_pro/halconf.h similarity index 89% rename from keyboards/spaceman/2_milk/config.h rename to keyboards/keychron/c2_pro/halconf.h index 6a3ec9c5c13..41bddcb2799 100644 --- a/keyboards/spaceman/2_milk/config.h +++ b/keyboards/keychron/c2_pro/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2019 Spaceman +/* Copyright 2020 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 @@ -13,8 +13,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 1 -#endif +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/keychron/c2_pro/info.json b/keyboards/keychron/c2_pro/info.json new file mode 100644 index 00000000000..fda5fe98871 --- /dev/null +++ b/keyboards/keychron/c2_pro/info.json @@ -0,0 +1,26 @@ +{ + "keyboard_name": "Keychron C2 Pro", + "manufacturer": "Keychron", + "url": "https://github.com/Keychron", + "maintainer": "lalalademaxiya1", + "processor": "STM32L432", + "bootloader": "stm32-dfu", + "usb": { + "vid": "0x3434" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "dip_switch": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "C14"], + "rows": ["B5", "B4", "B3", "A15", "A14", "A13"], + "custom_lite": true + }, + "diode_direction": "ROW2COL" +} diff --git a/keyboards/keychron/c2_pro/matrix.c b/keyboards/keychron/c2_pro/matrix.c new file mode 100644 index 00000000000..af7514c5adb --- /dev/null +++ b/keyboards/keychron/c2_pro/matrix.c @@ -0,0 +1,202 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 "quantum.h" + +#ifndef SHIFT_COL_START +# define SHIFT_COL_START 8 +#endif +#ifndef SHIFT_COL_END +# define SHIFT_COL_END 15 +#endif + +#if defined(SHIFT_COL_START) && defined(SHIFT_COL_END) +# if ((SHIFT_COL_END - SHIFT_COL_START) > 16) +# define SIZE_T uint32_t +# define UNSELECT_ALL_COL 0xFFFFFFFF +# elif ((SHIFT_COL_END - SHIFT_COL_START) > 8) +# define SIZE_T uint16_t +# define UNSELECT_ALL_COL 0xFFFF +# else +# define SIZE_T uint8_t +# define UNSELECT_ALL_COL 0xFF +# endif +#endif + +pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; + +static inline void setPinOutput_writeLow(pin_t pin) { + ATOMIC_BLOCK_FORCEON { + setPinOutput(pin); + writePinLow(pin); + } +} + +static inline void setPinOutput_writeHigh(pin_t pin) { + ATOMIC_BLOCK_FORCEON { + setPinOutput(pin); + writePinHigh(pin); + } +} + +static inline void setPinInput_high(pin_t pin) { + ATOMIC_BLOCK_FORCEON { + setPinInputHigh(pin); + } +} + +static inline uint8_t readMatrixPin(pin_t pin) { + if (pin != NO_PIN) { + return readPin(pin); + } else { + return 1; + } +} + +static inline void HC595_delay(uint8_t n) { + while (n-- > 0) { + asm volatile("nop" ::: "memory"); + } +} + +static void HC595_output(SIZE_T data, uint8_t bit) { + uint8_t n = 1; + + ATOMIC_BLOCK_FORCEON { + for (uint8_t i = 0; i < (SHIFT_COL_END - SHIFT_COL_START + 1); i++) { + if (data & 0x1) { + writePinHigh(HC595_DS); + } else { + writePinLow(HC595_DS); + } + writePinHigh(HC595_SHCP); + HC595_delay(n); + writePinLow(HC595_SHCP); + HC595_delay(n); + if (bit) { + break; + } else { + data = data >> 1; + } + } + writePinHigh(HC595_STCP); + HC595_delay(n); + writePinLow(HC595_STCP); + HC595_delay(n); + } +} + +static bool select_col(uint8_t col) { + pin_t pin = col_pins[col]; + + if (col < SHIFT_COL_START || col > SHIFT_COL_END) { + setPinOutput_writeLow(pin); + return true; + } else { + if (col == SHIFT_COL_START) { + HC595_output(0x00, 1); + } + return true; + } + return false; +} + +static void unselect_col(uint8_t col) { + pin_t pin = col_pins[col]; + + if (col < SHIFT_COL_START || col > SHIFT_COL_END) { +#ifdef MATRIX_UNSELECT_DRIVE_HIGH + setPinOutput_writeHigh(pin); +#else + setPinInput_high(pin); +#endif + } else { + HC595_output(0x01, 1); + } +} + +static void unselect_cols(void) { + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + pin_t pin = col_pins[x]; + if (x < SHIFT_COL_START || x > SHIFT_COL_END) { +#ifdef MATRIX_UNSELECT_DRIVE_HIGH + setPinOutput_writeHigh(pin); +#else + setPinInput_high(pin); +#endif + } else { + if (x == SHIFT_COL_START) HC595_output(UNSELECT_ALL_COL, 0); + } + } +} + +static void matrix_read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col, matrix_row_t row_shifter) { + bool key_pressed = false; + + // Select col + if (!select_col(current_col)) { // select col + return; // skip NO_PIN col + } + + matrix_output_select_delay(); + + // For each row... + for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) { + // Check row pin state + if (readMatrixPin(row_pins[row_index]) == 0) { + // Pin LO, set col bit + current_matrix[row_index] |= row_shifter; + key_pressed = true; + } else { + // Pin HI, clear col bit + current_matrix[row_index] &= ~row_shifter; + } + } + + // Unselect col + unselect_col(current_col); + matrix_output_unselect_delay(current_col, key_pressed); // wait for all Row signals to go HIGH +} + +void matrix_init_custom(void) { + setPinOutput(HC595_DS); + setPinOutput(HC595_STCP); + setPinOutput(HC595_SHCP); + + for (uint8_t x = 0; x < MATRIX_ROWS; x++) { + if (row_pins[x] != NO_PIN) { + setPinInput_high(row_pins[x]); + } + } + + unselect_cols(); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + matrix_row_t curr_matrix[MATRIX_ROWS] = {0}; + + // Set col, read rows + matrix_row_t row_shifter = MATRIX_ROW_SHIFTER; + for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++, row_shifter <<= 1) { + matrix_read_rows_on_col(curr_matrix, current_col, row_shifter); + } + + bool changed = memcmp(current_matrix, curr_matrix, sizeof(curr_matrix)) != 0; + if (changed) memcpy(current_matrix, curr_matrix, sizeof(curr_matrix)); + + return changed; +} diff --git a/keyboards/eason/greatsword80/config.h b/keyboards/keychron/c2_pro/mcuconf.h similarity index 86% rename from keyboards/eason/greatsword80/config.h rename to keyboards/keychron/c2_pro/mcuconf.h index 9a0ee7ab72f..0ca8c64850f 100644 --- a/keyboards/eason/greatsword80/config.h +++ b/keyboards/keychron/c2_pro/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2023 Eason +/* Copyright 2020 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 @@ -16,5 +16,7 @@ #pragma once -#define LED_CAPS_LOCK_PIN F0 -#define LED_PIN_ON_STATE 0 +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/keychron/c2_pro/readme.md b/keyboards/keychron/c2_pro/readme.md new file mode 100644 index 00000000000..c0715929dfe --- /dev/null +++ b/keyboards/keychron/c2_pro/readme.md @@ -0,0 +1,23 @@ +# Keychron C2 Pro + +![Keychron C2 Pro](https://i.imgur.com/BQE1tFOh.jpg) + +A customizable 100% keyboard. + +* Keyboard Maintainer: [Keychron](https://github.com/keychron) +* Hardware Supported: Keychron C2 Pro +* Hardware Availability: [Keychron](https://www.keychron.com) + +Make example for this keyboard (after setting up your build environment): + + make keychron/c2/ansi/rgb:default + make keychron/c2/ansi/white:default + +Flashing example for this keyboard: + + make keychron/c2/ansi/rgb:default:flash + make keychron/c2/ansi/white:default:flash + +**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. + +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/keychron/q0/rev_0130/rules.mk b/keyboards/keychron/q0/rev_0130/rules.mk index 4eebc334376..f6868e88e33 100644 --- a/keyboards/keychron/q0/rev_0130/rules.mk +++ b/keyboards/keychron/q0/rev_0130/rules.mk @@ -1,5 +1,3 @@ EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q0/rev_0131/rules.mk b/keyboards/keychron/q0/rev_0131/rules.mk index 4eebc334376..f6868e88e33 100644 --- a/keyboards/keychron/q0/rev_0131/rules.mk +++ b/keyboards/keychron/q0/rev_0131/rules.mk @@ -1,5 +1,3 @@ EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q10/ansi_encoder/rules.mk b/keyboards/keychron/q10/ansi_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/q10/ansi_encoder/rules.mk +++ b/keyboards/keychron/q10/ansi_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q10/iso_encoder/rules.mk b/keyboards/keychron/q10/iso_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/q10/iso_encoder/rules.mk +++ b/keyboards/keychron/q10/iso_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c index 0d4fd2cd98a..0585ae9c96d 100755 --- a/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c @@ -17,9 +17,6 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE - -// clang-format off - const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver @@ -128,117 +125,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { {0, G_1, I_1, H_1}, // Down {0, G_7, I_7, H_7}, // Right }; - -#define __ NO_LED - -led_config_t g_led_config = { - { - // Key Matrix to LED Index - { __, 0, 1, 2, 3, 4, 5, 6, __ }, - { 7, 8, 9, 10, 11, 12, 13, 14, __ }, - { 15, 16, 17, 18, 19, __, 20, 21, __ }, - { 22, 23, 24, 25, 26, 27, 28, __, __ }, - { 29, __, 30, 31, 32, 33, 34, 35, __ }, - { 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, 66 }, - { 67, 68, 69, 70, 71, 72, __, 73, 74 }, - { 75, 76, 77, 78, 79, 80, __, 81, __ }, - { __, 82, 83, 84, 85, __, 86, 87, 88 }, - }, - { - // LED Index to Physical Position - {17,0}, {31,0}, {45,0}, {59,0}, {72,0}, {86,0}, {100,0}, - {0,15}, {17,15}, {31,15}, {45,15}, {59,15}, {72,15}, {86,15}, {100,15}, - {0,27}, {21,27}, {38,27}, {52,27}, {66,27}, {79,27}, {93,27}, - {0,40}, {22,40}, {41,40}, {55,40}, {69,40}, {83,40}, {97,40}, - {0,52}, {26,52}, {48,52}, {61,52}, {76,52}, {90,52}, {102,52}, - {0,64}, {19,64}, {36,64}, {53,64}, {70,64}, {94,64}, - {110,0}, {124,0}, {138,0}, {152,0}, {165,0}, {179,0}, {193,0}, {207,0}, - {110,15}, {124,15}, {138,15}, {152,15}, {165,15}, {179,15}, {200,15}, {224,15}, - {104,27}, {117,27}, {131,27}, {145,27}, {158,27}, {172,27}, {186,27}, {203,27}, {224,27}, - {107,40}, {121,40}, {134,40}, {148,40}, {162,40}, {176,40}, {198,40}, {224,40}, - {114,52}, {127,52}, {141,52}, {155,52}, {169,52}, {188,52}, {210,52}, - {126,64}, {152,64}, {166,64}, {180,64}, {196,64}, {210,64}, {224,64}, - }, - { - // RGB LED Index to Flag - 1, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 4, 4, 4, 4, 4, - 1, 1, 4, 4, 4, 4, 4, - 1, 8, 4, 4, 4, 4, 4, - 1, 1, 4, 4, 4, 4, 4, - 1, 1, 1, 1, 1, 4, - 1, 1, 1, 1, 1, 1, 1, 1, - 4, 4, 4, 4, 4, 4, 1, 1, - 4, 4, 4, 4, 4, 4, 4, 4, 1, - 4, 4, 4, 4, 4, 4, 1, 1, - 4, 4, 4, 4, 4, 1, 1, - 4, 1, 1, 1, 1, 1, 1, - } -}; - -// clang-format on - #endif - -#define ADC_BUFFER_DEPTH 1 -#define ADC_NUM_CHANNELS 1 -#define ADC_SAMPLING_RATE ADC_SMPR_SMP_12P5 -#define ADC_RESOLUTION ADC_CFGR_RES_10BITS - -static int16_t analogReadPin_my(pin_t pin) { - ADCConfig adcCfg = {}; - adcsample_t sampleBuffer[ADC_NUM_CHANNELS*ADC_BUFFER_DEPTH]; - ADCDriver* targetDriver = &ADCD1; - ADCConversionGroup adcConversionGroup = { - .circular = FALSE, - .num_channels = (uint16_t)(ADC_NUM_CHANNELS), - .cfgr = ADC_RESOLUTION, - }; - - palSetLineMode(pin, PAL_MODE_INPUT_ANALOG); - switch (pin) { - case B0: - adcConversionGroup.smpr[2] = ADC_SMPR2_SMP_AN15(ADC_SAMPLING_RATE); - adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(ADC_CHANNEL_IN15); - sampleBuffer[0] = 0; - break; - case B1: - adcConversionGroup.smpr[2] = ADC_SMPR2_SMP_AN16(ADC_SAMPLING_RATE); - adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(ADC_CHANNEL_IN16); - sampleBuffer[0] = 0; - break; - default: - return 0; - } - adcStart(targetDriver, &adcCfg); - if (adcConvert(targetDriver, &adcConversionGroup, &sampleBuffer[0], ADC_BUFFER_DEPTH) != MSG_OK) { - return 0; - } - - return *sampleBuffer; -} - -void keyboard_post_init_kb(void) { - // 1. The pin A5/B5 of the USB C interface in the left hand is connected to the pin A0 of MCU, - // A0 will be set to output and write high when keyboard initial. - // 2. The same pin in the right hand is connected to the pin B0 and B1 of MCU respectively, - // and the ADC function of B0 and B1 will be enabled when keyboard initial. - // 3. because the serial usart RXD and TXD is multiplexed on USB's D+ and D- in the right hand. - // So detect the voltage on the pin A5/B5 of the USB C interface by ADC, - // and disable USB connectivity when the ADC value exceeds 1000, - // to avoid affecting the serial usart communication between the left hand and the right hand. - if (is_keyboard_left()) { - setPinOutput(A0); - writePinHigh(A0); - } else { - if ((analogReadPin_my(B0) > 1000) || (analogReadPin_my(B1) > 1000)) { - setPinInput(A11); - setPinInput(A12); - } - } - - keyboard_post_init_user(); -} diff --git a/keyboards/keychron/q11/ansi_encoder/config.h b/keyboards/keychron/q11/ansi_encoder/config.h index 08632f0ce72..60bdc493de5 100755 --- a/keyboards/keychron/q11/ansi_encoder/config.h +++ b/keyboards/keychron/q11/ansi_encoder/config.h @@ -16,5 +16,8 @@ #pragma once +/* RGB Matrix Configuration */ +#define RGB_MATRIX_LED_COUNT 89 + /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 23 diff --git a/keyboards/keychron/q11/ansi_encoder/info.json b/keyboards/keychron/q11/ansi_encoder/info.json index da10fe5166c..01a81619baa 100755 --- a/keyboards/keychron/q11/ansi_encoder/info.json +++ b/keyboards/keychron/q11/ansi_encoder/info.json @@ -1,166 +1,105 @@ { - "keyboard_name": "Keychron Q11", - "manufacturer": "Keychron", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "bootloader": "stm32-dfu", - "bootmagic": { - "matrix": [0, 1] - }, - "features": { - "audio": false, - "backlight": false, - "bootmagic": true, - "command": false, - "console": false, - "dip_switch": true, - "encoder": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true, - "rgblight": false - }, - "diode_direction": "ROW2COL", - "encoder": { - "rotary": [ - {"pin_a": "B0", "pin_b": "B1"} - ] - }, - "matrix_pins": { - "cols": ["A7", "A6", "A5", "A4", "A3", "A2", "A1", "C15", null], - "rows": ["A13", "A14", "A15", "B3", "B4", "B5"] - }, - "processor": "STM32L432", - "rgb_matrix": { - "driver": "CKLED2001", - "split_count": [42, 47] - }, - "split": { - "enabled": true, - "encoder": { - "right": { - "rotary": [ - {"pin_a": "C14", "pin_b": "C15"} - ] - } - }, - "matrix_pins": { - "right": { - "cols": ["A8", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0"], - "rows": ["B5", "B4", "B3", "A15", "A14", "A13"] - } - }, - "transport": { - "protocol": "serial_usart", - "sync_matrix_state": false - } - }, "usb": { - "vid": "0x3434", "pid": "0x01E0", "device_version": "1.0.0" }, - "layouts": { - "LAYOUT_ansi_91": { - "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.25, "y": 0}, - {"matrix": [0, 6], "x": 6.25, "y": 0}, - {"matrix": [0, 7], "x": 7.25, "y": 0}, - {"matrix": [6, 0], "x": 8.25, "y": 0}, - {"matrix": [6, 1], "x": 9.25, "y": 0}, - {"matrix": [6, 2], "x": 10.25, "y": 0}, - {"matrix": [6, 3], "x": 11.25, "y": 0}, - {"matrix": [6, 4], "x": 12.25, "y": 0}, - {"matrix": [6, 5], "x": 13.25, "y": 0}, - {"matrix": [6, 6], "x": 14.25, "y": 0}, - {"matrix": [6, 7], "x": 15.25, "y": 0}, - {"matrix": [6, 8], "x": 16.5, "y": 0}, + "rgb_matrix": { + "split_count": [42, 47], + "layout": [ + {"matrix":[0, 1], "flags":1, "x":17, "y":0}, + {"matrix":[0, 2], "flags":1, "x":31, "y":0}, + {"matrix":[0, 3], "flags":1, "x":45, "y":0}, + {"matrix":[0, 4], "flags":1, "x":59, "y":0}, + {"matrix":[0, 5], "flags":1, "x":72, "y":0}, + {"matrix":[0, 6], "flags":1, "x":86, "y":0}, + {"matrix":[0, 7], "flags":1, "x":100, "y":0}, + {"matrix":[1, 0], "flags":1, "x":0, "y":15}, + {"matrix":[1, 1], "flags":1, "x":17, "y":15}, + {"matrix":[1, 2], "flags":4, "x":31, "y":15}, + {"matrix":[1, 3], "flags":4, "x":45, "y":15}, + {"matrix":[1, 4], "flags":4, "x":59, "y":15}, + {"matrix":[1, 5], "flags":4, "x":72, "y":15}, + {"matrix":[1, 6], "flags":4, "x":86, "y":15}, + {"matrix":[1, 7], "flags":4, "x":100, "y":15}, - {"matrix": [1, 0], "x": 0, "y": 1.25}, - {"matrix": [1, 1], "x": 1.25, "y": 1.25}, - {"matrix": [1, 2], "x": 2.25, "y": 1.25}, - {"matrix": [1, 3], "x": 3.25, "y": 1.25}, - {"matrix": [1, 4], "x": 4.25, "y": 1.25}, - {"matrix": [1, 5], "x": 5.25, "y": 1.25}, - {"matrix": [1, 6], "x": 6.25, "y": 1.25}, - {"matrix": [1, 7], "x": 7.25, "y": 1.25}, - {"matrix": [7, 0], "x": 8.25, "y": 1.25}, - {"matrix": [7, 1], "x": 9.25, "y": 1.25}, - {"matrix": [7, 2], "x": 10.25, "y": 1.25}, - {"matrix": [7, 3], "x": 11.25, "y": 1.25}, - {"matrix": [7, 4], "x": 12.25, "y": 1.25}, - {"matrix": [7, 5], "x": 13.25, "y": 1.25}, - {"matrix": [7, 6], "x": 14.25, "y": 1.25, "w": 2}, - {"matrix": [7, 8], "x": 16.5, "y": 1.25}, + {"matrix":[2, 0], "flags":1, "x":0, "y":27}, + {"matrix":[2, 1], "flags":1, "x":21, "y":27}, + {"matrix":[2, 2], "flags":4, "x":38, "y":27}, + {"matrix":[2, 3], "flags":4, "x":52, "y":27}, + {"matrix":[2, 4], "flags":4, "x":66, "y":27}, + {"matrix":[2, 6], "flags":4, "x":79, "y":27}, + {"matrix":[2, 7], "flags":4, "x":93, "y":27}, + {"matrix":[3, 0], "flags":1, "x":0, "y":40}, + {"matrix":[3, 1], "flags":8, "x":22, "y":40}, + {"matrix":[3, 2], "flags":4, "x":41, "y":40}, + {"matrix":[3, 3], "flags":4, "x":55, "y":40}, + {"matrix":[3, 4], "flags":4, "x":69, "y":40}, + {"matrix":[3, 5], "flags":4, "x":83, "y":40}, + {"matrix":[3, 6], "flags":4, "x":97, "y":40}, - {"matrix": [2, 0], "x": 0, "y": 2.25}, - {"matrix": [2, 1], "x": 1.25, "y": 2.25, "w": 1.5}, - {"matrix": [2, 2], "x": 2.75, "y": 2.25}, - {"matrix": [2, 3], "x": 3.75, "y": 2.25}, - {"matrix": [2, 4], "x": 4.75, "y": 2.25}, - {"matrix": [2, 6], "x": 5.75, "y": 2.25}, - {"matrix": [2, 7], "x": 6.75, "y": 2.25}, - {"matrix": [8, 0], "x": 7.75, "y": 2.25}, - {"matrix": [8, 1], "x": 8.75, "y": 2.25}, - {"matrix": [8, 2], "x": 9.75, "y": 2.25}, - {"matrix": [8, 3], "x": 10.75, "y": 2.25}, - {"matrix": [8, 4], "x": 11.75, "y": 2.25}, - {"matrix": [8, 5], "x": 12.75, "y": 2.25}, - {"matrix": [8, 6], "x": 13.75, "y": 2.25}, - {"matrix": [8, 7], "x": 14.75, "y": 2.25, "w": 1.5}, - {"matrix": [8, 8], "x": 16.5, "y": 2.25}, + {"matrix":[4, 0], "flags":1, "x":0, "y":52}, + {"matrix":[4, 2], "flags":1, "x":34, "y":52}, + {"matrix":[4, 3], "flags":4, "x":48, "y":52}, + {"matrix":[4, 4], "flags":4, "x":61, "y":52}, + {"matrix":[4, 5], "flags":4, "x":76, "y":52}, + {"matrix":[4, 6], "flags":4, "x":90, "y":52}, + {"matrix":[4, 7], "flags":4, "x":102, "y":52}, + {"matrix":[5, 0], "flags":1, "x":0, "y":64}, + {"matrix":[5, 1], "flags":1, "x":19, "y":64}, + {"matrix":[5, 2], "flags":1, "x":36, "y":64}, + {"matrix":[5, 3], "flags":1, "x":53, "y":64}, + {"matrix":[5, 4], "flags":1, "x":70, "y":64}, + {"matrix":[5, 6], "flags":4, "x":94, "y":64}, - {"matrix": [3, 0], "x": 0, "y": 3.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3.25, "w": 1.75}, - {"matrix": [3, 2], "x": 3, "y": 3.25}, - {"matrix": [3, 3], "x": 4, "y": 3.25}, - {"matrix": [3, 4], "x": 5, "y": 3.25}, - {"matrix": [3, 5], "x": 6, "y": 3.25}, - {"matrix": [3, 6], "x": 7, "y": 3.25}, - {"matrix": [9, 0], "x": 8, "y": 3.25}, - {"matrix": [9, 1], "x": 9, "y": 3.25}, - {"matrix": [9, 2], "x": 10, "y": 3.25}, - {"matrix": [9, 3], "x": 11, "y": 3.25}, - {"matrix": [9, 4], "x": 12, "y": 3.25}, - {"matrix": [9, 5], "x": 13, "y": 3.25}, - {"matrix": [9, 7], "x": 14, "y": 3.25, "w": 2.25}, - {"matrix": [9, 8], "x": 16.5, "y": 3.25}, + {"matrix":[6, 0], "flags":1, "x":110, "y":0}, + {"matrix":[6, 1], "flags":1, "x":124, "y":0}, + {"matrix":[6, 2], "flags":1, "x":138, "y":0}, + {"matrix":[6, 3], "flags":1, "x":152, "y":0}, + {"matrix":[6, 4], "flags":1, "x":165, "y":0}, + {"matrix":[6, 5], "flags":1, "x":179, "y":0}, + {"matrix":[6, 6], "flags":1, "x":193, "y":0}, + {"matrix":[6, 7], "flags":1, "x":207, "y":0}, + {"matrix":[7, 0], "flags":4, "x":110, "y":15}, + {"matrix":[7, 1], "flags":4, "x":124, "y":15}, + {"matrix":[7, 2], "flags":4, "x":138, "y":15}, + {"matrix":[7, 3], "flags":4, "x":152, "y":15}, + {"matrix":[7, 4], "flags":4, "x":165, "y":15}, + {"matrix":[7, 5], "flags":4, "x":179, "y":15}, + {"matrix":[7, 6], "flags":1, "x":200, "y":15}, + {"matrix":[7, 8], "flags":1, "x":224, "y":15}, - {"matrix": [4, 0], "x": 0, "y": 4.25}, - {"matrix": [4, 2], "x": 1.25, "y": 4.25, "w": 2.25}, - {"matrix": [4, 3], "x": 3.5, "y": 4.25}, - {"matrix": [4, 4], "x": 4.5, "y": 4.25}, - {"matrix": [4, 5], "x": 5.5, "y": 4.25}, - {"matrix": [4, 6], "x": 6.5, "y": 4.25}, - {"matrix": [4, 7], "x": 7.5, "y": 4.25}, - {"matrix": [10, 0], "x": 8.5, "y": 4.25}, - {"matrix": [10, 1], "x": 9.5, "y": 4.25}, - {"matrix": [10, 2], "x": 10.5, "y": 4.25}, - {"matrix": [10, 3], "x": 11.5, "y": 4.25}, - {"matrix": [10, 4], "x": 12.5, "y": 4.25}, - {"matrix": [10, 5], "x": 13.5, "y": 4.25, "w": 1.75}, - {"matrix": [10, 7], "x": 15.5, "y": 4.25}, + {"matrix":[8, 0], "flags":4, "x":104, "y":27}, + {"matrix":[8, 1], "flags":4, "x":117, "y":27}, + {"matrix":[8, 2], "flags":4, "x":131, "y":27}, + {"matrix":[8, 3], "flags":4, "x":145, "y":27}, + {"matrix":[8, 4], "flags":4, "x":158, "y":27}, + {"matrix":[8, 5], "flags":4, "x":172, "y":27}, + {"matrix":[8, 6], "flags":4, "x":186, "y":27}, + {"matrix":[8, 7], "flags":4, "x":203, "y":27}, + {"matrix":[8, 8], "flags":1, "x":224, "y":27}, + {"matrix":[9, 0], "flags":4, "x":107, "y":40}, + {"matrix":[9, 1], "flags":4, "x":121, "y":40}, + {"matrix":[9, 2], "flags":4, "x":134, "y":40}, + {"matrix":[9, 3], "flags":4, "x":148, "y":40}, + {"matrix":[9, 4], "flags":4, "x":162, "y":40}, + {"matrix":[9, 5], "flags":4, "x":176, "y":40}, + {"matrix":[9, 7], "flags":1, "x":198, "y":40}, + {"matrix":[9, 8], "flags":1, "x":224, "y":40}, - {"matrix": [5, 0], "x": 0, "y": 5.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, 3], "x": 3.75, "y": 5.25, "w": 1.25}, - {"matrix": [5, 4], "x": 5, "y": 5.25, "w": 1.25}, - {"matrix": [5, 6], "x": 6.25, "y": 5.25, "w": 2.25}, - {"matrix": [11, 1], "x": 8.5, "y": 5.25, "w": 2.75}, - {"matrix": [11, 2], "x": 11.25, "y": 5.25}, - {"matrix": [11, 3], "x": 12.25, "y": 5.25}, - {"matrix": [11, 4], "x": 13.25, "y": 5.25}, - {"matrix": [11, 6], "x": 14.5, "y": 5.25}, - {"matrix": [11, 7], "x": 15.5, "y": 5.25}, - {"matrix": [11, 8], "x": 16.5, "y": 5.25} - ] - } + {"matrix":[10, 0], "flags":4, "x":114, "y":52}, + {"matrix":[10, 1], "flags":4, "x":127, "y":52}, + {"matrix":[10, 2], "flags":4, "x":141, "y":52}, + {"matrix":[10, 3], "flags":4, "x":155, "y":52}, + {"matrix":[10, 4], "flags":4, "x":169, "y":52}, + {"matrix":[10, 5], "flags":1, "x":188, "y":52}, + {"matrix":[10, 7], "flags":1, "x":210, "y":52}, + {"matrix":[11, 1], "flags":4, "x":126, "y":64}, + {"matrix":[11, 2], "flags":1, "x":152, "y":64}, + {"matrix":[11, 3], "flags":1, "x":166, "y":64}, + {"matrix":[11, 4], "flags":1, "x":180, "y":64}, + {"matrix":[11, 6], "flags":1, "x":196, "y":64}, + {"matrix":[11, 7], "flags":1, "x":210, "y":64}, + {"matrix":[11, 8], "flags":1, "x":224, "y":64} + ] } } diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c index 3378ce7df9f..7334ad85203 100755 --- a/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c +++ b/keyboards/keychron/q11/ansi_encoder/keymaps/default/keymap.c @@ -15,20 +15,18 @@ */ #include QMK_KEYBOARD_H -// clang-format off - enum layers{ MAC_BASE, MAC_FN, WIN_BASE, - WIN_FN + WIN_FN, }; #define KC_TASK LGUI(KC_TAB) #define KC_FLXP LGUI(KC_E) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_ansi_91( + [MAC_BASE] = LAYOUT_91_ansi( KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, 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_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, @@ -36,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, 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_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [MAC_FN] = LAYOUT_ansi_91( + [MAC_FN] = LAYOUT_91_ansi( 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_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -44,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - [WIN_BASE] = LAYOUT_ansi_91( + [WIN_BASE] = LAYOUT_91_ansi( 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_INS, 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_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, @@ -52,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, 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, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [WIN_FN] = LAYOUT_ansi_91( + [WIN_FN] = LAYOUT_91_ansi( RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c index 852f34def99..d5f87b7a398 100755 --- a/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c +++ b/keyboards/keychron/q11/ansi_encoder/keymaps/keychron/keymap.c @@ -17,17 +17,15 @@ #include QMK_KEYBOARD_H #include "keychron_common.h" -// clang-format off - enum layers{ MAC_BASE, MAC_FN, WIN_BASE, - WIN_FN + WIN_FN, }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_ansi_91( + [MAC_BASE] = LAYOUT_91_ansi( KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE, MC_1, 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, MC_2, KC_TAB, KC_Q, 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, @@ -35,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MC_4, 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, MC_5, KC_LCTL, KC_LOPTN, KC_LCMMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [MAC_FN] = LAYOUT_ansi_91( + [MAC_FN] = LAYOUT_91_ansi( 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_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -43,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - [WIN_BASE] = LAYOUT_ansi_91( + [WIN_BASE] = LAYOUT_91_ansi( 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_INS, KC_DEL, KC_MUTE, MC_1, 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, MC_2, KC_TAB, KC_Q, 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, @@ -51,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MC_4, 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, MC_5, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [WIN_FN] = LAYOUT_ansi_91( + [WIN_FN] = LAYOUT_91_ansi( RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c index 0452eccec20..29fe3d488d1 100755 --- a/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c +++ b/keyboards/keychron/q11/ansi_encoder/keymaps/via/keymap.c @@ -16,8 +16,6 @@ #include QMK_KEYBOARD_H -// clang-format off - enum layers{ MAC_BASE, MAC_FN, @@ -29,7 +27,7 @@ enum layers{ #define KC_FLXP LGUI(KC_E) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_ansi_91( + [MAC_BASE] = LAYOUT_91_ansi( KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE, MC_1, 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, MC_2, KC_TAB, KC_Q, 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, @@ -37,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MC_4, 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, MC_5, KC_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [MAC_FN] = LAYOUT_ansi_91( + [MAC_FN] = LAYOUT_91_ansi( 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_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -45,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - [WIN_BASE] = LAYOUT_ansi_91( + [WIN_BASE] = LAYOUT_91_ansi( 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_INS, KC_DEL, KC_MUTE, MC_1, 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, MC_2, KC_TAB, KC_Q, 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, @@ -53,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MC_4, 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, MC_5, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [WIN_FN] = LAYOUT_ansi_91( + [WIN_FN] = LAYOUT_91_ansi( RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/keychron/q11/ansi_encoder/rules.mk b/keyboards/keychron/q11/ansi_encoder/rules.mk old mode 100755 new mode 100644 index 567ea30a2a8..60d5c6bea2f --- a/keyboards/keychron/q11/ansi_encoder/rules.mk +++ b/keyboards/keychron/q11/ansi_encoder/rules.mk @@ -4,6 +4,3 @@ EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash SERIAL_DRIVER = usart - -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q11/config.h b/keyboards/keychron/q11/config.h index 604ec142b86..d2c7ad4a968 100755 --- a/keyboards/keychron/q11/config.h +++ b/keyboards/keychron/q11/config.h @@ -26,12 +26,9 @@ #define MATRIX_MASKED // actual mask is defined by `matrix_mask` in `q11.c` -/* RGB Matrix Configuration */ +/* RGB Matrix Driver Configuration */ #define DRIVER_COUNT 1 #define DRIVER_ADDR_1 0b1110100 -#define DRIVER_1_LED_TOTAL 89 -#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL -#define SPLIT_TRANSPORT_MIRROR /* Increase I2C speed to 1000 KHz */ #define I2C1_TIMINGR_PRESC 0U @@ -59,52 +56,5 @@ // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects -// #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 - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN - #define RGB_MATRIX_KEYPRESSES -// 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 diff --git a/keyboards/keychron/q11/info.json b/keyboards/keychron/q11/info.json new file mode 100755 index 00000000000..43029ebbc37 --- /dev/null +++ b/keyboards/keychron/q11/info.json @@ -0,0 +1,290 @@ +{ + "keyboard_name": "Keychron Q11", + "manufacturer": "Keychron", + "url": "https://github.com/Keychron", + "maintainer": "lalalademaxiya1", + "processor": "STM32L432", + "bootloader": "stm32-dfu", + "usb": { + "vid": "0x3434" + }, + "bootmagic": { + "matrix": [0, 1] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "dip_switch": true, + "extrakey": true, + "mousekey": true, + "encoder": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["A7", "A6", "A5", "A4", "A3", "A2", "A1", "C15", null], + "rows": ["A13", "A14", "A15", "B3", "B4", "B5"] + }, + "diode_direction": "ROW2COL", + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "C14", "pin_b": "C15"} + ] + } + }, + "matrix_pins": { + "right": { + "cols": ["A8", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0"], + "rows": ["B5", "B4", "B3", "A15", "A14", "A13"] + } + }, + "transport": { + "protocol": "serial_usart", + "sync_matrix_state": true + }, + "bootmagic": { + "matrix": [6, 7] + } + }, + "encoder": { + "rotary": [ + { + "pin_a": "B0", + "pin_b": "B1" + } + ] + }, + "rgb_matrix": { + "driver": "CKLED2001", + "animations": { + "breathing": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "jellybean_raindrops": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive_multiwide": true, + "solid_reactive_multinexus": true, + "splash": true, + "solid_splash": true + } + }, + "layouts": { + "LAYOUT_91_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.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [6, 0], "x": 8.25, "y": 0}, + {"matrix": [6, 1], "x": 9.25, "y": 0}, + {"matrix": [6, 2], "x": 10.25, "y": 0}, + {"matrix": [6, 3], "x": 11.25, "y": 0}, + {"matrix": [6, 4], "x": 12.25, "y": 0}, + {"matrix": [6, 5], "x": 13.25, "y": 0}, + {"matrix": [6, 6], "x": 14.25, "y": 0}, + {"matrix": [6, 7], "x": 15.25, "y": 0}, + {"matrix": [6, 8], "x": 16.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 1.25}, + {"matrix": [1, 2], "x": 2.25, "y": 1.25}, + {"matrix": [1, 3], "x": 3.25, "y": 1.25}, + {"matrix": [1, 4], "x": 4.25, "y": 1.25}, + {"matrix": [1, 5], "x": 5.25, "y": 1.25}, + {"matrix": [1, 6], "x": 6.25, "y": 1.25}, + {"matrix": [1, 7], "x": 7.25, "y": 1.25}, + {"matrix": [7, 0], "x": 8.25, "y": 1.25}, + {"matrix": [7, 1], "x": 9.25, "y": 1.25}, + {"matrix": [7, 2], "x": 10.25, "y": 1.25}, + {"matrix": [7, 3], "x": 11.25, "y": 1.25}, + {"matrix": [7, 4], "x": 12.25, "y": 1.25}, + {"matrix": [7, 5], "x": 13.25, "y": 1.25}, + {"matrix": [7, 6], "x": 14.25, "y": 1.25, "w": 2}, + {"matrix": [7, 8], "x": 16.5, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1.25, "y": 2.25, "w": 1.5}, + {"matrix": [2, 2], "x": 2.75, "y": 2.25}, + {"matrix": [2, 3], "x": 3.75, "y": 2.25}, + {"matrix": [2, 4], "x": 4.75, "y": 2.25}, + {"matrix": [2, 6], "x": 5.75, "y": 2.25}, + {"matrix": [2, 7], "x": 6.75, "y": 2.25}, + {"matrix": [8, 0], "x": 7.75, "y": 2.25}, + {"matrix": [8, 1], "x": 8.75, "y": 2.25}, + {"matrix": [8, 2], "x": 9.75, "y": 2.25}, + {"matrix": [8, 3], "x": 10.75, "y": 2.25}, + {"matrix": [8, 4], "x": 11.75, "y": 2.25}, + {"matrix": [8, 5], "x": 12.75, "y": 2.25}, + {"matrix": [8, 6], "x": 13.75, "y": 2.25}, + {"matrix": [8, 7], "x": 14.75, "y": 2.25, "w": 1.5}, + {"matrix": [8, 8], "x": 16.5, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3.25, "w": 1.75}, + {"matrix": [3, 2], "x": 3, "y": 3.25}, + {"matrix": [3, 3], "x": 4, "y": 3.25}, + {"matrix": [3, 4], "x": 5, "y": 3.25}, + {"matrix": [3, 5], "x": 6, "y": 3.25}, + {"matrix": [3, 6], "x": 7, "y": 3.25}, + {"matrix": [9, 0], "x": 8, "y": 3.25}, + {"matrix": [9, 1], "x": 9, "y": 3.25}, + {"matrix": [9, 2], "x": 10, "y": 3.25}, + {"matrix": [9, 3], "x": 11, "y": 3.25}, + {"matrix": [9, 4], "x": 12, "y": 3.25}, + {"matrix": [9, 5], "x": 13, "y": 3.25}, + {"matrix": [9, 7], "x": 14, "y": 3.25, "w": 2.25}, + {"matrix": [9, 8], "x": 16.5, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25}, + {"matrix": [4, 2], "x": 1.25, "y": 4.25, "w": 2.25}, + {"matrix": [4, 3], "x": 3.5, "y": 4.25}, + {"matrix": [4, 4], "x": 4.5, "y": 4.25}, + {"matrix": [4, 5], "x": 5.5, "y": 4.25}, + {"matrix": [4, 6], "x": 6.5, "y": 4.25}, + {"matrix": [4, 7], "x": 7.5, "y": 4.25}, + {"matrix": [10, 0], "x": 8.5, "y": 4.25}, + {"matrix": [10, 1], "x": 9.5, "y": 4.25}, + {"matrix": [10, 2], "x": 10.5, "y": 4.25}, + {"matrix": [10, 3], "x": 11.5, "y": 4.25}, + {"matrix": [10, 4], "x": 12.5, "y": 4.25}, + {"matrix": [10, 5], "x": 13.5, "y": 4.25, "w": 1.75}, + {"matrix": [10, 7], "x": 15.5, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.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, 3], "x": 3.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 4], "x": 5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 6.25, "y": 5.25, "w": 2.25}, + {"matrix": [11, 1], "x": 8.5, "y": 5.25, "w": 2.75}, + {"matrix": [11, 2], "x": 11.25, "y": 5.25}, + {"matrix": [11, 3], "x": 12.25, "y": 5.25}, + {"matrix": [11, 4], "x": 13.25, "y": 5.25}, + {"matrix": [11, 6], "x": 14.5, "y": 5.25}, + {"matrix": [11, 7], "x": 15.5, "y": 5.25}, + {"matrix": [11, 8], "x": 16.5, "y": 5.25} + ] + }, + "LAYOUT_92_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.25, "y":0 }, + {"matrix":[0,6], "x":6.25, "y":0 }, + {"matrix":[0,7], "x":7.25, "y":0 }, + {"matrix":[6,0], "x":9, "y":0 }, + {"matrix":[6,1], "x":10, "y":0 }, + {"matrix":[6,2], "x":11, "y":0 }, + {"matrix":[6,3], "x":12, "y":0 }, + {"matrix":[6,4], "x":13, "y":0 }, + {"matrix":[6,5], "x":14, "y":0 }, + {"matrix":[6,6], "x":15, "y":0 }, + {"matrix":[6,7], "x":16, "y":0 }, + {"matrix":[6,8], "x":17.25, "y":0 }, + + {"matrix":[1,0], "x":0, "y":1.25 }, + {"matrix":[1,1], "x":1.25, "y":1.25 }, + {"matrix":[1,2], "x":2.25, "y":1.25 }, + {"matrix":[1,3], "x":3.25, "y":1.25 }, + {"matrix":[1,4], "x":4.25, "y":1.25 }, + {"matrix":[1,5], "x":5.25, "y":1.25 }, + {"matrix":[1,6], "x":6.25, "y":1.25 }, + {"matrix":[1,7], "x":7.25, "y":1.25 }, + {"matrix":[7,0], "x":9, "y":1.25 }, + {"matrix":[7,1], "x":10, "y":1.25 }, + {"matrix":[7,2], "x":11, "y":1.25 }, + {"matrix":[7,3], "x":12, "y":1.25 }, + {"matrix":[7,4], "x":13, "y":1.25 }, + {"matrix":[7,5], "x":14, "y":1.25 }, + {"matrix":[7,6], "x":15, "y":1.25, "w":2 }, + {"matrix":[7,8], "x":17.25, "y":1.25 }, + + {"matrix":[2,0], "x":0, "y":2.25 }, + {"matrix":[2,1], "x":1.25, "y":2.25, "w":1.5 }, + {"matrix":[2,2], "x":2.75, "y":2.25 }, + {"matrix":[2,3], "x":3.75, "y":2.25 }, + {"matrix":[2,4], "x":4.75, "y":2.25 }, + {"matrix":[2,6], "x":5.75, "y":2.25 }, + {"matrix":[2,7], "x":6.75, "y":2.25 }, + {"matrix":[8,0], "x":8.5, "y":2.25 }, + {"matrix":[8,1], "x":9.5, "y":2.25 }, + {"matrix":[8,2], "x":10.5, "y":2.25 }, + {"matrix":[8,3], "x":11.5, "y":2.25 }, + {"matrix":[8,4], "x":12.5, "y":2.25 }, + {"matrix":[8,5], "x":13.5, "y":2.25 }, + {"matrix":[8,6], "x":14.5, "y":2.25 }, + {"matrix":[8,8], "x":17.25, "y":2.25 }, + + {"matrix":[3,0], "x":0, "y":3.25 }, + {"matrix":[3,1], "x":1.25, "y":3.25, "w":1.75 }, + {"matrix":[3,2], "x":3, "y":3.25 }, + {"matrix":[3,3], "x":4, "y":3.25 }, + {"matrix":[3,4], "x":5, "y":3.25 }, + {"matrix":[3,5], "x":6, "y":3.25 }, + {"matrix":[3,6], "x":7, "y":3.25 }, + {"matrix":[9,0], "x":8.75, "y":3.25 }, + {"matrix":[9,1], "x":9.75, "y":3.25 }, + {"matrix":[9,2], "x":10.75, "y":3.25 }, + {"matrix":[9,3], "x":11.75, "y":3.25 }, + {"matrix":[9,4], "x":12.75, "y":3.25 }, + {"matrix":[9,5], "x":13.75, "y":3.25 }, + {"matrix":[9,7], "x":14.75, "y":3.25 }, + {"matrix":[8,7], "x":15.75, "y":2.25, "w":1.25, "h":2 }, + {"matrix":[9,8], "x":17.25, "y":3.25 }, + + {"matrix":[4,0], "x":0, "y":4.25 }, + {"matrix":[4,1], "x":1.25, "y":4.25, "w":1.25 }, + {"matrix":[4,2], "x":2.5, "y":4.25 }, + {"matrix":[4,3], "x":3.5, "y":4.25 }, + {"matrix":[4,4], "x":4.5, "y":4.25 }, + {"matrix":[4,5], "x":5.5, "y":4.25 }, + {"matrix":[4,6], "x":6.5, "y":4.25 }, + {"matrix":[4,7], "x":7.5, "y":4.25 }, + {"matrix":[10,0], "x":9.25, "y":4.25 }, + {"matrix":[10,1], "x":10.25, "y":4.25 }, + {"matrix":[10,2], "x":11.25, "y":4.25 }, + {"matrix":[10,3], "x":12.25, "y":4.25 }, + {"matrix":[10,4], "x":13.25, "y":4.25 }, + {"matrix":[10,5], "x":14.25, "y":4.25, "w":1.75 }, + {"matrix":[10,7], "x":16.25, "y":4.25 }, + + {"matrix":[5,0], "x":0, "y":5.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,3], "x":3.75, "y":5.25, "w":1.25 }, + {"matrix":[5,4], "x":5, "y":5.25, "w":1.25 }, + {"matrix":[5,6], "x":6.25, "y":5.25, "w":2.25 }, + {"matrix":[11,1], "x":9.25, "y":5.25, "w":2.75 }, + {"matrix":[11,2], "x":12, "y":5.25 }, + {"matrix":[11,3], "x":13, "y":5.25 }, + {"matrix":[11,4], "x":14, "y":5.25 }, + {"matrix":[11,6], "x":15.25, "y":5.25 }, + {"matrix":[11,7], "x":16.25, "y":5.25 }, + {"matrix":[11,8], "x":17.25, "y":5.25} + ] + } + } +} diff --git a/keyboards/doodboard/duckboard/config.h b/keyboards/keychron/q11/iso_encoder/config.h old mode 100644 new mode 100755 similarity index 79% rename from keyboards/doodboard/duckboard/config.h rename to keyboards/keychron/q11/iso_encoder/config.h index a73678faf25..57baea4c694 --- a/keyboards/doodboard/duckboard/config.h +++ b/keyboards/keychron/q11/iso_encoder/config.h @@ -1,4 +1,4 @@ -/* Copyright 2020-2021 doodboard +/* Copyright 2023 @ Keychron(https://www.keychron.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 @@ -16,9 +16,8 @@ #pragma once -/* media key slowdown for windows */ -#define TAP_CODE_DELAY 20 +/* RGB Matrix Configuration */ +#define RGB_MATRIX_LED_COUNT 90 -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 8 // Number of LEDs -#endif +/* Enable caps-lock LED */ +#define CAPS_LOCK_LED_INDEX 23 diff --git a/keyboards/keychron/q11/iso_encoder/info.json b/keyboards/keychron/q11/iso_encoder/info.json new file mode 100755 index 00000000000..0529ccb2916 --- /dev/null +++ b/keyboards/keychron/q11/iso_encoder/info.json @@ -0,0 +1,106 @@ +{ + "usb": { + "pid": "0x01E1", + "device_version": "1.0.0" + }, + "rgb_matrix": { + "split_count": [43, 47], + "layout": [ + {"matrix":[0, 1], "flags":1, "x":17, "y":0}, + {"matrix":[0, 2], "flags":1, "x":31, "y":0}, + {"matrix":[0, 3], "flags":1, "x":45, "y":0}, + {"matrix":[0, 4], "flags":1, "x":59, "y":0}, + {"matrix":[0, 5], "flags":1, "x":72, "y":0}, + {"matrix":[0, 6], "flags":1, "x":86, "y":0}, + {"matrix":[0, 7], "flags":1, "x":100, "y":0}, + {"matrix":[1, 0], "flags":1, "x":0, "y":15}, + {"matrix":[1, 1], "flags":1, "x":17, "y":15}, + {"matrix":[1, 2], "flags":4, "x":31, "y":15}, + {"matrix":[1, 3], "flags":4, "x":45, "y":15}, + {"matrix":[1, 4], "flags":4, "x":59, "y":15}, + {"matrix":[1, 5], "flags":4, "x":72, "y":15}, + {"matrix":[1, 6], "flags":4, "x":86, "y":15}, + {"matrix":[1, 7], "flags":4, "x":100, "y":15}, + + {"matrix":[2, 0], "flags":1, "x":0, "y":27}, + {"matrix":[2, 1], "flags":1, "x":21, "y":27}, + {"matrix":[2, 2], "flags":4, "x":38, "y":27}, + {"matrix":[2, 3], "flags":4, "x":52, "y":27}, + {"matrix":[2, 4], "flags":4, "x":66, "y":27}, + {"matrix":[2, 6], "flags":4, "x":79, "y":27}, + {"matrix":[2, 7], "flags":4, "x":93, "y":27}, + {"matrix":[3, 0], "flags":1, "x":0, "y":40}, + {"matrix":[3, 1], "flags":8, "x":22, "y":40}, + {"matrix":[3, 2], "flags":4, "x":41, "y":40}, + {"matrix":[3, 3], "flags":4, "x":55, "y":40}, + {"matrix":[3, 4], "flags":4, "x":69, "y":40}, + {"matrix":[3, 5], "flags":4, "x":83, "y":40}, + {"matrix":[3, 6], "flags":4, "x":97, "y":40}, + + {"matrix":[4, 0], "flags":1, "x":0, "y":52}, + {"matrix":[4, 1], "flags":1, "x":19, "y":52}, + {"matrix":[4, 2], "flags":1, "x":34, "y":52}, + {"matrix":[4, 3], "flags":4, "x":48, "y":52}, + {"matrix":[4, 4], "flags":4, "x":62, "y":52}, + {"matrix":[4, 5], "flags":4, "x":76, "y":52}, + {"matrix":[4, 6], "flags":4, "x":90, "y":52}, + {"matrix":[4, 7], "flags":4, "x":103, "y":52}, + {"matrix":[5, 0], "flags":1, "x":0, "y":64}, + {"matrix":[5, 1], "flags":1, "x":19, "y":64}, + {"matrix":[5, 2], "flags":1, "x":36, "y":64}, + {"matrix":[5, 3], "flags":1, "x":53, "y":64}, + {"matrix":[5, 4], "flags":1, "x":71, "y":64}, + {"matrix":[5, 6], "flags":4, "x":95, "y":64}, + + {"matrix":[6, 0], "flags":1, "x":110, "y":0}, + {"matrix":[6, 1], "flags":1, "x":124, "y":0}, + {"matrix":[6, 2], "flags":1, "x":138, "y":0}, + {"matrix":[6, 3], "flags":1, "x":152, "y":0}, + {"matrix":[6, 4], "flags":1, "x":165, "y":0}, + {"matrix":[6, 5], "flags":1, "x":179, "y":0}, + {"matrix":[6, 6], "flags":1, "x":193, "y":0}, + {"matrix":[6, 7], "flags":1, "x":207, "y":0}, + {"matrix":[7, 0], "flags":4, "x":110, "y":15}, + {"matrix":[7, 1], "flags":4, "x":124, "y":15}, + {"matrix":[7, 2], "flags":4, "x":138, "y":15}, + {"matrix":[7, 3], "flags":4, "x":152, "y":15}, + {"matrix":[7, 4], "flags":4, "x":165, "y":15}, + {"matrix":[7, 5], "flags":4, "x":179, "y":15}, + {"matrix":[7, 6], "flags":1, "x":200, "y":15}, + {"matrix":[7, 8], "flags":1, "x":224, "y":15}, + + {"matrix":[8, 0], "flags":4, "x":103, "y":27}, + {"matrix":[8, 1], "flags":4, "x":117, "y":27}, + {"matrix":[8, 2], "flags":4, "x":131, "y":27}, + {"matrix":[8, 3], "flags":4, "x":145, "y":27}, + {"matrix":[8, 4], "flags":4, "x":158, "y":27}, + {"matrix":[8, 5], "flags":4, "x":172, "y":27}, + {"matrix":[8, 6], "flags":4, "x":186, "y":27}, + {"matrix":[8, 8], "flags":1, "x":224, "y":27}, + {"matrix":[9, 0], "flags":4, "x":107, "y":40}, + {"matrix":[9, 1], "flags":4, "x":121, "y":40}, + {"matrix":[9, 2], "flags":4, "x":134, "y":40}, + {"matrix":[9, 3], "flags":4, "x":148, "y":40}, + {"matrix":[9, 4], "flags":4, "x":162, "y":40}, + {"matrix":[9, 5], "flags":4, "x":176, "y":40}, + {"matrix":[9, 7], "flags":1, "x":190, "y":40}, + {"matrix":[8, 7], "flags":1, "x":208, "y":36}, + {"matrix":[9, 8], "flags":1, "x":224, "y":40}, + + {"matrix":[10, 0], "flags":4, "x":114, "y":52}, + {"matrix":[10, 1], "flags":4, "x":127, "y":52}, + {"matrix":[10, 2], "flags":4, "x":141, "y":52}, + {"matrix":[10, 3], "flags":4, "x":155, "y":52}, + {"matrix":[10, 4], "flags":4, "x":169, "y":52}, + {"matrix":[10, 5], "flags":1, "x":188, "y":52}, + {"matrix":[10, 7], "flags":1, "x":210, "y":52}, + {"matrix":[11, 1], "flags":4, "x":126, "y":64}, + {"matrix":[11, 2], "flags":1, "x":152, "y":64}, + {"matrix":[11, 3], "flags":1, "x":166, "y":64}, + {"matrix":[11, 4], "flags":1, "x":180, "y":64}, + {"matrix":[11, 6], "flags":1, "x":196, "y":64}, + {"matrix":[11, 7], "flags":1, "x":210, "y":64}, + {"matrix":[11, 8], "flags":1, "x":224, "y":64} + ] + } +} diff --git a/keyboards/keychron/q11/iso_encoder/iso_encoder.c b/keyboards/keychron/q11/iso_encoder/iso_encoder.c new file mode 100755 index 00000000000..08858d9b792 --- /dev/null +++ b/keyboards/keychron/q11/iso_encoder/iso_encoder.c @@ -0,0 +1,129 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to CKLED2001 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, A_2, C_2, B_2}, // ESC + {0, A_3, C_3, B_3}, // F1 + {0, A_4, C_4, B_4}, // F2 + {0, A_5, C_5, B_5}, // F3 + {0, A_6, C_6, B_6}, // F4 + {0, A_7, C_7, B_7}, // F5 + {0, A_8, C_8, B_8}, // F6 + + {0, D_1, F_1, E_1}, // M1 + {0, D_2, F_2, E_2}, // `~ + {0, D_3, F_3, E_3}, // 1! + {0, D_4, F_4, E_4}, // 2@ + {0, D_5, F_5, E_5}, // 3# + {0, D_6, F_6, E_6}, // 4$ + {0, D_7, F_7, E_7}, // 5% + {0, D_8, F_8, E_8}, // 6^ + + {0, G_1, I_1, H_1}, // M2 + {0, G_2, I_2, H_2}, // TAB + {0, G_3, I_3, H_3}, // Q + {0, G_4, I_4, H_4}, // W + {0, G_5, I_5, H_5}, // E + {0, G_6, I_6, H_6}, // R + {0, G_7, I_7, H_7}, // T + + {0, J_1, L_1, K_1}, // M3 + {0, J_2, L_2, K_2}, // CapsJock + {0, J_3, L_3, K_3}, // A + {0, J_4, L_4, K_4}, // S + {0, J_5, L_5, K_5}, // D + {0, J_6, L_6, K_6}, // F + {0, J_7, L_7, K_7}, // G + + {0, J_9, L_9, K_9}, // M4 + {0, J_10, L_10, K_10}, // Shift_L + {0, J_11, L_11, K_11}, // NUBS + {0, J_12, L_12, K_12}, // Z + {0, J_13, L_13, K_13}, // X + {0, J_14, L_14, K_14}, // C + {0, J_15, L_15, K_15}, // V + {0, J_16, L_16, K_16}, // B + + {0, G_9, I_9, H_9}, // M5 + {0, G_10, I_10, H_10}, // Ctrl_L + {0, G_11, I_11, H_11}, // WGn_L + {0, G_12, I_12, H_12}, // Alt_L + {0, G_13, I_13, H_13}, // Fn + {0, G_15, I_15, H_15}, // Space + + {0, A_16, C_16, B_16}, // F7 + {0, A_15, C_15, B_15}, // F8 + {0, A_14, C_14, B_14}, // F9 + {0, A_13, C_13, B_13}, // F11 + {0, A_12, C_12, B_12}, // F11 + {0, A_11, C_11, B_11}, // F12 + {0, A_10, C_10, B_10}, // INS + {0, A_9, C_9, B_9}, // DEL + + {0, D_16, F_16, E_16}, // 7& + {0, D_15, F_15, E_15}, // 8* + {0, D_14, F_14, E_14}, // 9( + {0, D_13, F_13, E_13}, // 1) + {0, D_12, F_12, E_12}, // -_ + {0, D_11, F_11, E_11}, // =+ + {0, D_10, F_10, E_10}, // BackSpace + {0, D_8, F_8, E_8}, // PgUp + + {0, G_16, I_16, H_16}, // Y + {0, G_15, I_15, H_15}, // U + {0, G_14, I_14, H_14}, // G + {0, G_13, I_13, H_13}, // O + {0, G_12, I_12, H_12}, // P + {0, G_11, I_11, H_11}, // [ + {0, G_10, I_10, H_10}, // ] + {0, G_8, I_8, H_8}, // PgDn + + {0, J_16, L_16, K_16}, // H + {0, J_15, L_15, K_15}, // J + {0, J_14, L_14, K_14}, // KKEY_PRESS_HOME + {0, J_13, L_13, K_13}, // J + {0, J_12, L_12, K_12}, // ;: + {0, J_11, L_11, K_11}, // '" + {0, J_9, L_9, K_9}, // NUHS + {0, G_9, I_9, H_9}, // Enter + {0, J_8, L_8, K_8}, // Home + + {0, J_7, L_7, K_7}, // N + {0, J_6, L_6, K_6}, // M + {0, J_5, L_5, K_5}, // ,< + {0, J_4, L_4, K_4}, // .> + {0, J_3, L_3, K_3}, // ?/ + {0, J_2, L_2, K_2}, // Shift_R + {0, J_1, L_1, K_1}, // Up + + {0, G_6, I_6, H_6}, // Space + {0, G_5, I_5, H_5}, // Win_R + {0, G_4, I_4, H_4}, // Fn + {0, G_3, I_3, H_3}, // Ctrl_R + {0, G_2, I_2, H_2}, // Left + {0, G_1, I_1, H_1}, // Down + {0, G_7, I_7, H_7}, // Right +}; +#endif diff --git a/keyboards/keychron/q11/iso_encoder/keymaps/default/keymap.c b/keyboards/keychron/q11/iso_encoder/keymaps/default/keymap.c new file mode 100755 index 00000000000..2c494c08d52 --- /dev/null +++ b/keyboards/keychron/q11/iso_encoder/keymaps/default/keymap.c @@ -0,0 +1,69 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN, +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_92_iso( + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, 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_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_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_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_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN] = LAYOUT_92_iso( + 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_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_BASE] = LAYOUT_92_iso( + 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_INS, 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_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_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_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_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_FN] = LAYOUT_92_iso( + RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } +}; +#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q11/iso_encoder/keymaps/default/rules.mk b/keyboards/keychron/q11/iso_encoder/keymaps/default/rules.mk new file mode 100755 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/keychron/q11/iso_encoder/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keychron/q11/iso_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q11/iso_encoder/keymaps/keychron/keymap.c new file mode 100755 index 00000000000..8269bf1a880 --- /dev/null +++ b/keyboards/keychron/q11/iso_encoder/keymaps/keychron/keymap.c @@ -0,0 +1,82 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 +#include "keychron_common.h" + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_92_iso( + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE, + MC_1, 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, + MC_2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGDN, + MC_3, KC_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, + MC_4, 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, + MC_5, KC_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN] = LAYOUT_92_iso( + 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_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_BASE] = LAYOUT_92_iso( + 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_INS, KC_DEL, KC_MUTE, + MC_1, 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, + MC_2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGDN, + MC_3, KC_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, + MC_4, 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, + MC_5, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_FN] = LAYOUT_92_iso( + RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; + +#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_DIRECTIONS][NUM_DIRECTIONS] = { + [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} +}; +#endif // ENCODER_MAP_ENABLE + +// clang-format on + +void housekeeping_task_user(void) { + housekeeping_task_keychron(); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_keychron(keycode, record)) { + return false; + } + + return true; +} diff --git a/keyboards/keychron/q11/iso_encoder/keymaps/keychron/rules.mk b/keyboards/keychron/q11/iso_encoder/keymaps/keychron/rules.mk new file mode 100755 index 00000000000..9cf1a9b56cb --- /dev/null +++ b/keyboards/keychron/q11/iso_encoder/keymaps/keychron/rules.mk @@ -0,0 +1,5 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes + +VPATH += keyboards/keychron/common +SRC += keychron_common.c diff --git a/keyboards/keychron/q11/iso_encoder/keymaps/via/keymap.c b/keyboards/keychron/q11/iso_encoder/keymaps/via/keymap.c new file mode 100755 index 00000000000..8e969a8f815 --- /dev/null +++ b/keyboards/keychron/q11/iso_encoder/keymaps/via/keymap.c @@ -0,0 +1,70 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.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 + +enum layers{ + MAC_BASE, + MAC_FN, + WIN_BASE, + WIN_FN, +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_92_iso( + KC_MUTE, KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_INS, KC_DEL, KC_MUTE, + MC_1, 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, + MC_2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGDN, + MC_3, KC_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, + MC_4, 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, + MC_5, KC_LCTL, KC_LOPT, KC_LCMD, MO(MAC_FN), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN] = LAYOUT_92_iso( + 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_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_BASE] = LAYOUT_92_iso( + 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_INS, KC_DEL, KC_MUTE, + MC_1, 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, + MC_2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGDN, + MC_3, KC_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, + MC_4, 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, + MC_5, KC_LCTL, KC_LWIN, KC_LALT, MO(WIN_FN), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_FN] = LAYOUT_92_iso( + RGB_TOG, _______, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; + +#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [MAC_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [WIN_FN] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } +}; +#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keychron/q11/iso_encoder/keymaps/via/rules.mk b/keyboards/keychron/q11/iso_encoder/keymaps/via/rules.mk new file mode 100755 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/keychron/q11/iso_encoder/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keychron/q11/iso_encoder/rules.mk b/keyboards/keychron/q11/iso_encoder/rules.mk new file mode 100755 index 00000000000..ac78b227d60 --- /dev/null +++ b/keyboards/keychron/q11/iso_encoder/rules.mk @@ -0,0 +1,4 @@ +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + +SERIAL_DRIVER = usart diff --git a/keyboards/keychron/q11/q11.c b/keyboards/keychron/q11/q11.c index 8cfbb38fff0..eccb5473e15 100755 --- a/keyboards/keychron/q11/q11.c +++ b/keyboards/keychron/q11/q11.c @@ -47,7 +47,7 @@ bool dip_switch_update_kb(uint8_t index, bool active) { } #endif -#if defined(RGB_MATRIX_ENABLE) && (defined(CAPS_LOCK_LED_INDEX) || defined(NUM_LOCK_LED_INDEX)) +#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; @@ -100,3 +100,63 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { return true; } #endif + +#define ADC_BUFFER_DEPTH 1 +#define ADC_NUM_CHANNELS 1 +#define ADC_SAMPLING_RATE ADC_SMPR_SMP_12P5 +#define ADC_RESOLUTION ADC_CFGR_RES_10BITS + +static int16_t analogReadPin_my(pin_t pin) { + ADCConfig adcCfg = {}; + adcsample_t sampleBuffer[ADC_NUM_CHANNELS * ADC_BUFFER_DEPTH]; + ADCDriver *targetDriver = &ADCD1; + ADCConversionGroup adcConversionGroup = { + .circular = FALSE, + .num_channels = (uint16_t)(ADC_NUM_CHANNELS), + .cfgr = ADC_RESOLUTION, + }; + + palSetLineMode(pin, PAL_MODE_INPUT_ANALOG); + switch (pin) { + case B0: + adcConversionGroup.smpr[2] = ADC_SMPR2_SMP_AN15(ADC_SAMPLING_RATE); + adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(ADC_CHANNEL_IN15); + sampleBuffer[0] = 0; + break; + case B1: + adcConversionGroup.smpr[2] = ADC_SMPR2_SMP_AN16(ADC_SAMPLING_RATE); + adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(ADC_CHANNEL_IN16); + sampleBuffer[0] = 0; + break; + default: + return 0; + } + adcStart(targetDriver, &adcCfg); + if (adcConvert(targetDriver, &adcConversionGroup, &sampleBuffer[0], ADC_BUFFER_DEPTH) != MSG_OK) { + return 0; + } + + return *sampleBuffer; +} + +void keyboard_post_init_kb(void) { + // 1. The pin A5/B5 of the USB C interface in the left hand is connected to the pin A0 of MCU, + // A0 will be set to output and write high when keyboard initial. + // 2. The same pin in the right hand is connected to the pin B0 and B1 of MCU respectively, + // and the ADC function of B0 and B1 will be enabled when keyboard initial. + // 3. because the serial usart RXD and TXD is multiplexed on USB's D+ and D- in the right hand. + // So detect the voltage on the pin A5/B5 of the USB C interface by ADC, + // and disable USB connectivity when the ADC value exceeds 1000, + // to avoid affecting the serial usart communication between the left hand and the right hand. + if (is_keyboard_left()) { + setPinOutput(A0); + writePinHigh(A0); + } else { + if ((analogReadPin_my(B0) > 1000) || (analogReadPin_my(B1) > 1000)) { + setPinInput(A11); + setPinInput(A12); + } + } + + keyboard_post_init_user(); +} diff --git a/keyboards/keychron/q11/readme.md b/keyboards/keychron/q11/readme.md index 3dad920e04e..e6ed2afb750 100644 --- a/keyboards/keychron/q11/readme.md +++ b/keyboards/keychron/q11/readme.md @@ -11,11 +11,13 @@ A customizable 75% split keyboard. Make example for this keyboard (after setting up your build environment): make keychron/q11/ansi_encoder:default + make keychron/q11/iso_encoder:default Flashing example for this keyboard: make keychron/q11/ansi_encoder:default:flash + make keychron/q11/iso_encoder:default:flash -**Reset Key**: Hold down the key located at *K01*, which programmed as *Esc* while plugging in the keyboard. +**Reset Key**: The master and slave side should be flashed individually, to enter flashing mode, hold down the key located at *K01*, which programmed as *Esc* while plugging in the keyboard for the master side and hold down the key located at *K67*, which programmed as *Del* while plugging in the keyboard for the slave side. 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/keychron/q12/ansi_encoder/rules.mk b/keyboards/keychron/q12/ansi_encoder/rules.mk index 9958a466f6d..80a3f300bd2 100644 --- a/keyboards/keychron/q12/ansi_encoder/rules.mk +++ b/keyboards/keychron/q12/ansi_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q12/iso_encoder/rules.mk b/keyboards/keychron/q12/iso_encoder/rules.mk index df920055a08..98677249575 100644 --- a/keyboards/keychron/q12/iso_encoder/rules.mk +++ b/keyboards/keychron/q12/iso_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q2/ansi/rules.mk b/keyboards/keychron/q2/ansi/rules.mk index bc7a0e0ff31..ede7d6fab23 100644 --- a/keyboards/keychron/q2/ansi/rules.mk +++ b/keyboards/keychron/q2/ansi/rules.mk @@ -16,5 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q2/ansi_encoder/rules.mk b/keyboards/keychron/q2/ansi_encoder/rules.mk index 3de172c6e3f..b294cf950e0 100644 --- a/keyboards/keychron/q2/ansi_encoder/rules.mk +++ b/keyboards/keychron/q2/ansi_encoder/rules.mk @@ -16,5 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q2/iso/rules.mk b/keyboards/keychron/q2/iso/rules.mk index f4aca09af8a..b3de9622913 100644 --- a/keyboards/keychron/q2/iso/rules.mk +++ b/keyboards/keychron/q2/iso/rules.mk @@ -16,5 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q2/iso_encoder/rules.mk b/keyboards/keychron/q2/iso_encoder/rules.mk index 33a50c67f75..aba76c09442 100644 --- a/keyboards/keychron/q2/iso_encoder/rules.mk +++ b/keyboards/keychron/q2/iso_encoder/rules.mk @@ -16,5 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q2/jis/rules.mk b/keyboards/keychron/q2/jis/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/q2/jis/rules.mk +++ b/keyboards/keychron/q2/jis/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q2/jis_encoder/rules.mk b/keyboards/keychron/q2/jis_encoder/rules.mk index 6a772965ff6..5091fe94148 100644 --- a/keyboards/keychron/q2/jis_encoder/rules.mk +++ b/keyboards/keychron/q2/jis_encoder/rules.mk @@ -16,6 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q3/ansi/rules.mk b/keyboards/keychron/q3/ansi/rules.mk index 566c476585a..58bbb89a722 100644 --- a/keyboards/keychron/q3/ansi/rules.mk +++ b/keyboards/keychron/q3/ansi/rules.mk @@ -16,5 +16,3 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q3/ansi_encoder/rules.mk b/keyboards/keychron/q3/ansi_encoder/rules.mk index 95a153f6891..77b90f24666 100644 --- a/keyboards/keychron/q3/ansi_encoder/rules.mk +++ b/keyboards/keychron/q3/ansi_encoder/rules.mk @@ -17,9 +17,6 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q3/iso/rules.mk b/keyboards/keychron/q3/iso/rules.mk index 566c476585a..58bbb89a722 100644 --- a/keyboards/keychron/q3/iso/rules.mk +++ b/keyboards/keychron/q3/iso/rules.mk @@ -16,5 +16,3 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q3/iso_encoder/rules.mk b/keyboards/keychron/q3/iso_encoder/rules.mk index 95a153f6891..77b90f24666 100644 --- a/keyboards/keychron/q3/iso_encoder/rules.mk +++ b/keyboards/keychron/q3/iso_encoder/rules.mk @@ -17,9 +17,6 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q3/jis/rules.mk b/keyboards/keychron/q3/jis/rules.mk index 566c476585a..58bbb89a722 100644 --- a/keyboards/keychron/q3/jis/rules.mk +++ b/keyboards/keychron/q3/jis/rules.mk @@ -16,5 +16,3 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q3/jis_encoder/rules.mk b/keyboards/keychron/q3/jis_encoder/rules.mk index 95a153f6891..77b90f24666 100644 --- a/keyboards/keychron/q3/jis_encoder/rules.mk +++ b/keyboards/keychron/q3/jis_encoder/rules.mk @@ -17,9 +17,6 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q4/ansi_v1/rules.mk b/keyboards/keychron/q4/ansi_v1/rules.mk index 9111c3b9bd4..cad488b009c 100644 --- a/keyboards/keychron/q4/ansi_v1/rules.mk +++ b/keyboards/keychron/q4/ansi_v1/rules.mk @@ -16,6 +16,3 @@ LTO_ENABLE = no EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q4/ansi_v2/rules.mk b/keyboards/keychron/q4/ansi_v2/rules.mk index 9111c3b9bd4..cad488b009c 100644 --- a/keyboards/keychron/q4/ansi_v2/rules.mk +++ b/keyboards/keychron/q4/ansi_v2/rules.mk @@ -16,6 +16,3 @@ LTO_ENABLE = no EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q4/iso/rules.mk b/keyboards/keychron/q4/iso/rules.mk index 9111c3b9bd4..cad488b009c 100644 --- a/keyboards/keychron/q4/iso/rules.mk +++ b/keyboards/keychron/q4/iso/rules.mk @@ -16,6 +16,3 @@ LTO_ENABLE = no EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q5/ansi/rules.mk b/keyboards/keychron/q5/ansi/rules.mk index f2dba218bfc..e859eb9c34c 100644 --- a/keyboards/keychron/q5/ansi/rules.mk +++ b/keyboards/keychron/q5/ansi/rules.mk @@ -15,9 +15,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q5/ansi_encoder/rules.mk b/keyboards/keychron/q5/ansi_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/q5/ansi_encoder/rules.mk +++ b/keyboards/keychron/q5/ansi_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q5/iso/rules.mk b/keyboards/keychron/q5/iso/rules.mk index f2dba218bfc..e859eb9c34c 100644 --- a/keyboards/keychron/q5/iso/rules.mk +++ b/keyboards/keychron/q5/iso/rules.mk @@ -15,9 +15,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q5/iso_encoder/rules.mk b/keyboards/keychron/q5/iso_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/q5/iso_encoder/rules.mk +++ b/keyboards/keychron/q5/iso_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q6/ansi/rules.mk b/keyboards/keychron/q6/ansi/rules.mk index ce3d41a17d2..ec47b77d0f6 100644 --- a/keyboards/keychron/q6/ansi/rules.mk +++ b/keyboards/keychron/q6/ansi/rules.mk @@ -16,9 +16,6 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q6/ansi_encoder/rules.mk b/keyboards/keychron/q6/ansi_encoder/rules.mk index 95a153f6891..77b90f24666 100644 --- a/keyboards/keychron/q6/ansi_encoder/rules.mk +++ b/keyboards/keychron/q6/ansi_encoder/rules.mk @@ -17,9 +17,6 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q6/iso/rules.mk b/keyboards/keychron/q6/iso/rules.mk index 3388811adde..6548448302c 100644 --- a/keyboards/keychron/q6/iso/rules.mk +++ b/keyboards/keychron/q6/iso/rules.mk @@ -17,9 +17,6 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q6/iso_encoder/rules.mk b/keyboards/keychron/q6/iso_encoder/rules.mk index d7fe88d9ca3..548b0d696ba 100644 --- a/keyboards/keychron/q6/iso_encoder/rules.mk +++ b/keyboards/keychron/q6/iso_encoder/rules.mk @@ -18,9 +18,6 @@ LTO_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q60/ansi/rules.mk b/keyboards/keychron/q60/ansi/rules.mk index 6dcd47b1fe3..46f5aef144b 100644 --- a/keyboards/keychron/q60/ansi/rules.mk +++ b/keyboards/keychron/q60/ansi/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q65/ansi_encoder/rules.mk b/keyboards/keychron/q65/ansi_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/q65/ansi_encoder/rules.mk +++ b/keyboards/keychron/q65/ansi_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/q7/ansi/rules.mk b/keyboards/keychron/q7/ansi/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/q7/ansi/rules.mk +++ b/keyboards/keychron/q7/ansi/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q7/iso/rules.mk b/keyboards/keychron/q7/iso/rules.mk index 7f91e808b11..c37beecb9ec 100644 --- a/keyboards/keychron/q7/iso/rules.mk +++ b/keyboards/keychron/q7/iso/rules.mk @@ -15,5 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q8/ansi/rules.mk b/keyboards/keychron/q8/ansi/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/q8/ansi/rules.mk +++ b/keyboards/keychron/q8/ansi/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q8/ansi_encoder/rules.mk b/keyboards/keychron/q8/ansi_encoder/rules.mk index e94a89ab85f..5091fe94148 100644 --- a/keyboards/keychron/q8/ansi_encoder/rules.mk +++ b/keyboards/keychron/q8/ansi_encoder/rules.mk @@ -16,5 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q8/iso/rules.mk b/keyboards/keychron/q8/iso/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/q8/iso/rules.mk +++ b/keyboards/keychron/q8/iso/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q8/iso_encoder/rules.mk b/keyboards/keychron/q8/iso_encoder/rules.mk index 6a772965ff6..5091fe94148 100644 --- a/keyboards/keychron/q8/iso_encoder/rules.mk +++ b/keyboards/keychron/q8/iso_encoder/rules.mk @@ -16,6 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q9/ansi/rules.mk b/keyboards/keychron/q9/ansi/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/q9/ansi/rules.mk +++ b/keyboards/keychron/q9/ansi/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q9/ansi_encoder/rules.mk b/keyboards/keychron/q9/ansi_encoder/rules.mk index 7caead18d7f..911c497043a 100644 --- a/keyboards/keychron/q9/ansi_encoder/rules.mk +++ b/keyboards/keychron/q9/ansi_encoder/rules.mk @@ -17,6 +17,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q9/iso/rules.mk b/keyboards/keychron/q9/iso/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/q9/iso/rules.mk +++ b/keyboards/keychron/q9/iso/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/q9/iso_encoder/rules.mk b/keyboards/keychron/q9/iso_encoder/rules.mk index 7caead18d7f..911c497043a 100644 --- a/keyboards/keychron/q9/iso_encoder/rules.mk +++ b/keyboards/keychron/q9/iso_encoder/rules.mk @@ -17,6 +17,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/s1/ansi/rgb/rules.mk b/keyboards/keychron/s1/ansi/rgb/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/s1/ansi/rgb/rules.mk +++ b/keyboards/keychron/s1/ansi/rgb/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/s1/ansi/white/rules.mk b/keyboards/keychron/s1/ansi/white/rules.mk index 1fa4f83a77c..cb70ced9173 100644 --- a/keyboards/keychron/s1/ansi/white/rules.mk +++ b/keyboards/keychron/s1/ansi/white/rules.mk @@ -15,6 +15,3 @@ LED_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v1/ansi/rules.mk b/keyboards/keychron/v1/ansi/rules.mk index f2dba218bfc..e859eb9c34c 100644 --- a/keyboards/keychron/v1/ansi/rules.mk +++ b/keyboards/keychron/v1/ansi/rules.mk @@ -15,9 +15,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v1/ansi_encoder/rules.mk b/keyboards/keychron/v1/ansi_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v1/ansi_encoder/rules.mk +++ b/keyboards/keychron/v1/ansi_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v1/iso/rules.mk b/keyboards/keychron/v1/iso/rules.mk index f2dba218bfc..e859eb9c34c 100644 --- a/keyboards/keychron/v1/iso/rules.mk +++ b/keyboards/keychron/v1/iso/rules.mk @@ -15,9 +15,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v1/iso_encoder/rules.mk b/keyboards/keychron/v1/iso_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v1/iso_encoder/rules.mk +++ b/keyboards/keychron/v1/iso_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v1/jis/rules.mk b/keyboards/keychron/v1/jis/rules.mk index f2dba218bfc..e859eb9c34c 100644 --- a/keyboards/keychron/v1/jis/rules.mk +++ b/keyboards/keychron/v1/jis/rules.mk @@ -15,9 +15,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v1/jis_encoder/rules.mk b/keyboards/keychron/v1/jis_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v1/jis_encoder/rules.mk +++ b/keyboards/keychron/v1/jis_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v10/ansi_encoder/rules.mk b/keyboards/keychron/v10/ansi_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v10/ansi_encoder/rules.mk +++ b/keyboards/keychron/v10/ansi_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v10/iso_encoder/rules.mk b/keyboards/keychron/v10/iso_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v10/iso_encoder/rules.mk +++ b/keyboards/keychron/v10/iso_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v2/ansi/rules.mk b/keyboards/keychron/v2/ansi/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/v2/ansi/rules.mk +++ b/keyboards/keychron/v2/ansi/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v2/ansi_encoder/rules.mk b/keyboards/keychron/v2/ansi_encoder/rules.mk index 6a772965ff6..5091fe94148 100644 --- a/keyboards/keychron/v2/ansi_encoder/rules.mk +++ b/keyboards/keychron/v2/ansi_encoder/rules.mk @@ -16,6 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v2/iso/rules.mk b/keyboards/keychron/v2/iso/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/v2/iso/rules.mk +++ b/keyboards/keychron/v2/iso/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v2/iso_encoder/rules.mk b/keyboards/keychron/v2/iso_encoder/rules.mk index 6a772965ff6..5091fe94148 100644 --- a/keyboards/keychron/v2/iso_encoder/rules.mk +++ b/keyboards/keychron/v2/iso_encoder/rules.mk @@ -16,6 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v2/jis/rules.mk b/keyboards/keychron/v2/jis/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/v2/jis/rules.mk +++ b/keyboards/keychron/v2/jis/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v2/jis_encoder/rules.mk b/keyboards/keychron/v2/jis_encoder/rules.mk index 6a772965ff6..5091fe94148 100644 --- a/keyboards/keychron/v2/jis_encoder/rules.mk +++ b/keyboards/keychron/v2/jis_encoder/rules.mk @@ -16,6 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v3/ansi/rules.mk b/keyboards/keychron/v3/ansi/rules.mk index 2b4a67b1eee..c37beecb9ec 100644 --- a/keyboards/keychron/v3/ansi/rules.mk +++ b/keyboards/keychron/v3/ansi/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v3/ansi_encoder/rules.mk b/keyboards/keychron/v3/ansi_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v3/ansi_encoder/rules.mk +++ b/keyboards/keychron/v3/ansi_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v3/iso/rules.mk b/keyboards/keychron/v3/iso/rules.mk index 201148f39d4..2eadfbded90 100644 --- a/keyboards/keychron/v3/iso/rules.mk +++ b/keyboards/keychron/v3/iso/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v3/iso_encoder/rules.mk b/keyboards/keychron/v3/iso_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v3/iso_encoder/rules.mk +++ b/keyboards/keychron/v3/iso_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v3/jis/rules.mk b/keyboards/keychron/v3/jis/rules.mk index 7f91e808b11..c37beecb9ec 100644 --- a/keyboards/keychron/v3/jis/rules.mk +++ b/keyboards/keychron/v3/jis/rules.mk @@ -15,5 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/v3/jis_encoder/rules.mk b/keyboards/keychron/v3/jis_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v3/jis_encoder/rules.mk +++ b/keyboards/keychron/v3/jis_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v4/ansi/rules.mk b/keyboards/keychron/v4/ansi/rules.mk index 6dcd47b1fe3..46f5aef144b 100644 --- a/keyboards/keychron/v4/ansi/rules.mk +++ b/keyboards/keychron/v4/ansi/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v4/iso/rules.mk b/keyboards/keychron/v4/iso/rules.mk index 6dcd47b1fe3..46f5aef144b 100644 --- a/keyboards/keychron/v4/iso/rules.mk +++ b/keyboards/keychron/v4/iso/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v5/ansi/rules.mk b/keyboards/keychron/v5/ansi/rules.mk index f2dba218bfc..e859eb9c34c 100644 --- a/keyboards/keychron/v5/ansi/rules.mk +++ b/keyboards/keychron/v5/ansi/rules.mk @@ -15,9 +15,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v5/ansi_encoder/rules.mk b/keyboards/keychron/v5/ansi_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v5/ansi_encoder/rules.mk +++ b/keyboards/keychron/v5/ansi_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v5/iso/rules.mk b/keyboards/keychron/v5/iso/rules.mk index f2dba218bfc..e859eb9c34c 100644 --- a/keyboards/keychron/v5/iso/rules.mk +++ b/keyboards/keychron/v5/iso/rules.mk @@ -15,9 +15,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v5/iso_encoder/rules.mk b/keyboards/keychron/v5/iso_encoder/rules.mk index 5df3cbccaf1..7da353fbd16 100644 --- a/keyboards/keychron/v5/iso_encoder/rules.mk +++ b/keyboards/keychron/v5/iso_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v6/ansi/rules.mk b/keyboards/keychron/v6/ansi/rules.mk index de86b770f3a..980311d3f2f 100644 --- a/keyboards/keychron/v6/ansi/rules.mk +++ b/keyboards/keychron/v6/ansi/rules.mk @@ -15,9 +15,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v6/ansi_encoder/rules.mk b/keyboards/keychron/v6/ansi_encoder/rules.mk index 9958a466f6d..80a3f300bd2 100644 --- a/keyboards/keychron/v6/ansi_encoder/rules.mk +++ b/keyboards/keychron/v6/ansi_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v6/iso/rules.mk b/keyboards/keychron/v6/iso/rules.mk index de86b770f3a..980311d3f2f 100644 --- a/keyboards/keychron/v6/iso/rules.mk +++ b/keyboards/keychron/v6/iso/rules.mk @@ -15,9 +15,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v6/iso_encoder/rules.mk b/keyboards/keychron/v6/iso_encoder/rules.mk index df920055a08..98677249575 100644 --- a/keyboards/keychron/v6/iso_encoder/rules.mk +++ b/keyboards/keychron/v6/iso_encoder/rules.mk @@ -16,9 +16,6 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/keychron/v7/ansi/rules.mk b/keyboards/keychron/v7/ansi/rules.mk index 6dcd47b1fe3..46f5aef144b 100644 --- a/keyboards/keychron/v7/ansi/rules.mk +++ b/keyboards/keychron/v7/ansi/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v7/iso/rules.mk b/keyboards/keychron/v7/iso/rules.mk index 6dcd47b1fe3..46f5aef144b 100644 --- a/keyboards/keychron/v7/iso/rules.mk +++ b/keyboards/keychron/v7/iso/rules.mk @@ -15,6 +15,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v8/ansi/rules.mk b/keyboards/keychron/v8/ansi/rules.mk index bdb97dbf1c7..e506e322d59 100644 --- a/keyboards/keychron/v8/ansi/rules.mk +++ b/keyboards/keychron/v8/ansi/rules.mk @@ -17,6 +17,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v8/ansi_encoder/rules.mk b/keyboards/keychron/v8/ansi_encoder/rules.mk index d2bee999c86..e3b0d8f03f1 100644 --- a/keyboards/keychron/v8/ansi_encoder/rules.mk +++ b/keyboards/keychron/v8/ansi_encoder/rules.mk @@ -17,6 +17,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v8/iso/rules.mk b/keyboards/keychron/v8/iso/rules.mk index fec3d8d15ce..8edab2465bd 100644 --- a/keyboards/keychron/v8/iso/rules.mk +++ b/keyboards/keychron/v8/iso/rules.mk @@ -16,6 +16,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keychron/v8/iso_encoder/rules.mk b/keyboards/keychron/v8/iso_encoder/rules.mk index d2bee999c86..e3b0d8f03f1 100644 --- a/keyboards/keychron/v8/iso_encoder/rules.mk +++ b/keyboards/keychron/v8/iso_encoder/rules.mk @@ -17,6 +17,3 @@ RGB_MATRIX_ENABLE = yes EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - diff --git a/keyboards/keygem/kg60ansi/config.h b/keyboards/keygem/kg60ansi/config.h index d2cf17fe2b3..cf2fe9e01b9 100644 --- a/keyboards/keygem/kg60ansi/config.h +++ b/keyboards/keygem/kg60ansi/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 64 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keygem/kg60ansi/info.json b/keyboards/keygem/kg60ansi/info.json index 2d4fa5365b1..cf9e7837a88 100644 --- a/keyboards/keygem/kg60ansi/info.json +++ b/keyboards/keygem/kg60ansi/info.json @@ -12,6 +12,7 @@ "pin": "F7" }, "rgblight": { + "led_count": 64, "max_brightness": 108 }, "matrix_pins": { diff --git a/keyboards/keygem/kg65rgbv2/config.h b/keyboards/keygem/kg65rgbv2/config.h index ab1fab73ffb..cf2fe9e01b9 100644 --- a/keyboards/keygem/kg65rgbv2/config.h +++ b/keyboards/keygem/kg65rgbv2/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 68 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keygem/kg65rgbv2/info.json b/keyboards/keygem/kg65rgbv2/info.json index 8dccdc233d0..a0e34eba716 100644 --- a/keyboards/keygem/kg65rgbv2/info.json +++ b/keyboards/keygem/kg65rgbv2/info.json @@ -12,6 +12,7 @@ "pin": "F7" }, "rgblight": { + "led_count": 68, "max_brightness": 96 }, "matrix_pins": { diff --git a/keyboards/keyhive/absinthe/config.h b/keyboards/keyhive/absinthe/config.h index c916ffc430a..e303f993724 100644 --- a/keyboards/keyhive/absinthe/config.h +++ b/keyboards/keyhive/absinthe/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 32 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keyhive/absinthe/info.json b/keyboards/keyhive/absinthe/info.json index 8001d6db017..78c558b0321 100644 --- a/keyboards/keyhive/absinthe/info.json +++ b/keyboards/keyhive/absinthe/info.json @@ -8,6 +8,12 @@ "pid": "0xFEED", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 32, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/keyhive/ergosaurus/config.h b/keyboards/keyhive/ergosaurus/config.h index e7de4ca7bdd..e87ada125b8 100644 --- a/keyboards/keyhive/ergosaurus/config.h +++ b/keyboards/keyhive/ergosaurus/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once #ifdef RGBLIGHT_ENABLE - #define RGBLED_NUM 32 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keyhive/ergosaurus/info.json b/keyboards/keyhive/ergosaurus/info.json index 28461eaf85a..cca059f6679 100644 --- a/keyboards/keyhive/ergosaurus/info.json +++ b/keyboards/keyhive/ergosaurus/info.json @@ -11,7 +11,11 @@ "pin": "B6" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 32, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["D7", "C6", "D0", "D1", "F7", "B1", "B3", "B2"], diff --git a/keyboards/keyhive/smallice/config.h b/keyboards/keyhive/smallice/config.h index 7113cd26e91..2cd149f6ebf 100644 --- a/keyboards/keyhive/smallice/config.h +++ b/keyboards/keyhive/smallice/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 12 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/keyhive/smallice/info.json b/keyboards/keyhive/smallice/info.json index afe95e7aa79..5e48c53c5a9 100644 --- a/keyboards/keyhive/smallice/info.json +++ b/keyboards/keyhive/smallice/info.json @@ -8,6 +8,12 @@ "pid": "0x5341", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/keyhive/uno/rev1/config.h b/keyboards/keyhive/uno/rev1/config.h index 414590f6437..27839552395 100644 --- a/keyboards/keyhive/uno/rev1/config.h +++ b/keyboards/keyhive/uno/rev1/config.h @@ -17,7 +17,3 @@ #pragma once #define RGBLIGHT_EFFECT_RAINBOW_MOOD - -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 1 -#endif diff --git a/keyboards/keyhive/uno/rev1/info.json b/keyboards/keyhive/uno/rev1/info.json index 69fe9afd776..7e5030ba2ac 100644 --- a/keyboards/keyhive/uno/rev1/info.json +++ b/keyboards/keyhive/uno/rev1/info.json @@ -3,6 +3,9 @@ "usb": { "device_version": "0.0.1" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/keyhive/uno/rev2/config.h b/keyboards/keyhive/uno/rev2/config.h index 414590f6437..27839552395 100644 --- a/keyboards/keyhive/uno/rev2/config.h +++ b/keyboards/keyhive/uno/rev2/config.h @@ -17,7 +17,3 @@ #pragma once #define RGBLIGHT_EFFECT_RAINBOW_MOOD - -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 1 -#endif diff --git a/keyboards/keyhive/uno/rev2/info.json b/keyboards/keyhive/uno/rev2/info.json index 0af41bab773..cfa07576da0 100644 --- a/keyboards/keyhive/uno/rev2/info.json +++ b/keyboards/keyhive/uno/rev2/info.json @@ -3,6 +3,9 @@ "usb": { "device_version": "0.0.2" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/keyhive/ut472/config.h b/keyboards/keyhive/ut472/config.h index 5ab93481266..f13992154df 100644 --- a/keyboards/keyhive/ut472/config.h +++ b/keyboards/keyhive/ut472/config.h @@ -31,7 +31,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/keyhive/ut472/info.json b/keyboards/keyhive/ut472/info.json index 9755bd65691..d2211016e79 100644 --- a/keyboards/keyhive/ut472/info.json +++ b/keyboards/keyhive/ut472/info.json @@ -8,6 +8,11 @@ "pid": "0x0472", "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8 + }, "ws2812": { "pin": "C6" }, diff --git a/keyboards/keyquest/enclave/config.h b/keyboards/keyquest/enclave/config.h index 012d53a36b2..4a3694901df 100644 --- a/keyboards/keyquest/enclave/config.h +++ b/keyboards/keyquest/enclave/config.h @@ -13,13 +13,6 @@ along with this program. If not, see . #pragma once -/* RGB light setup*/ -#define RGBLED_NUM 2 -#define RGBLIGHT_SLEEP -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - /* RGB light animations*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/keyquest/enclave/info.json b/keyboards/keyquest/enclave/info.json index 8135d7fec2e..9a9f438d97f 100644 --- a/keyboards/keyquest/enclave/info.json +++ b/keyboards/keyquest/enclave/info.json @@ -11,7 +11,10 @@ "pin": "B5" }, "rgblight": { - "max_brightness": 200 + "hue_steps": 10, + "led_count": 2, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["B4", "B7", "C7"], diff --git a/keyboards/keysofkings/twokey/config.h b/keyboards/keysofkings/twokey/config.h index 6fea0e2cb61..e28c7799151 100755 --- a/keyboards/keysofkings/twokey/config.h +++ b/keyboards/keysofkings/twokey/config.h @@ -33,10 +33,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 4 -#define RGBLIGHT_SAT_STEP 4 -#define RGBLIGHT_VAL_STEP 4 #define AUDIO_PIN B6 #define AUDIO_CLICKY #endif diff --git a/keyboards/keysofkings/twokey/info.json b/keyboards/keysofkings/twokey/info.json index 8040b94face..e6c75a2b411 100644 --- a/keyboards/keysofkings/twokey/info.json +++ b/keyboards/keysofkings/twokey/info.json @@ -8,6 +8,12 @@ "pid": "0xAE12", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 4, + "saturation_steps": 4, + "brightness_steps": 4, + "led_count": 5 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/keystonecaps/gameroyadvance/config.h b/keyboards/keystonecaps/gameroyadvance/config.h index adca3366f23..11e149c6be5 100644 --- a/keyboards/keystonecaps/gameroyadvance/config.h +++ b/keyboards/keystonecaps/gameroyadvance/config.h @@ -33,7 +33,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 0 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/keystonecaps/gameroyadvance/info.json b/keyboards/keystonecaps/gameroyadvance/info.json index 884bc706e49..2aca3411ae1 100644 --- a/keyboards/keystonecaps/gameroyadvance/info.json +++ b/keyboards/keystonecaps/gameroyadvance/info.json @@ -18,6 +18,11 @@ {"pin_a": "B5", "pin_b": "B4"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 0 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/kibou/harbour/info.json b/keyboards/kibou/harbour/info.json index ae5fe10d68d..a5417e1ae52 100644 --- a/keyboards/kibou/harbour/info.json +++ b/keyboards/kibou/harbour/info.json @@ -1,7 +1,7 @@ { "manufacturer": "kibou", "keyboard_name": "harbour", - "maintainer": "kibou", + "maintainer": "FanXingStudio", "bootloader": "stm32-dfu", "diode_direction": "ROW2COL", "features": { @@ -26,77 +26,158 @@ "indicators": { "caps_lock": "C8" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker_tsangan_split_bs" + }, "layouts": { - "LAYOUT": { + "LAYOUT_65_ansi_blocker_tsangan_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": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "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, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 14], "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, 13], "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, 2], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_wkl_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": [0,15], "x": 15, "y": 0 }, - { "matrix": [1,0], "x": 0, "y": 1, "w": 1.5 }, - { "matrix": [1,2], "x": 1.5, "y": 1 }, - { "matrix": [1,3], "x": 2.5, "y": 1 }, - { "matrix": [1,4], "x": 3.5, "y": 1 }, - { "matrix": [1,5], "x": 4.5, "y": 1 }, - { "matrix": [1,6], "x": 5.5, "y": 1 }, - { "matrix": [1,7], "x": 6.5, "y": 1 }, - { "matrix": [1,8], "x": 7.5, "y": 1 }, - { "matrix": [1,9], "x": 8.5, "y": 1 }, - { "matrix": [1,10], "x": 9.5, "y": 1 }, - { "matrix": [1,11], "x": 10.5, "y": 1 }, - { "matrix": [1,12], "x": 11.5, "y": 1 }, - { "matrix": [1,13], "x": 12.5, "y": 1 }, - { "matrix": [1,14], "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,2], "x": 1.75, "y": 2 }, - { "matrix": [2,3], "x": 2.75, "y": 2 }, - { "matrix": [2,4], "x": 3.75, "y": 2 }, - { "matrix": [2,5], "x": 4.75, "y": 2 }, - { "matrix": [2,6], "x": 5.75, "y": 2 }, - { "matrix": [2,7], "x": 6.75, "y": 2 }, - { "matrix": [2,8], "x": 7.75, "y": 2 }, - { "matrix": [2,9], "x": 8.75, "y": 2 }, - { "matrix": [2,10], "x": 9.75, "y": 2 }, - { "matrix": [2,11], "x": 10.75, "y": 2 }, - { "matrix": [2,12], "x": 11.75, "y": 2 }, - { "matrix": [2,14], "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,13], "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,2], "x": 1.5, "y": 4 }, - { "matrix": [4,3], "x": 2.5, "y": 4, "w": 1.5 }, - { "matrix": [4,7], "x": 4, "y": 4, "w": 7 }, - { "matrix": [4,11], "x": 11, "y": 4, "w": 1.75 }, - { "matrix": [4,13], "x": 13, "y": 4 }, - { "matrix": [4,14], "x": 14, "y": 4 }, - { "matrix": [4,15], "x": 15, "y": 4 } + {"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, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "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, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 14], "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, 13], "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, 3], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] } } -} \ No newline at end of file +} diff --git a/keyboards/kibou/harbour/keymaps/default/keymap.c b/keyboards/kibou/harbour/keymaps/default/keymap.c index 7586fc24e06..a949c5dc4de 100644 --- a/keyboards/kibou/harbour/keymaps/default/keymap.c +++ b/keyboards/kibou/harbour/keymaps/default/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_65_ansi_blocker_tsangan_split_bs( KC_ESC, KC_1, KC_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_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_PGUP, diff --git a/keyboards/kibou/harbour/keymaps/via/keymap.c b/keyboards/kibou/harbour/keymaps/via/keymap.c index 7586fc24e06..a949c5dc4de 100644 --- a/keyboards/kibou/harbour/keymaps/via/keymap.c +++ b/keyboards/kibou/harbour/keymaps/via/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_65_ansi_blocker_tsangan_split_bs( KC_ESC, KC_1, KC_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_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_PGUP, diff --git a/keyboards/kibou/harbour/matrix_diagram.md b/keyboards/kibou/harbour/matrix_diagram.md new file mode 100644 index 00000000000..1f5097d93d8 --- /dev/null +++ b/keyboards/kibou/harbour/matrix_diagram.md @@ -0,0 +1,36 @@ +# Matrix Diagram for Kibou Harbour + +According to the GB runner, the PCB supports ISO layout, but the +supplied plate does not.[^1][^2] + +Product renders and GB runner comments both show support for split +Backspace,[^3] but no switch matrix data is currently available. + +\- @noroadsleft, 23 June, 2023 + +``` + ┌───────┐ + 2u Backspace │?? │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐?? │ ISO Enter +│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │2F │ │?? │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │?? │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │3F │ +├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ +│40 │42 │43 │47 │4B │ │4D │4E │4F │ +└─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬──┬─────┬───────────────────────────┬─────┐ +│40 │ │43 │47 │4B │ Blocker WKL +└─────┘ └─────┴───────────────────────────┴─────┘ +``` + +[^1]: [Geekhack Interest Check, Original Post](https://geekhack.org/index.php?topic=111146.msg3012509#msg3012509) +[^2]: [Reddit Interest Check](https://www.reddit.com/r/MechanicalKeyboards/comments/lgyv5p/ic_harbour_%E6%B8%AF%E5%8F%A3_a_65_gasket_mounted_board_designed/gmudnjb/) +[^3]: [Geekhack Interest Check, reply #102](https://geekhack.org/index.php?topic=111146.msg3022822#msg3022822) diff --git a/keyboards/kibou/harbour/readme.md b/keyboards/kibou/harbour/readme.md index f957e317953..31ac8dbd83e 100644 --- a/keyboards/kibou/harbour/readme.md +++ b/keyboards/kibou/harbour/readme.md @@ -1,6 +1,6 @@ # harbour -* Keyboard Maintainer: [kibou](https://kibou.store/) +* Keyboard Maintainer: [FanXingStudio](https://github.com/FanXingStudio) * Hardware Supported: harbour PCBs, STM32F401 * Hardware Availability: https://kibou.store/ diff --git a/keyboards/kibou/wendy/info.json b/keyboards/kibou/wendy/info.json index 4277cc03bd2..1ab0ca8e7fd 100644 --- a/keyboards/kibou/wendy/info.json +++ b/keyboards/kibou/wendy/info.json @@ -26,101 +26,310 @@ "indicators": { "caps_lock": "B12" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "tkl_ansi_split_bs_rshift", + "tkl_iso_split_bs_rshift" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 12.75, "y": 0}, + {"label": "Print Screen", "matrix": [0, 15], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "\\", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Delete", "matrix": [1, 14], "x": 14, "y": 1.25}, + {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [1, 17], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [2, 17], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "ANSI Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25}, + {"label": "ISO Enter", "matrix": [3, 14], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Left Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "ISO \\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Right Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "\u2298", "matrix": [4, 14], "x": 14, "y": 4.25}, + {"label": "\u2191", "matrix": [4, 16], "x": 16.25, "y": 4.25}, + + {"label": "Left Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "Left GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Left Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Right Alt", "matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "Right GUI", "matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Right Ctrl", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "\u2190", "matrix": [5, 15], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 16], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 17], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 12.75, "y": 0}, + {"label": "Print Screen", "matrix": [0, 15], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "\\", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Delete", "matrix": [1, 14], "x": 14, "y": 1.25}, + {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [1, 17], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [2, 17], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "\u2298", "matrix": [4, 14], "x": 14, "y": 4.25}, + {"label": "\u2191", "matrix": [4, 16], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "\u2190", "matrix": [5, 15], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 16], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 17], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_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,10], "x":9.75, "y":0}, - {"matrix": [0,11], "x":10.75, "y":0}, - {"matrix": [0,12], "x":11.75, "y":0}, - {"matrix": [0,13], "x":12.75, "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":1.5}, - {"matrix": [3,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,13], "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,12], "x":12.25, "y":4.25, "w":1.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.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,6], "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,14], "x":13.75, "y":5.25, "w":1.25}, - {"matrix": [5,15], "x":15.25, "y":5.25}, - {"matrix": [5,16], "x":16.25, "y":5.25}, - {"matrix": [5,17], "x":17.25, "y":5.25} + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 12.75, "y": 0}, + {"label": "Print Screen", "matrix": [0, 15], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 16], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 17], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "\\", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Delete", "matrix": [1, 14], "x": 14, "y": 1.25}, + {"label": "Insert", "matrix": [1, 15], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 16], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [1, 17], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "Delete", "matrix": [2, 15], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 16], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [2, 17], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 13], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "\u2298", "matrix": [4, 14], "x": 14, "y": 4.25}, + {"label": "\u2191", "matrix": [4, 16], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Menu", "matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "\u2190", "matrix": [5, 15], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 16], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 17], "x": 17.25, "y": 5.25} ] } } -} \ No newline at end of file +} diff --git a/keyboards/kibou/wendy/keymaps/default/keymap.c b/keyboards/kibou/wendy/keymaps/default/keymap.c index f7618e9a086..a5f630a2cd1 100644 --- a/keyboards/kibou/wendy/keymaps/default/keymap.c +++ b/keyboards/kibou/wendy/keymaps/default/keymap.c @@ -4,11 +4,12 @@ #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_BSLS, 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_ENTER, 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_LSFT, KC_NO, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RIGHT) + [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_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_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_LSFT, KC_NO, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) }; diff --git a/keyboards/kibou/wendy/keymaps/via/keymap.c b/keyboards/kibou/wendy/keymaps/via/keymap.c index f7618e9a086..a5f630a2cd1 100644 --- a/keyboards/kibou/wendy/keymaps/via/keymap.c +++ b/keyboards/kibou/wendy/keymaps/via/keymap.c @@ -4,11 +4,12 @@ #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_BSLS, 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_ENTER, 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_LSFT, KC_NO, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RIGHT) + [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_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_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_LSFT, KC_NO, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) }; diff --git a/keyboards/kibou/wendy/matrix_diagram.md b/keyboards/kibou/wendy/matrix_diagram.md new file mode 100644 index 00000000000..042d1bff95c --- /dev/null +++ b/keyboards/kibou/wendy/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for Kibou Wendy + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┬───┐ +│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││0A │0B │0C │0D │ │0F │0G │0H │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E ││1F │1G │1H │ │?? │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2F │2G │2H │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐3E │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4E │ │4G │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│50 │51 │52 │56 │5A │5B │5C │5E ││5F │5G │5H │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│40 │ 2.25u LShift 2.75u RShift │4C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│50 │51 │52 │56 │5B │5C │5E │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` diff --git a/keyboards/kibou/winter/info.json b/keyboards/kibou/winter/info.json index d4d8005aa3d..47a359ec9b3 100644 --- a/keyboards/kibou/winter/info.json +++ b/keyboards/kibou/winter/info.json @@ -26,8 +26,11 @@ "pid": "0xA003", "vid": "0x586A" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_ansi_wkl" + }, "layouts": { - "LAYOUT": { + "LAYOUT_tkl_ansi_wkl": { "layout": [ { "matrix": [0, 0], "x": 0, "y": 0 }, { "matrix": [0, 2], "x": 2, "y": 0 }, diff --git a/keyboards/kibou/winter/keymaps/default/keymap.c b/keyboards/kibou/winter/keymaps/default/keymap.c index ecaadeb8986..0837234be5f 100644 --- a/keyboards/kibou/winter/keymaps/default/keymap.c +++ b/keyboards/kibou/winter/keymaps/default/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = 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, diff --git a/keyboards/kibou/winter/keymaps/via/keymap.c b/keyboards/kibou/winter/keymaps/via/keymap.c index ecaadeb8986..0837234be5f 100644 --- a/keyboards/kibou/winter/keymaps/via/keymap.c +++ b/keyboards/kibou/winter/keymaps/via/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = 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, diff --git a/keyboards/kikoslab/ellora65/info.json b/keyboards/kikoslab/ellora65/info.json index 5f3646476bb..0ab7f7015af 100644 --- a/keyboards/kikoslab/ellora65/info.json +++ b/keyboards/kikoslab/ellora65/info.json @@ -18,6 +18,9 @@ {"pin_a": "B0", "pin_b": "B1"} ] }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/kin80/blackpill103/rules.mk b/keyboards/kin80/blackpill103/rules.mk index a92b0993283..8b137891791 100644 --- a/keyboards/kin80/blackpill103/rules.mk +++ b/keyboards/kin80/blackpill103/rules.mk @@ -1,2 +1 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + diff --git a/keyboards/kinesis/keymaps/tw1t611/keymap.c b/keyboards/kinesis/keymaps/tw1t611/keymap.c index 0a812aef35b..f4197822eac 100644 --- a/keyboards/kinesis/keymaps/tw1t611/keymap.c +++ b/keyboards/kinesis/keymaps/tw1t611/keymap.c @@ -46,19 +46,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______ ,_______ ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/kinesis/kint2pp/info.json b/keyboards/kinesis/kint2pp/info.json index 74d96d59e04..25ab5ae2735 100644 --- a/keyboards/kinesis/kint2pp/info.json +++ b/keyboards/kinesis/kint2pp/info.json @@ -7,6 +7,9 @@ "device_version": "0.0.2", "max_power": 100 }, + "build": { + "debounce_type": "sym_eager_pk" + }, "matrix_pins": { "cols": ["E7", "F0", "F7", "B1", "B3", "B0", "D5"], "rows": ["D7", "E0", "E1", "C0", "C6", "F6", "D4", "D2", "D3", "D0", "B7", "D1", "E6", "B4", "B2"] diff --git a/keyboards/kinesis/kint2pp/rules.mk b/keyboards/kinesis/kint2pp/rules.mk index 7c48a98bfcb..e69de29bb2d 100644 --- a/keyboards/kinesis/kint2pp/rules.mk +++ b/keyboards/kinesis/kint2pp/rules.mk @@ -1,3 +0,0 @@ -# Debounce eagerly (report change immediately), keep per-key timers. We can use -# this because the kinT does not have to deal with noise. -DEBOUNCE_TYPE = sym_eager_pk diff --git a/keyboards/kinesis/kint36/info.json b/keyboards/kinesis/kint36/info.json index 815b6cb8719..cc497f8722e 100644 --- a/keyboards/kinesis/kint36/info.json +++ b/keyboards/kinesis/kint36/info.json @@ -7,6 +7,9 @@ "device_version": "0.0.1", "max_power": 100 }, + "build": { + "debounce_type": "sym_eager_pk" + }, "matrix_pins": { "cols": ["B3", "D1", "C0", "D5", "C1", "B2", "D4"], "rows": ["D3", "C3", "C4", "C6", "D2", "B0", "D7", "A12", "A13", "B17", "B16", "D0", "B1", "C2", "D6"] diff --git a/keyboards/kinesis/kint36/rules.mk b/keyboards/kinesis/kint36/rules.mk index 7c48a98bfcb..e69de29bb2d 100644 --- a/keyboards/kinesis/kint36/rules.mk +++ b/keyboards/kinesis/kint36/rules.mk @@ -1,3 +0,0 @@ -# Debounce eagerly (report change immediately), keep per-key timers. We can use -# this because the kinT does not have to deal with noise. -DEBOUNCE_TYPE = sym_eager_pk diff --git a/keyboards/kinesis/kint41/info.json b/keyboards/kinesis/kint41/info.json index 1901ed1d3bb..dd0292be114 100644 --- a/keyboards/kinesis/kint41/info.json +++ b/keyboards/kinesis/kint41/info.json @@ -7,6 +7,9 @@ "device_version": "0.0.1", "max_power": 100 }, + "build": { + "debounce_type": "sym_eager_pk" + }, "matrix_pins": { "cols": ["LINE_PIN18", "LINE_PIN14", "LINE_PIN15", "LINE_PIN20", "LINE_PIN22", "LINE_PIN19", "LINE_PIN6"], "rows": ["LINE_PIN8", "LINE_PIN9", "LINE_PIN10", "LINE_PIN11", "LINE_PIN7", "LINE_PIN16", "LINE_PIN5", "LINE_PIN3", "LINE_PIN4", "LINE_PIN1", "LINE_PIN0", "LINE_PIN2", "LINE_PIN17", "LINE_PIN23", "LINE_PIN21"] diff --git a/keyboards/kinesis/kint41/rules.mk b/keyboards/kinesis/kint41/rules.mk index e273e8f282e..825c63939f8 100644 --- a/keyboards/kinesis/kint41/rules.mk +++ b/keyboards/kinesis/kint41/rules.mk @@ -9,9 +9,4 @@ ARMV = 7 # Bootloader selection BOOTLOADER = halfkay -# Debounce eagerly (report change immediately), keep per-key timers. We can use -# this because the Cherry MX keyswitches on the Kinesis only produce noise while -# pressed. -DEBOUNCE_TYPE = sym_eager_pk - FIRMWARE_FORMAT = hex diff --git a/keyboards/kinesis/kintlc/info.json b/keyboards/kinesis/kintlc/info.json index da8e8f7e45e..bf5545c075b 100644 --- a/keyboards/kinesis/kintlc/info.json +++ b/keyboards/kinesis/kintlc/info.json @@ -7,6 +7,9 @@ "device_version": "0.0.1", "max_power": 50 }, + "build": { + "debounce_type": "sym_eager_pk" + }, "matrix_pins": { "cols": ["LINE_PIN18", "LINE_PIN14", "LINE_PIN15", "LINE_PIN20", "LINE_PIN22", "LINE_PIN19", "LINE_PIN6"], "rows": ["LINE_PIN8", "LINE_PIN9", "LINE_PIN10", "LINE_PIN11", "LINE_PIN7", "LINE_PIN16", "LINE_PIN5", "LINE_PIN3", "LINE_PIN4", "LINE_PIN1", "LINE_PIN0", "LINE_PIN2", "LINE_PIN17", "LINE_PIN23", "LINE_PIN21"] diff --git a/keyboards/kinesis/kintlc/rules.mk b/keyboards/kinesis/kintlc/rules.mk index a6a1eafbfcc..c2a404fd1e7 100644 --- a/keyboards/kinesis/kintlc/rules.mk +++ b/keyboards/kinesis/kintlc/rules.mk @@ -1,7 +1,2 @@ # This MCU is not in the main CHIBIOS repo but in the CHIBIOS_CONTRIB repo. USE_CHIBIOS_CONTRIB = yes - -# Debounce eagerly (report change immediately), keep per-key timers. We can use -# this because the Cherry MX keyswitches on the Kinesis only produce noise while -# pressed. -DEBOUNCE_TYPE = sym_eager_pk diff --git a/keyboards/kinesis/nguyenvietyen/info.json b/keyboards/kinesis/nguyenvietyen/info.json index 803f64025f0..10e4dfba257 100644 --- a/keyboards/kinesis/nguyenvietyen/info.json +++ b/keyboards/kinesis/nguyenvietyen/info.json @@ -13,6 +13,7 @@ "compose": "D7", "on_state": 0 }, + "debounce": 1, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/kinesis/nguyenvietyen/rules.mk b/keyboards/kinesis/nguyenvietyen/rules.mk index 3e0a265135a..6f6277ff6b6 100644 --- a/keyboards/kinesis/nguyenvietyen/rules.mk +++ b/keyboards/kinesis/nguyenvietyen/rules.mk @@ -9,6 +9,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover SLEEP_LED_ENABLE = yes CUSTOM_MATRIX = lite SRC += matrix.c - -# experimentally determined to be sufficient :) -DEBOUNCE=1 diff --git a/keyboards/kingly_keys/ave/config.h b/keyboards/kingly_keys/ave/config.h index af9ffae03db..8d024b26a5c 100644 --- a/keyboards/kingly_keys/ave/config.h +++ b/keyboards/kingly_keys/ave/config.h @@ -18,7 +18,6 @@ #pragma once #if defined(RGBLIGHT_ENABLE) -# define RGBLED_NUM 2 # define RGBLIGHT_EFFECT_BREATHING #endif diff --git a/keyboards/kingly_keys/ave/ortho/info.json b/keyboards/kingly_keys/ave/ortho/info.json index 0de5b82bddf..c3fb2f83d57 100644 --- a/keyboards/kingly_keys/ave/ortho/info.json +++ b/keyboards/kingly_keys/ave/ortho/info.json @@ -18,6 +18,9 @@ {"pin_a": "B2", "pin_b": "B1"} ] }, + "rgblight": { + "led_count": 2 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/kingly_keys/ave/staggered/info.json b/keyboards/kingly_keys/ave/staggered/info.json index b3795f81012..9a86093a721 100644 --- a/keyboards/kingly_keys/ave/staggered/info.json +++ b/keyboards/kingly_keys/ave/staggered/info.json @@ -18,6 +18,9 @@ {"pin_a": "B2", "pin_b": "B1"} ] }, + "rgblight": { + "led_count": 2 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/kingly_keys/little_foot/config.h b/keyboards/kingly_keys/little_foot/config.h index fe391e91a19..02a1b0d15ec 100644 --- a/keyboards/kingly_keys/little_foot/config.h +++ b/keyboards/kingly_keys/little_foot/config.h @@ -22,9 +22,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#define RGBLED_NUM 10 // Number of LEDs - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -35,6 +32,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 6 -#define RGBLIGHT_SAT_STEP 4 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/kingly_keys/little_foot/info.json b/keyboards/kingly_keys/little_foot/info.json index c3dfe669104..ccd2a04aa6a 100644 --- a/keyboards/kingly_keys/little_foot/info.json +++ b/keyboards/kingly_keys/little_foot/info.json @@ -9,6 +9,12 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "hue_steps": 6, + "saturation_steps": 4, + "brightness_steps": 8, + "led_count": 10 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/kingly_keys/romac/config.h b/keyboards/kingly_keys/romac/config.h index 0f5a7a6d7fb..5f360813239 100644 --- a/keyboards/kingly_keys/romac/config.h +++ b/keyboards/kingly_keys/romac/config.h @@ -5,8 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define RGBLED_NUM 0 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/kingly_keys/romac_plus/config.h b/keyboards/kingly_keys/romac_plus/config.h index 2d715dbe51f..d702489ee7a 100644 --- a/keyboards/kingly_keys/romac_plus/config.h +++ b/keyboards/kingly_keys/romac_plus/config.h @@ -6,9 +6,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#define RGBLED_NUM 4 // Number of LEDs - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -19,6 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 6 -#define RGBLIGHT_SAT_STEP 4 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/kingly_keys/romac_plus/info.json b/keyboards/kingly_keys/romac_plus/info.json index a5bb27e3972..51e032ad52c 100644 --- a/keyboards/kingly_keys/romac_plus/info.json +++ b/keyboards/kingly_keys/romac_plus/info.json @@ -18,6 +18,12 @@ {"pin_a": "B3", "pin_b": "B2"} ] }, + "rgblight": { + "hue_steps": 6, + "saturation_steps": 4, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c b/keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c index 62c2349150a..ce84abb24dd 100644 --- a/keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c +++ b/keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c @@ -57,10 +57,10 @@ bool oled_task_user(void) { } // Host Keyboard LED Status - uint8_t led_usb_state = host_keyboard_leds(); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPS ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLK") : PSTR(" "), false); + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPS ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLK") : PSTR(" "), false); return false; } diff --git a/keyboards/kingly_keys/ropro/config.h b/keyboards/kingly_keys/ropro/config.h index 3dba5022386..8d944715925 100644 --- a/keyboards/kingly_keys/ropro/config.h +++ b/keyboards/kingly_keys/ropro/config.h @@ -22,8 +22,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 18 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kingly_keys/ropro/info.json b/keyboards/kingly_keys/ropro/info.json index ad77ae56085..598598b100c 100644 --- a/keyboards/kingly_keys/ropro/info.json +++ b/keyboards/kingly_keys/ropro/info.json @@ -18,6 +18,9 @@ {"pin_a": "B7", "pin_b": "D5"} ] }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kingly_keys/smd_milk/config.h b/keyboards/kingly_keys/smd_milk/config.h index cb3fcd2e0da..9866e143196 100644 --- a/keyboards/kingly_keys/smd_milk/config.h +++ b/keyboards/kingly_keys/smd_milk/config.h @@ -21,9 +21,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#define RGBLED_NUM 4 // Number of LEDs - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -34,7 +31,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - -#define RGBLIGHT_HUE_STEP 6 -#define RGBLIGHT_SAT_STEP 4 -#define RGBLIGHT_VAL_STEP 10 diff --git a/keyboards/kingly_keys/smd_milk/info.json b/keyboards/kingly_keys/smd_milk/info.json index d2f408e51fe..0a16a3d3b70 100644 --- a/keyboards/kingly_keys/smd_milk/info.json +++ b/keyboards/kingly_keys/smd_milk/info.json @@ -9,6 +9,12 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "hue_steps": 6, + "saturation_steps": 4, + "brightness_steps": 10, + "led_count": 4 + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/kingly_keys/soap/config.h b/keyboards/kingly_keys/soap/config.h index 682f1a75315..adce2a42d51 100644 --- a/keyboards/kingly_keys/soap/config.h +++ b/keyboards/kingly_keys/soap/config.h @@ -30,4 +30,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 3 diff --git a/keyboards/kingly_keys/soap/info.json b/keyboards/kingly_keys/soap/info.json index b10260aa0b4..74a51ead57b 100644 --- a/keyboards/kingly_keys/soap/info.json +++ b/keyboards/kingly_keys/soap/info.json @@ -8,6 +8,9 @@ "pid": "0x0003", "device_version": "0.0.4" }, + "rgblight": { + "led_count": 3 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/kira75/config.h b/keyboards/kira75/config.h index b51a90cb7e5..62c2837ebec 100644 --- a/keyboards/kira75/config.h +++ b/keyboards/kira75/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/kira75/info.json b/keyboards/kira75/info.json index 48e4bdf85eb..5d573208d50 100644 --- a/keyboards/kira75/info.json +++ b/keyboards/kira75/info.json @@ -17,6 +17,11 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/kiwikey/borderland/config.h b/keyboards/kiwikey/borderland/config.h index 541c8b45e2c..c930dd1f094 100644 --- a/keyboards/kiwikey/borderland/config.h +++ b/keyboards/kiwikey/borderland/config.h @@ -3,13 +3,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kiwikey/borderland/info.json b/keyboards/kiwikey/borderland/info.json index 7ecd81e07b1..cf8b655ba23 100644 --- a/keyboards/kiwikey/borderland/info.json +++ b/keyboards/kiwikey/borderland/info.json @@ -18,6 +18,14 @@ {"pin_a": "F5", "pin_b": "F6"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/kiwikey/kawii9/config.h b/keyboards/kiwikey/kawii9/config.h index ceaf40636e8..f78a089fa21 100644 --- a/keyboards/kiwikey/kawii9/config.h +++ b/keyboards/kiwikey/kawii9/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kiwikey/kawii9/info.json b/keyboards/kiwikey/kawii9/info.json index 7537e7fe8a3..e8e1fe0e893 100644 --- a/keyboards/kiwikey/kawii9/info.json +++ b/keyboards/kiwikey/kawii9/info.json @@ -8,6 +8,11 @@ "pid": "0x0303", "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kiwikey/wanderland/config.h b/keyboards/kiwikey/wanderland/config.h index 223620c5fe5..81d3bfb4534 100644 --- a/keyboards/kiwikey/wanderland/config.h +++ b/keyboards/kiwikey/wanderland/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kiwikey/wanderland/info.json b/keyboards/kiwikey/wanderland/info.json index eb41a349d08..5b0ba53294c 100644 --- a/keyboards/kiwikey/wanderland/info.json +++ b/keyboards/kiwikey/wanderland/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/kj_modify/rs40/info.json b/keyboards/kj_modify/rs40/info.json index 719f0e14dd5..a869383bd7d 100644 --- a/keyboards/kj_modify/rs40/info.json +++ b/keyboards/kj_modify/rs40/info.json @@ -17,7 +17,7 @@ "rows": ["B13", "A10", "B1", "B10"] }, "processor": "STM32F401", - "url": "https://www.aliexpress.com/store/911983021", + "url": "https://www.aliexpress.us/item/3256803963501165.html", "usb": { "device_version": "1.0.0", "pid": "0x5253", @@ -26,51 +26,51 @@ "layouts": { "LAYOUT": { "layout": [ - {"x": 0, "y": 0, "w": 1, "matrix": [0, 0], "label": "ESC"}, - {"x": 1, "y": 0, "w": 1, "matrix": [0, 1], "label": "Q"}, - {"x": 2, "y": 0, "w": 1, "matrix": [0, 2], "label": "W"}, - {"x": 3, "y": 0, "w": 1, "matrix": [0, 3], "label": "E"}, - {"x": 4, "y": 0, "w": 1, "matrix": [0, 4], "label": "R"}, - {"x": 5, "y": 0, "w": 1, "matrix": [0, 5], "label": "T"}, - {"x": 6, "y": 0, "w": 1, "matrix": [0, 6], "label": "Y"}, - {"x": 7, "y": 0, "w": 1, "matrix": [0, 7], "label": "U"}, - {"x": 8, "y": 0, "w": 1, "matrix": [0, 8], "label": "I"}, - {"x": 9, "y": 0, "w": 1, "matrix": [0, 9], "label": "O"}, - {"x": 10, "y": 0, "w": 1, "matrix": [0, 10], "label": "P"}, - {"x": 11, "y": 0, "w": 1, "matrix": [0, 11], "label": "BACKSPACE"}, + {"matrix": [0, 0], "label": "ESC", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "Q", "x": 1, "y": 0}, + {"matrix": [0, 2], "label": "W", "x": 2, "y": 0}, + {"matrix": [0, 3], "label": "E", "x": 3, "y": 0}, + {"matrix": [0, 4], "label": "R", "x": 4, "y": 0}, + {"matrix": [0, 5], "label": "T", "x": 5, "y": 0}, + {"matrix": [0, 6], "label": "Y", "x": 6, "y": 0}, + {"matrix": [0, 7], "label": "U", "x": 7, "y": 0}, + {"matrix": [0, 8], "label": "I", "x": 8, "y": 0}, + {"matrix": [0, 9], "label": "O", "x": 9, "y": 0}, + {"matrix": [0, 10], "label": "P", "x": 10, "y": 0}, + {"matrix": [0, 11], "label": "BACKSPACE", "x": 11, "y": 0}, - {"x": 0, "y": 1, "w": 1.25, "matrix": [1, 0], "label": "CAPSLOCK"}, - {"x": 1.25, "y": 1, "w": 1, "matrix": [1, 1], "label": "A"}, - {"x": 2.25, "y": 1, "w": 1, "matrix": [1, 2], "label": "S"}, - {"x": 3.25, "y": 1, "w": 1, "matrix": [1, 3], "label": "D"}, - {"x": 4.25, "y": 1, "w": 1, "matrix": [1, 4], "label": "F"}, - {"x": 5.25, "y": 1, "w": 1, "matrix": [1, 5], "label": "G"}, - {"x": 6.25, "y": 1, "w": 1, "matrix": [1, 6], "label": "H"}, - {"x": 7.25, "y": 1, "w": 1, "matrix": [1, 7], "label": "J"}, - {"x": 8.25, "y": 1, "w": 1, "matrix": [1, 8], "label": "K"}, - {"x": 9.25, "y": 1, "w": 1, "matrix": [1, 9], "label": "L"}, - {"x": 10.25, "y": 1, "w": 1.75, "matrix": [1, 11], "label": "ENTER"}, + {"matrix": [1, 0], "label": "CAPSLOCK", "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "label": "A", "x": 1.25, "y": 1}, + {"matrix": [1, 2], "label": "S", "x": 2.25, "y": 1}, + {"matrix": [1, 3], "label": "D", "x": 3.25, "y": 1}, + {"matrix": [1, 4], "label": "F", "x": 4.25, "y": 1}, + {"matrix": [1, 5], "label": "G", "x": 5.25, "y": 1}, + {"matrix": [1, 6], "label": "H", "x": 6.25, "y": 1}, + {"matrix": [1, 7], "label": "J", "x": 7.25, "y": 1}, + {"matrix": [1, 8], "label": "K", "x": 8.25, "y": 1}, + {"matrix": [1, 9], "label": "L", "x": 9.25, "y": 1}, + {"matrix": [1, 11], "label": "ENTER", "x": 10.25, "y": 1, "w": 1.75}, - {"x": 0, "y": 2, "w": 1.75, "matrix": [2, 0], "label": "LSHIFT"}, - {"x": 1.75, "y": 2, "w": 1, "matrix": [2, 2], "label": "Z"}, - {"x": 2.75, "y": 2, "w": 1, "matrix": [2, 3], "label": "X"}, - {"x": 3.75, "y": 2, "w": 1, "matrix": [2, 4], "label": "C"}, - {"x": 4.75, "y": 2, "w": 1, "matrix": [2, 5], "label": "V"}, - {"x": 5.75, "y": 2, "w": 1, "matrix": [2, 6], "label": "B"}, - {"x": 6.75, "y": 2, "w": 1, "matrix": [2, 7], "label": "N"}, - {"x": 7.75, "y": 2, "w": 1, "matrix": [2, 8], "label": "M"}, - {"x": 8.75, "y": 2, "w": 1, "matrix": [2, 9], "label": "COMMA"}, - {"x": 9.75, "y": 2, "w": 1, "matrix": [2, 10], "label": "PERIOD"}, - {"x": 10.75, "y": 2, "w": 1.25, "matrix": [2, 11], "label": "RSHIFT"}, + {"matrix": [2, 0], "label": "LSHIFT", "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "label": "Z", "x": 1.75, "y": 2}, + {"matrix": [2, 3], "label": "X", "x": 2.75, "y": 2}, + {"matrix": [2, 4], "label": "C", "x": 3.75, "y": 2}, + {"matrix": [2, 5], "label": "V", "x": 4.75, "y": 2}, + {"matrix": [2, 6], "label": "B", "x": 5.75, "y": 2}, + {"matrix": [2, 7], "label": "N", "x": 6.75, "y": 2}, + {"matrix": [2, 8], "label": "M", "x": 7.75, "y": 2}, + {"matrix": [2, 9], "label": "COMMA", "x": 8.75, "y": 2}, + {"matrix": [2, 10], "label": "PERIOD", "x": 9.75, "y": 2}, + {"matrix": [2, 11], "label": "RSHIFT", "x": 10.75, "y": 2, "w": 1.25}, - {"x": 1, "y": 3, "w": 1.25, "matrix": [3, 0], "label": "LCTRL"}, - {"x": 1.25, "y": 3, "w": 1, "matrix": [3, 1], "label": "FN2"}, - {"x": 2.25, "y": 3, "w": 1.25, "matrix": [3, 2], "label": "WIN"}, - {"x": 3.5, "y": 3, "w": 2.25, "matrix": [3, 4], "label": "SPACE"}, - {"x": 5.75, "y": 3, "w": 2.75, "matrix": [3, 7], "label": "FN"}, - {"x": 8.5, "y": 3, "w": 1.25, "matrix": [3, 9], "label": "SLASH"}, - {"x": 9.75, "y": 3, "w": 1, "matrix": [3, 10], "label": "SEMICOLON"}, - {"x": 10.75, "y": 3, "w": 1.25, "matrix": [3, 11], "label": "RCTRL"} + {"matrix": [3, 0], "label": "LCTRL", "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "label": "FN2", "x": 1.25, "y": 3}, + {"matrix": [3, 2], "label": "WIN", "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [3, 4], "label": "SPACE", "x": 3.5, "y": 3, "w": 2.25}, + {"matrix": [3, 7], "label": "FN", "x": 5.75, "y": 3, "w": 2.75}, + {"matrix": [3, 9], "label": "SLASH", "x": 8.5, "y": 3, "w": 1.25}, + {"matrix": [3, 10], "label": "SEMICOLON", "x": 9.75, "y": 3}, + {"matrix": [3, 11], "label": "RCTRL", "x": 10.75, "y": 3, "w": 1.25} ] } } diff --git a/keyboards/kj_modify/rs40/readme.md b/keyboards/kj_modify/rs40/readme.md index a5bcce2796b..045df2b6223 100644 --- a/keyboards/kj_modify/rs40/readme.md +++ b/keyboards/kj_modify/rs40/readme.md @@ -4,7 +4,7 @@ A compact 40% keyboard with 42 keys. * Keyboard Maintainer: [Audite Marlow](https://github.com/auditemarlow) * Hardware Supported: RS40 PCB -* Hardware Availability: https://www.aliexpress.com/store/911983021 +* Hardware Availability: [KJ-Modify Store on AliExpress](https://www.aliexpress.us/item/3256803963501165.html) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kmac/config.h b/keyboards/kmac/config.h index bc647193cad..dd12560fb6c 100644 --- a/keyboards/kmac/config.h +++ b/keyboards/kmac/config.h @@ -32,9 +32,6 @@ along with this program. If not, see . #define MATRIX_COL_PINS \ { B6, C6, C7, F1, F0, B5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } -/* COL2ROW, ROW2COL*/ -//#define DIODE_DIRECTION - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/kmac_pad/config.h b/keyboards/kmac_pad/config.h index aaffc6c987f..ee27565dcef 100644 --- a/keyboards/kmac_pad/config.h +++ b/keyboards/kmac_pad/config.h @@ -30,9 +30,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { E2, D0, D1, D2, D3, D5 } #define MATRIX_COL_PINS { C7, C6, B6, B5 } -/* COL2ROW, ROW2COL*/ -// #define DIODE_DIRECTION COL2ROW - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/kmini/config.h b/keyboards/kmini/config.h index 3c92c89423e..c06925781f6 100755 --- a/keyboards/kmini/config.h +++ b/keyboards/kmini/config.h @@ -28,6 +28,3 @@ */ #define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 } #define MATRIX_COL_PINS { } - -/* COL2ROW, ROW2COL*/ -//#define DIODE_DIRECTION diff --git a/keyboards/kmini/keymaps/default/keymap.c b/keyboards/kmini/keymaps/default/keymap.c index c3a7b12a40c..1f041daffc9 100755 --- a/keyboards/kmini/keymaps/default/keymap.c +++ b/keyboards/kmini/keymaps/default/keymap.c @@ -39,10 +39,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<. #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 30 // Number of LEDs -#define RGBLIGHT_HUE_STEP 5 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/kona_classic/info.json b/keyboards/kona_classic/info.json index bc79963cb16..35a8d788c26 100644 --- a/keyboards/kona_classic/info.json +++ b/keyboards/kona_classic/info.json @@ -8,6 +8,12 @@ "pid": "0x6060", "device_version": "0.0.3" }, + "rgblight": { + "hue_steps": 5, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 30 + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/kopibeng/mnk60/info.json b/keyboards/kopibeng/mnk60/info.json new file mode 100644 index 00000000000..430fc66c1bc --- /dev/null +++ b/keyboards/kopibeng/mnk60/info.json @@ -0,0 +1,928 @@ +{ + "keyboard_name": "MNK60", + "manufacturer": "kopibeng", + "url": "https://monokei.co", + "maintainer": "kopibeng", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "usb": { + "device_version": "0.0.1", + "pid": "0x0602", + "vid": "0x4B50" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": true, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["C7", "F5", "F1", "F0", "C6", "B6", "B5", "B4", "D7", "D6", "D5", "D3", "D2", "D1"], + "rows": ["F7", "F4", "D0", "B3", "B7"] + }, + "indicators": { + "caps_lock": "D4" + }, + "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 + }, + "brightness_steps": 8, + "led_count": 14, + "max_brightness": 200, + "saturation_steps": 8, + "sleep": true + }, + "ws2812": { + "pin": "F6" + }, + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan"], + "layouts": { + "LAYOUT_60_ansi": { + "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": [1, 13], "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 12], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 2.25, "x": 0, "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], "w": 2.75, "x": 12.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 12], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 2.25, "x": 0, "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], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_split_spacebar": { + "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": [1, 13], "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 12], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 2.25, "x": 0, "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], "w": 2.75, "x": 12.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_split_spacebar_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 12], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 2.25, "x": 0, "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], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_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": [1, 13], "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 12], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 2.25, "x": 0, "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], "w": 2.75, "x": 12.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4 }, + { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [4, 12], "w": 1, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 12], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4 }, + { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [4, 12], "w": 1, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_iso": { + "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": [1, 13], "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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], "w": 2.75, "x": 12.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_split_spacebar": { + "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": [1, 13], "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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], "w": 2.75, "x": 12.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_split_spacebar_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_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": [1, 13], "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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], "w": 2.75, "x": 12.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4 }, + { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [4, 12], "w": 1, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "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": [1, 13], "x": 14, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4 }, + { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [4, 12], "w": 1, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.5, "x": 13.5, "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": [1, 13], "x": 14, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "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": [2, 12], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 } + ] + } + } +} diff --git a/keyboards/kopibeng/mnk60/keymaps/default/keymap.c b/keyboards/kopibeng/mnk60/keymaps/default/keymap.c new file mode 100644 index 00000000000..844f338d193 --- /dev/null +++ b/keyboards/kopibeng/mnk60/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2023 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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(2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(2), KC_RALT, MO(1), KC_RCTL + ), + + // Fn1 Layer + [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_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, 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 + ) +}; + diff --git a/keyboards/kopibeng/mnk60/keymaps/via/keymap.c b/keyboards/kopibeng/mnk60/keymaps/via/keymap.c new file mode 100644 index 00000000000..844f338d193 --- /dev/null +++ b/keyboards/kopibeng/mnk60/keymaps/via/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2023 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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(2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(2), KC_RALT, MO(1), KC_RCTL + ), + + // Fn1 Layer + [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_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, 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 + ) +}; + diff --git a/keyboards/kopibeng/mnk60/keymaps/via/rules.mk b/keyboards/kopibeng/mnk60/keymaps/via/rules.mk new file mode 100644 index 00000000000..43061db1dd4 --- /dev/null +++ b/keyboards/kopibeng/mnk60/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kopibeng/mnk60/readme.md b/keyboards/kopibeng/mnk60/readme.md new file mode 100644 index 00000000000..70a382f5de2 --- /dev/null +++ b/keyboards/kopibeng/mnk60/readme.md @@ -0,0 +1,26 @@ +# MNK60 + +![MNK60](https://i.imgur.com/n1arBEh.png) + +A QMK-powered, VIA-enabled universal 60% PCB with support for ANSI/ISO layouts, split Backspace, split Right Shift, stepped Caps Lock, 6.25U/7U bottom row, split Spacebar and RGB underglow. + +* Keyboard Maintainer: [kopibeng](https://github.com/kopibeng) +* Hardware Supported: KEI +* Hardware Availability: [MONOKEI](https://monokei.co) + +Make example for this keyboard (after setting up your build environment): + + make kopibeng/mnk60:default + +Flashing example for this keyboard: + + make kopibeng/mnk60: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 + +* Physical reset button: Press the RESET switch on top side of PCB. +* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard. +* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. \ No newline at end of file diff --git a/keyboards/kopibeng/mnk60/rules.mk b/keyboards/kopibeng/mnk60/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/kopibeng/mnk60/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/kopibeng/mnk65_stm32/rules.mk b/keyboards/kopibeng/mnk65_stm32/rules.mk index fddc8cdf737..f2400ced17a 100644 --- a/keyboards/kopibeng/mnk65_stm32/rules.mk +++ b/keyboards/kopibeng/mnk65_stm32/rules.mk @@ -15,5 +15,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no # Enable Encoder -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/kopibeng/mnk88/config.h b/keyboards/kopibeng/mnk88/config.h index 449d4606076..8de0e59b59b 100644 --- a/keyboards/kopibeng/mnk88/config.h +++ b/keyboards/kopibeng/mnk88/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kopibeng/mnk88/info.json b/keyboards/kopibeng/mnk88/info.json index 08baf2310b7..3c3987ee7e2 100644 --- a/keyboards/kopibeng/mnk88/info.json +++ b/keyboards/kopibeng/mnk88/info.json @@ -12,7 +12,11 @@ "pin": "A10" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["A2", "A1", "A0", "B11", "B10", "B2", "F1", "B1", "B0", "A7", "A6", "A5", "F0", "A4", "C15", "C14", "C13"], diff --git a/keyboards/kopibeng/mnk88/rules.mk b/keyboards/kopibeng/mnk88/rules.mk index cc3bf2abed3..65bc2097f51 100644 --- a/keyboards/kopibeng/mnk88/rules.mk +++ b/keyboards/kopibeng/mnk88/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no # Enable Encoder -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/kopibeng/xt60/config.h b/keyboards/kopibeng/xt60/config.h index 7a903e4eff2..b39773594be 100644 --- a/keyboards/kopibeng/xt60/config.h +++ b/keyboards/kopibeng/xt60/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 14 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kopibeng/xt60/info.json b/keyboards/kopibeng/xt60/info.json index ca278dff70a..4fe6642979c 100644 --- a/keyboards/kopibeng/xt60/info.json +++ b/keyboards/kopibeng/xt60/info.json @@ -8,6 +8,12 @@ "pid": "0x0600", "device_version": "0.0.2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/kopibeng/xt60_singa/config.h b/keyboards/kopibeng/xt60_singa/config.h index 7a903e4eff2..b39773594be 100644 --- a/keyboards/kopibeng/xt60_singa/config.h +++ b/keyboards/kopibeng/xt60_singa/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 14 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kopibeng/xt60_singa/info.json b/keyboards/kopibeng/xt60_singa/info.json index a4ed2178285..eabff0309b6 100644 --- a/keyboards/kopibeng/xt60_singa/info.json +++ b/keyboards/kopibeng/xt60_singa/info.json @@ -8,6 +8,12 @@ "pid": "0x0601", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/kopibeng/xt65/config.h b/keyboards/kopibeng/xt65/config.h index b64511a63f7..a6950c8238e 100644 --- a/keyboards/kopibeng/xt65/config.h +++ b/keyboards/kopibeng/xt65/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 12 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kopibeng/xt65/info.json b/keyboards/kopibeng/xt65/info.json index 0a909a1cd3c..650e0e05b2d 100644 --- a/keyboards/kopibeng/xt65/info.json +++ b/keyboards/kopibeng/xt65/info.json @@ -21,7 +21,11 @@ "pin": "D5" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/owlab/voice65/hotswap/hotswap.h b/keyboards/kopibeng/xt87/chconf.h similarity index 67% rename from keyboards/owlab/voice65/hotswap/hotswap.h rename to keyboards/kopibeng/xt87/chconf.h index 6536af4c49e..4cb041153f1 100644 --- a/keyboards/owlab/voice65/hotswap/hotswap.h +++ b/keyboards/kopibeng/xt87/chconf.h @@ -1,4 +1,4 @@ -/* Copyright 2021 kb-elmo +/* Copyright 2023 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 @@ -14,17 +14,18 @@ * along with this program. If not, see . */ +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/kopibeng/xt8x/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + #pragma once -#include "quantum.h" +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE -typedef union { - uint32_t raw; - struct { - uint8_t encoder_mode_index :8; - }; -} keyboard_config_t; +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE -extern keyboard_config_t keyboard_config; +#include_next -#define VOLUME_ANIMATION_TIMER 580 diff --git a/keyboards/kopibeng/xt87/info.json b/keyboards/kopibeng/xt87/info.json new file mode 100644 index 00000000000..8447d40815c --- /dev/null +++ b/keyboards/kopibeng/xt87/info.json @@ -0,0 +1,886 @@ +{ + "keyboard_name": "XT87", + "manufacturer": "kopibeng", + "url": "https://monokei.co/", + "maintainer": "kopibeng", + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "usb": { + "device_version": "0.0.1", + "pid": "0x8700", + "vid": "0x4B50" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": true, + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["A2", "A1", "A0", "B11", "B10", "B2", "F1", "B1", "B0", "A7", "A6", "A5", "F0", "A4", "C15", "C14", "C13"], + "rows": ["A8", "B15", "A9", "B12", "A3", "B14"] + }, + "indicators": { + "caps_lock": "B3", + "scroll_lock": "A15" + }, + "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 + }, + "brightness_steps": 8, + "led_count": 19, + "max_brightness": 200, + "saturation_steps": 8, + "sleep": true + }, + "ws2812": { + "pin": "A10" + }, + "community_layouts": ["tkl_ansi", "tkl_ansi_split_bs_rshift", "tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_iso", "tkl_iso_split_bs_rshift", "tkl_iso_tsangan", "tkl_iso_tsangan_split_bs_rshift"], + "layouts": { + "LAYOUT_all": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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": [2, 12], "x": 13, "y": 1.25 }, + { "matrix": [1, 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], "w": 1.5, "x": 0, "y": 2.25 }, + { "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": [3, 12], "x": 12.5, "y": 2.25 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.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], "w": 1.75, "x": 0, "y": 3.25 }, + { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.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], "w": 1.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 13], "x": 14, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, + { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, + { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_ansi": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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], "w": 2, "x": 13, "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], "w": 1.5, "x": 0, "y": 2.25 }, + { "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": [3, 12], "x": 12.5, "y": 2.25 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.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], "w": 1.75, "x": 0, "y": 3.25 }, + { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, + { "matrix": [4, 0], "w": 2.25, "x": 0, "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], "w": 2.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, + { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, + { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_ansi_split_bs_rshift": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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": [2, 12], "x": 13, "y": 1.25 }, + { "matrix": [1, 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], "w": 1.5, "x": 0, "y": 2.25 }, + { "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": [3, 12], "x": 12.5, "y": 2.25 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.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], "w": 1.75, "x": 0, "y": 3.25 }, + { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, + { "matrix": [4, 0], "w": 2.25, "x": 0, "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], "w": 1.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 13], "x": 14, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, + { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, + { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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], "w": 2, "x": 13, "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], "w": 1.5, "x": 0, "y": 2.25 }, + { "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": [3, 12], "x": 12.5, "y": 2.25 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.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], "w": 1.75, "x": 0, "y": 3.25 }, + { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, + { "matrix": [4, 0], "w": 2.25, "x": 0, "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], "w": 2.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1, "x": 1.5, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, + { "matrix": [5, 12], "w": 1, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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": [2, 12], "x": 13, "y": 1.25 }, + { "matrix": [1, 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], "w": 1.5, "x": 0, "y": 2.25 }, + { "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": [3, 12], "x": 12.5, "y": 2.25 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.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], "w": 1.75, "x": 0, "y": 3.25 }, + { "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], "w": 2.25, "x": 12.75, "y": 3.25 }, + { "matrix": [4, 0], "w": 2.25, "x": 0, "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], "w": 1.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 13], "x": 14, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1, "x": 1.5, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, + { "matrix": [5, 12], "w": 1, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_iso": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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], "w": 2, "x": 13, "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], "w": 1.5, "x": 0, "y": 2.25 }, + { "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": [3, 12], "x": 12.5, "y": 2.25 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "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], "w": 1.75, "x": 0, "y": 3.25 }, + { "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 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.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], "w": 2.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, + { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, + { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_iso_split_bs_rshift": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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": [2, 12], "x": 13, "y": 1.25 }, + { "matrix": [1, 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], "w": 1.5, "x": 0, "y": 2.25 }, + { "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": [3, 12], "x": 12.5, "y": 2.25 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "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], "w": 1.75, "x": 0, "y": 3.25 }, + { "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 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.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], "w": 1.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 13], "x": 14, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, + { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, + { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_iso_tsangan": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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], "w": 2, "x": 13, "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], "w": 1.5, "x": 0, "y": 2.25 }, + { "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": [3, 12], "x": 12.5, "y": 2.25 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "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], "w": 1.75, "x": 0, "y": 3.25 }, + { "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 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.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], "w": 2.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1, "x": 1.5, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, + { "matrix": [5, 12], "w": 1, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + ] + }, + "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { + "layout": [ + { "matrix": [0, 0], "x": 0, "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": [2, 12], "x": 13, "y": 1.25 }, + { "matrix": [1, 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], "w": 1.5, "x": 0, "y": 2.25 }, + { "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": [3, 12], "x": 12.5, "y": 2.25 }, + { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "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], "w": 1.75, "x": 0, "y": 3.25 }, + { "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 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.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], "w": 1.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 13], "x": 14, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1, "x": 1.5, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, + { "matrix": [5, 12], "w": 1, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/kopibeng/xt87/keymaps/default/keymap.c b/keyboards/kopibeng/xt87/keymaps/default/keymap.c new file mode 100644 index 00000000000..d963941d808 --- /dev/null +++ b/keyboards/kopibeng/xt87/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +/* Copyright 2023 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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_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(2), 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 Layer + [1] = LAYOUT_all( + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, 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 + ) +}; + diff --git a/keyboards/kopibeng/xt87/keymaps/via/keymap.c b/keyboards/kopibeng/xt87/keymaps/via/keymap.c new file mode 100644 index 00000000000..d963941d808 --- /dev/null +++ b/keyboards/kopibeng/xt87/keymaps/via/keymap.c @@ -0,0 +1,41 @@ +/* Copyright 2023 Samuel Lu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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_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(2), 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 Layer + [1] = LAYOUT_all( + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, 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 + ) +}; + diff --git a/keyboards/kopibeng/xt87/keymaps/via/rules.mk b/keyboards/kopibeng/xt87/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/kopibeng/xt87/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kopibeng/xt87/readme.md b/keyboards/kopibeng/xt87/readme.md new file mode 100644 index 00000000000..4e6db529b5d --- /dev/null +++ b/keyboards/kopibeng/xt87/readme.md @@ -0,0 +1,25 @@ +# XT87 + +![XT87](https://i.imgur.com/N1QaXPTh.jpg) + +A QMK-powered, VIA-enabled F12 TKL PCB with support for ANSI/ISO layout, split Backspace, split Right Shift and 6.25U/7U bottom row. + +* Keyboard Maintainer: [kopibeng](https://github.com/kopibeng) +* Hardware Supported: A TKL keyboard with STM32F072 +* Hardware Availability: [MONOKEI](https://monokei.co) + +Make example for this keyboard (after setting up your build environment): + + make kopibeng/xt87:default + +Flashing example for this keyboard: + + make kopibeng/xt87: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 + +* Physical reset button: Press the RESET switch on top side of PCB. +* Bootmagic reset: Unplug keyboard, hold down ESC key and plug in the keyboard. +* Keycode reset: Press the `QK_BOOT` keycode (default: MO(1) + R keys) in layout if available. diff --git a/keyboards/kopibeng/xt87/rules.mk b/keyboards/kopibeng/xt87/rules.mk new file mode 100644 index 00000000000..a92b0993283 --- /dev/null +++ b/keyboards/kopibeng/xt87/rules.mk @@ -0,0 +1,2 @@ +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/kopibeng/xt8x/config.h b/keyboards/kopibeng/xt8x/config.h index f385599d800..38b9f61911e 100644 --- a/keyboards/kopibeng/xt8x/config.h +++ b/keyboards/kopibeng/xt8x/config.h @@ -18,11 +18,6 @@ #define INDICATOR_PIN_0 B13 - #define RGBLED_NUM 19 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kopibeng/xt8x/info.json b/keyboards/kopibeng/xt8x/info.json index 1596ed883ef..5d56a221cc5 100644 --- a/keyboards/kopibeng/xt8x/info.json +++ b/keyboards/kopibeng/xt8x/info.json @@ -21,7 +21,11 @@ "pin": "A10" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 19, + "max_brightness": 200, + "sleep": true }, "processor": "STM32F072", "bootloader": "stm32-dfu", diff --git a/keyboards/kopibeng/xt8x/rules.mk b/keyboards/kopibeng/xt8x/rules.mk index cc3bf2abed3..65bc2097f51 100644 --- a/keyboards/kopibeng/xt8x/rules.mk +++ b/keyboards/kopibeng/xt8x/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no # Enable Encoder -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/kprepublic/bm16s/config.h b/keyboards/kprepublic/bm16s/config.h index fb73fedb045..d702489ee7a 100755 --- a/keyboards/kprepublic/bm16s/config.h +++ b/keyboards/kprepublic/bm16s/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/kprepublic/bm16s/info.json b/keyboards/kprepublic/bm16s/info.json index 262ce39fba2..bc5df521a71 100644 --- a/keyboards/kprepublic/bm16s/info.json +++ b/keyboards/kprepublic/bm16s/info.json @@ -8,6 +8,11 @@ "pid": "0x016B", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h index e8f6fac1201..ca8a4c6ab4e 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h @@ -5,6 +5,9 @@ #define LAYER_STATE_8BIT +#define TURBO_ENABLE +#define HOLD_ON_OTHER_KEY_PRESS + // RGB Matrix effects disable #ifdef RGB_MATRIX_ENABLE # define UNDERGLOW_DISABLE diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c index ef7cfab5fe2..3d5bcade20f 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c @@ -50,6 +50,26 @@ void dynamic_macro_record_end_user(int8_t direction) { #define MCR_SWT KC_NO #endif // DYNAMIC_MACRO_ENABLE +#ifdef TURBO_ENABLE +static bool turbo_active = false; // Only changed by TRBO_ST +static uint16_t turbo_keycode = KC_NO; // turbo_active can't be true if this is KC_NO +static bool turbo_key_pressed = false; +static bool turbo_keycode_selecting = false; // Determine new keycode or delay mode switch +static bool turbo_ms_delay_direction = true; // True is raise the delay, false is lower it +static uint16_t turbo_ms_delay_direction_indicator = 0; +static uint16_t turbo_ms_delay = 100; // Start at sending keycodes 10 times a second +static uint16_t turbo_timer; // Changed semi automatically +/* + * Because the KC's are wrapped in `LT()` they won't be interpreted as KC_NO or KC_TRNS + * Instead they'll just be like any other custom KC which will let me use them how I want +*/ +#define TRBO_ST LT(_CTR, KC_NO ) +#define TRBO_TI LT(_CTR, KC_TRNS) +#else +#define TRBO_ST KC_NO +#define TRBO_TI KC_NO +#endif + const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = { [_MAIN] = 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, @@ -67,7 +87,7 @@ const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, MCR_REC, XXXXXXX, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, MCR_PLY, XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX, XXXXXXX, MCR_SWT, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TOG_MSE, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + XXXXXXX, XXXXXXX, XXXXXXX, TRBO_TI, TRBO_ST, TOG_MSE, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) #ifdef MOUSEKEY_ENABLE ,[_MSE] = LAYOUT_planck_mit( @@ -117,12 +137,68 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (RECORDING) { RGB_MATRIX_INDICATOR_SET_COLOR(pos, BRIGHTNESS, 0, 0); } break; #endif // DYNAMIC_MACRO_ENABLE + + #ifdef TURBO_ENABLE + case TRBO_ST: + if (turbo_keycode_selecting) { + RGB_MATRIX_INDICATOR_SET_COLOR(pos, BRIGHTNESS, BRIGHTNESS, BRIGHTNESS); + } else { + if (turbo_active) { + if (turbo_key_pressed) { + RGB_MATRIX_INDICATOR_SET_COLOR(pos, BRIGHTNESS, BRIGHTNESS, BRIGHTNESS); + } else { + RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, 0, 0); + } + } + } + break; + + case TRBO_TI: + if (turbo_ms_delay_direction_indicator != 0) { + uint8_t time = timer_elapsed(turbo_ms_delay_direction_indicator) / 200; + if (time > 0) { + if ((time % 2) == 1) { + if (turbo_ms_delay_direction) { + RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, BRIGHTNESS, 0); + } else { + RGB_MATRIX_INDICATOR_SET_COLOR(pos, BRIGHTNESS, 0, 0); + } + } else { + RGB_MATRIX_INDICATOR_SET_COLOR(pos, 0, 0, 0); + } + if (time >= 6) { + turbo_ms_delay_direction_indicator = 0; + } + } + } + break; + #endif + } } return false; } #endif +#ifdef TURBO_ENABLE +void housekeeping_task_user(void) { + if (turbo_active) { + if (turbo_key_pressed) { + if (timer_elapsed(turbo_timer) > turbo_ms_delay) { + unregister_code(turbo_keycode); + turbo_key_pressed = false; + turbo_timer = timer_read(); + } + } else { + if (timer_elapsed(turbo_timer) > (turbo_ms_delay / 2)) { + register_code(turbo_keycode); + turbo_key_pressed = true; + } + } + } +} +#endif + bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef DYNAMIC_MACRO_ENABLE if (keycode == MCR_REC) {keycode = REC;} @@ -145,6 +221,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #endif // MOUSEKEY_ENABLE + #ifdef TURBO_ENABLE + if (record->event.pressed) { + if (turbo_keycode_selecting) { + if (IS_BASIC_KEYCODE(keycode) || + IS_MODIFIER_KEYCODE(keycode) || + IS_JOYSTICK_KEYCODE(keycode) || + IS_MOUSE_KEYCODE(keycode)) + { + unregister_code(turbo_keycode); + turbo_key_pressed = false; + turbo_keycode = keycode; + turbo_keycode_selecting = false; + } + } + } + #endif + switch (keycode) { #ifdef DYNAMIC_MACRO_ENABLE case MCR_SWT: @@ -162,6 +255,46 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; #endif // DYNAMIC_MACRO_ENABLE + #ifdef TURBO_ENABLE + case TRBO_ST: + if (record->event.pressed) { + if (!record->tap.count) { + turbo_keycode_selecting = !turbo_keycode_selecting; + } else { + if (turbo_keycode != KC_NO) { + if (!turbo_active) { + turbo_keycode_selecting = false; + turbo_active = true; + } else { + unregister_code(turbo_keycode); + turbo_key_pressed = false; + turbo_active = false; + } + } + } + } + return false; + + case TRBO_TI: + if (record->event.pressed) { + if (!record->tap.count) { + turbo_ms_delay_direction = !turbo_ms_delay_direction; + turbo_ms_delay_direction_indicator = timer_read(); + } else { + if (turbo_ms_delay_direction) + turbo_ms_delay += 20; + else + turbo_ms_delay -= 20; + + if (turbo_ms_delay > 500) // half a second + turbo_ms_delay = 500; + if (turbo_ms_delay < 60) // Around 16 times a second + turbo_ms_delay = 60; + } + } + return false; + #endif + default: return true; //Process all other keycodes normally } diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md index 2798567b5ec..980f559d71f 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/readme.md @@ -21,12 +21,12 @@ The secondary layer ( `_SUB` ) is for syntax, F keys, and number keys | 4 | _ | _ | | _ | _ | _ | <- | _ | | | | | The control layer ( `_CTR` ) is for lighting, media, and macros -| row | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -|-----|---|-------|------|-------|------|---------|-----|------|------|------|----|---------| -| 1 | | SPD- | BRI+ | SPD+ | HUE+ | SAT+ | | | VOL+ | | | MCR_REC | -| 2 | | EFCT- | BRI- | EFCT+ | HUE- | SAT- | | PREV | PLAY | NEXT | | MCR_PLY | -| 3 | | | TOG | | | | | | VOL- | | | MCR_SWT | -| 4 | | | | | | MSE_TOG | <- | | | | | | +| row | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | +|-----|---|-------|------|---------|---------|---------|-----|------|------|------|----|---------| +| 1 | | SPD- | BRI+ | SPD+ | HUE+ | SAT+ | | | VOL+ | | | MCR_REC | +| 2 | | EFCT- | BRI- | EFCT+ | HUE- | SAT- | | PREV | PLAY | NEXT | | MCR_PLY | +| 3 | | | TOG | | | | | | VOL- | | | MCR_SWT | +| 4 | | | | TRBO_TI | TRBO_ST | MSE_TOG | <- | | | | | | The mouse layer ( `_MSE` ) is for making the keyboard function as a mouse as well | row | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | @@ -67,6 +67,8 @@ The mouse layer ( `_MSE` ) is for making the keyboard function as a mouse as wel | SCR_D | Mouse scroll down | | ACL_U | Raise mouse/scroll speed | | ACL_D | Lower mouse/scroll speed | +| TRBO_ST | Set turbo key (Hold), start/stop turbo (Tap) | +| TRBO_TI | Turbo speed +/- (Hold to switch direction) | ## Compiling diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c index 5a1d366f56c..eb20a1a25b9 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c @@ -165,7 +165,7 @@ if(IS_LAYER_ON(NSSL)) { //capslock leds -if (host_keyboard_leds() & (1<. #pragma once - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value #endif diff --git a/keyboards/kprepublic/bm43a/info.json b/keyboards/kprepublic/bm43a/info.json index 8cd34875672..041da2164d1 100644 --- a/keyboards/kprepublic/bm43a/info.json +++ b/keyboards/kprepublic/bm43a/info.json @@ -21,7 +21,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "max_brightness": 180, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/kprepublic/bm43hsrgb/config.h b/keyboards/kprepublic/bm43hsrgb/config.h index fb800abc06d..8fb37ac3486 100755 --- a/keyboards/kprepublic/bm43hsrgb/config.h +++ b/keyboards/kprepublic/bm43hsrgb/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 53 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kprepublic/bm43hsrgb/info.json b/keyboards/kprepublic/bm43hsrgb/info.json index 1cdaa64602e..3151d9c8ccf 100755 --- a/keyboards/kprepublic/bm43hsrgb/info.json +++ b/keyboards/kprepublic/bm43hsrgb/info.json @@ -12,7 +12,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 53, + "max_brightness": 180, + "sleep": true }, "matrix_pins": { "cols": ["C6", "D2", "D1", "D0", "D7", "D6", "D4", "D5", "D3", "B7", "B3", "B2"], diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/config.h b/keyboards/kprepublic/bm60hsrgb/rev1/config.h index eebd3381d57..6a3bee5a52d 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev1/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev1/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #define RGB_MATRIX_LED_COUNT 69 -# define RGBLED_NUM 69 # define RGB_MATRIX_KEYPRESSES #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h index c2aafb9adc9..c504b5f14fa 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h @@ -16,7 +16,6 @@ #pragma once //rgb light setting -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,9 +27,6 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended #define DRIVER_ADDR_1 0b1010000 diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/info.json b/keyboards/kprepublic/bm60hsrgb/rev2/info.json index bb6533b823f..51712acf7e0 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/info.json +++ b/keyboards/kprepublic/bm60hsrgb/rev2/info.json @@ -15,6 +15,9 @@ "driver": "custom" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, "max_brightness": 150 }, "matrix_pins": { diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h index a11d5792397..2f02594e156 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h @@ -17,7 +17,6 @@ #pragma once #define RGB_MATRIX_LED_COUNT 69 - #define RGBLED_NUM 69 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 140 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h index 1cc17d6c866..8e51b832641 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h @@ -16,7 +16,6 @@ #pragma once //rgb light setting -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,9 +27,6 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 # define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended # define DRIVER_ADDR_1 0b1010000 diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json index d91f6a85317..0b0b5c749d8 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json @@ -15,6 +15,9 @@ "driver": "IS31FL3733" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, "max_brightness": 150 }, "matrix_pins": { diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h index d4ba498987a..563ac242c86 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h @@ -18,12 +18,7 @@ along with this program. If not, see . #pragma once #define RGB_MATRIX_LED_COUNT 70 -# define RGBLED_NUM 70 # define RGB_MATRIX_KEYPRESSES - // #define RGBLIGHT_HUE_STEP 8 - // #define RGBLIGHT_SAT_STEP 8 - // #define RGBLIGHT_VAL_STEP 8 - // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json index 6e9256523f2..800ff0de311 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json @@ -14,9 +14,6 @@ "rgb_matrix": { "driver": "WS2812" }, - "rgblight": { - "max_brightness": 180 - }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], "rows": ["B0", "B1", "B2", "B3", "E6"] diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h index 7af983c5e77..59d12994fd6 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h @@ -18,7 +18,6 @@ #pragma once //rgb light setting -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -30,9 +29,6 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 # define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES @@ -106,7 +102,7 @@ #ifdef RGBLIGHT_ENABLE # define WS2812_LED_TOTAL 0 #else -# define WS2812_LED_TOTAL RGBLED_NUM +# define WS2812_LED_TOTAL 6 #endif #define RGB_MATRIX_LED_COUNT (ISSI_LED_TOTAL + WS2812_LED_TOTAL) diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json index 6326d871df2..252ff6773fb 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/info.json @@ -15,6 +15,9 @@ "driver": "custom" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, "max_brightness": 150 }, "matrix_pins": { diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h index aac03cec4df..3213511072b 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h @@ -18,12 +18,7 @@ along with this program. If not, see . #pragma once #define RGB_MATRIX_LED_COUNT 67 - #define RGBLED_NUM 67 #define RGB_MATRIX_KEYPRESSES - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json index 5746594468a..c323a31dea3 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json @@ -15,7 +15,11 @@ "driver": "WS2812" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 67, + "max_brightness": 180, + "sleep": true }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h index 2feead3386f..76791a20025 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h @@ -16,7 +16,6 @@ #pragma once //rgb light setting -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -27,9 +26,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 # define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES @@ -102,7 +98,7 @@ #ifdef RGBLIGHT_ENABLE # define WS2812_LED_TOTAL 0 #else -# define WS2812_LED_TOTAL RGBLED_NUM +# define WS2812_LED_TOTAL 6 #endif #define RGB_MATRIX_LED_COUNT (ISSI_LED_TOTAL + WS2812_LED_TOTAL) diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json index 01d09b59460..50a851180d3 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/info.json @@ -15,6 +15,9 @@ "driver": "custom" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, "max_brightness": 150 }, "matrix_pins": { diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/config.h b/keyboards/kprepublic/bm65hsrgb/rev1/config.h index e2522723fc8..ef410e94412 100644 --- a/keyboards/kprepublic/bm65hsrgb/rev1/config.h +++ b/keyboards/kprepublic/bm65hsrgb/rev1/config.h @@ -19,7 +19,6 @@ along with this program. If not, see . // The number of LEDs connected #define RGB_MATRIX_LED_COUNT 73 - #define RGBLED_NUM 73 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h index 2814a6609a3..639eb5012b4 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h @@ -18,11 +18,7 @@ along with this program. If not, see . #pragma once #define RGB_MATRIX_LED_COUNT 74 - #define RGBLED_NUM 74 #define RGB_MATRIX_KEYPRESSES - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 140 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: @@ -74,8 +70,6 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BAND_SAT -/* If defined, the RGB lighting will be switched off when the host goes to sleep */ -# define RGBLIGHT_SLEEP /*== all animations enable ==*/ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json index 8c3536db6b4..c73c2cca8e5 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json @@ -9,6 +9,12 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 74, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/config.h index cef5a0939b2..a3ef1df3b35 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev1/config.h @@ -19,7 +19,6 @@ along with this program. If not, see . // The number of LEDs connected #define RGB_MATRIX_LED_COUNT 74 -# define RGBLED_NUM 74 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/info.json b/keyboards/kprepublic/bm68hsrgb/rev1/info.json index b3747af5b16..a965121f646 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/info.json +++ b/keyboards/kprepublic/bm68hsrgb/rev1/info.json @@ -14,9 +14,6 @@ "rgb_matrix": { "driver": "WS2812" }, - "rgblight": { - "max_brightness": 180 - }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"], "rows": ["B0", "B1", "B2", "B3", "E6"] diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/config.h b/keyboards/kprepublic/bm68hsrgb/rev2/config.h index 53aabdaf948..ed054cd92d4 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev2/config.h @@ -16,9 +16,6 @@ */ #pragma once -#define USB_POLLING_INTERVAL_MS 1 - -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -30,11 +27,6 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - - #define DRIVER_ADDR_1 0b0110000 diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/info.json b/keyboards/kprepublic/bm68hsrgb/rev2/info.json index b7c827e0eac..7df0c1e4e38 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/info.json +++ b/keyboards/kprepublic/bm68hsrgb/rev2/info.json @@ -15,6 +15,9 @@ "driver": "IS31FL3741" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, "max_brightness": 150 }, "matrix_pins": { diff --git a/keyboards/kprepublic/bm80hsrgb/config.h b/keyboards/kprepublic/bm80hsrgb/config.h index a9ba033fb0e..c55999846e2 100644 --- a/keyboards/kprepublic/bm80hsrgb/config.h +++ b/keyboards/kprepublic/bm80hsrgb/config.h @@ -20,11 +20,9 @@ along with this program. If not, see . // The number of LEDs connected #define RGB_MATRIX_LED_COUNT 87 -#define RGBLED_NUM 87 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses //#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_MATRIX_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off //#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 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 diff --git a/keyboards/kprepublic/bm980hsrgb/config.h b/keyboards/kprepublic/bm980hsrgb/config.h index 7ecc626803a..73c222c113f 100644 --- a/keyboards/kprepublic/bm980hsrgb/config.h +++ b/keyboards/kprepublic/bm980hsrgb/config.h @@ -19,7 +19,6 @@ along with this program. If not, see . // The number of LEDs connected #define RGB_MATRIX_LED_COUNT 98 -# define RGBLED_NUM 98 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses //#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/kprepublic/cospad/config.h b/keyboards/kprepublic/cospad/config.h index d9727b63c71..a59b1346c4d 100644 --- a/keyboards/kprepublic/cospad/config.h +++ b/keyboards/kprepublic/cospad/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 4 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kprepublic/cospad/info.json b/keyboards/kprepublic/cospad/info.json index 1814b50464c..90b9dab4a14 100644 --- a/keyboards/kprepublic/cospad/info.json +++ b/keyboards/kprepublic/cospad/info.json @@ -17,6 +17,10 @@ "pin": "F7", "on_state": 0 }, + "rgblight": { + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/kprepublic/jj40/config.h b/keyboards/kprepublic/jj40/config.h index d77984fc699..d9bc6bc9fb7 100644 --- a/keyboards/kprepublic/jj40/config.h +++ b/keyboards/kprepublic/jj40/config.h @@ -15,8 +15,6 @@ along with this program. If not, see . #pragma once /* RGB underglow */ -// NOTE: for PS2AVRGB boards, underglow commands are sent via I2C to 0xB0. -#define RGBLED_NUM 5 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kprepublic/jj40/info.json b/keyboards/kprepublic/jj40/info.json index 2627ffbff95..e42de6f2711 100644 --- a/keyboards/kprepublic/jj40/info.json +++ b/keyboards/kprepublic/jj40/info.json @@ -19,6 +19,9 @@ "levels": 12, "breathing": true }, + "rgblight": { + "led_count": 5 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/kprepublic/jj40/keymaps/stevexyz/keymap.c b/keyboards/kprepublic/jj40/keymaps/stevexyz/keymap.c index 51691e8f1f9..6c8220a702a 100644 --- a/keyboards/kprepublic/jj40/keymaps/stevexyz/keymap.c +++ b/keyboards/kprepublic/jj40/keymaps/stevexyz/keymap.c @@ -262,14 +262,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_init_user(void) { // eeconfig_init(); // reset keyboard to a standard default state; useful when new releases messup with eeprom values // set num lock on at start (for numonly layer to work) - if (!(host_keyboard_leds() & (1<. #pragma once /* RGB underglow */ -// NOTE: for PS2AVRGB boards, underglow commands are sent via I2C to 0xB0. -#define RGBLED_NUM 4 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kprepublic/jj4x4/info.json b/keyboards/kprepublic/jj4x4/info.json index fce30c67b04..35a4de519fc 100644 --- a/keyboards/kprepublic/jj4x4/info.json +++ b/keyboards/kprepublic/jj4x4/info.json @@ -19,6 +19,9 @@ "levels": 12, "breathing": true }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/kprepublic/jj50/config.h b/keyboards/kprepublic/jj50/config.h index 3220fd6477d..574aae16d8f 100644 --- a/keyboards/kprepublic/jj50/config.h +++ b/keyboards/kprepublic/jj50/config.h @@ -20,7 +20,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -31,6 +30,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 12 -#define RGBLIGHT_SAT_STEP 15 -#define RGBLIGHT_VAL_STEP 18 diff --git a/keyboards/kprepublic/jj50/info.json b/keyboards/kprepublic/jj50/info.json index a83d42ab6ab..2b7b7109387 100644 --- a/keyboards/kprepublic/jj50/info.json +++ b/keyboards/kprepublic/jj50/info.json @@ -18,6 +18,12 @@ "levels": 12, "breathing": true }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 15, + "brightness_steps": 18, + "led_count": 12 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c b/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c index 21f8fcbb0f1..f02f27005be 100644 --- a/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c +++ b/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c @@ -64,12 +64,13 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<. #pragma once -/* Set delay for tap_code on rotary encoder */ -#define TAP_CODE_DELAY 10 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/kradoindustries/kousa/info.json b/keyboards/kradoindustries/kousa/info.json new file mode 100644 index 00000000000..196e863bf5c --- /dev/null +++ b/keyboards/kradoindustries/kousa/info.json @@ -0,0 +1,158 @@ +{ + "keyboard_name": "Kousa-TKL", + "manufacturer": "Krado Industries", + "url": "https://www.kradoindustries.com/", + "maintainer": "Krado Industries", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "vid": "0x4B72", + "pid": "0x4B4F", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "encoder": true, + "rgblight": true + }, + "encoder": { + "rotary": [ + { "pin_a": "GP10", "pin_b": "GP9" } + ] + }, + "ws2812": { + "pin": "GP4", + "driver": "vendor" + }, + "rgblight": { + "led_count": 18, + "sleep": true, + "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 + } + }, + + + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP20", "GP21", "GP14", "GP15", "GP16", "GP17", "GP18", "GP13", "GP0", "GP1", "GP3"], + "rows": [ "GP2", "GP29", "GP28", "GP19", "GP12", "GP11"] + }, + + "layouts": { + "LAYOUT": { + "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, "w":1.5}, + {"matrix": [1, 1], "x":1.5, "y":1.25}, + {"matrix": [1, 2], "x":2.5, "y":1.25}, + {"matrix": [1, 3], "x":3.5, "y":1.25}, + {"matrix": [1, 4], "x":4.5, "y":1.25}, + {"matrix": [1, 5], "x":5.5, "y":1.25}, + {"matrix": [1, 6], "x":6.5, "y":1.25}, + {"matrix": [1, 7], "x":7.5, "y":1.25}, + {"matrix": [1, 8], "x":8.5, "y":1.25}, + {"matrix": [1, 9], "x":9.5, "y":1.25}, + {"matrix": [1, 10], "x":10.5, "y":1.25}, + {"matrix": [1, 11], "x":11.5, "y":1.25}, + {"matrix": [1, 12], "x":12.5, "y":1.25}, + {"matrix": [1, 13], "x":13.5, "y":1.25, "w":1.5}, + {"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.5}, + {"matrix": [3, 1], "x":1.5, "y":3.25}, + {"matrix": [3, 2], "x":2.5, "y":3.25}, + {"matrix": [3, 3], "x":3.5, "y":3.25}, + {"matrix": [3, 4], "x":4.5, "y":3.25}, + {"matrix": [3, 5], "x":5.5, "y":3.25}, + {"matrix": [3, 6], "x":6.5, "y":3.25}, + {"matrix": [3, 7], "x":7.5, "y":3.25}, + {"matrix": [3, 8], "x":8.5, "y":3.25}, + {"matrix": [3, 9], "x":9.5, "y":3.25}, + {"matrix": [3, 10], "x":10.5, "y":3.25}, + {"matrix": [3, 11], "x":11.5, "y":3.25}, + {"matrix": [3, 12], "x":12.5, "y":3.25}, + {"matrix": [3, 13], "x":13.5, "y":3.25, "w":1.5}, + {"matrix": [4, 0], "x":0, "y":4.25, "w":1.5}, + {"matrix": [4, 1], "x":1.5, "y":4.25}, + {"matrix": [4, 2], "x":2.5, "y":4.25}, + {"matrix": [4, 3], "x":3.5, "y":4.25}, + {"matrix": [4, 4], "x":4.5, "y":4.25}, + {"matrix": [4, 5], "x":5.5, "y":4.25}, + {"matrix": [4, 6], "x":6.5, "y":4.25}, + {"matrix": [4, 7], "x":7.5, "y":4.25}, + {"matrix": [4, 8], "x":8.5, "y":4.25}, + {"matrix": [4, 9], "x":9.5, "y":4.25}, + {"matrix": [4, 10], "x":10.5, "y":4.25}, + {"matrix": [4, 11], "x":11.5, "y":4.25}, + {"matrix": [4, 12], "x":12.5, "y":4.25}, + {"matrix": [4, 13], "x":13.5, "y":4.25, "w":1.5}, + {"matrix": [4, 15], "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}, + {"matrix": [5, 3], "x":3.5, "y":5.25}, + {"matrix": [5, 4], "x":4.5, "y":5.25}, + {"matrix": [5, 5], "x":5.5, "y":5.25}, + {"matrix": [5, 6], "x":6.5, "y":5.25, "w":2}, + {"matrix": [5, 8], "x":8.5, "y":5.25}, + {"matrix": [5, 9], "x":9.5, "y":5.25}, + {"matrix": [5, 10], "x":10.5, "y":5.25}, + {"matrix": [5, 11], "x":11.5, "y":5.25}, + {"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, 15], "x":16.25, "y":5.25}, + {"matrix": [5, 16], "x":17.25, "y":5.25} + ] + } + } +} diff --git a/keyboards/kradoindustries/kousa/keymaps/default/keymap.c b/keyboards/kradoindustries/kousa/keymaps/default/keymap.c new file mode 100644 index 00000000000..48978b2a2ba --- /dev/null +++ b/keyboards/kradoindustries/kousa/keymaps/default/keymap.c @@ -0,0 +1,111 @@ +/* +Copyright 2023 Matt F + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 _FN MO(3) +#define FN_BACK LT(3, KC_BSPC) +#define ZOOMIN C(KC_EQL) +#define ZOOMOUT C(KC_MINS) +#define NTAB C(KC_TAB) +#define BTAB C(S(KC_TAB)) + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + + /* Base Layer + + +* --------- .-----------------------------------. .-----------------------------------. .-----------------------------------. --------. .--------------------------. + * | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | F13 | | PrintSC| ScrlLk | Pause | + * | | | | | | | | | | | | | | | | | | | | | | | + * '-------+ '--------+--------+--------+--------' '--------+--------+--------+--------' '--------+--------+--------+--------' '-------+ '--------+--------+--------' + + * .-----------------------------------------------------------------------------------------------------------------------------------. .--------------------------. + * | Grave | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | Backspace | | Ins | Home | PageUp | + * | | | | | | | | | | | | | | | | | | | + * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------| |--------+--------+--------| + * | Tab | Q | W | E | R | T | | | Y | U | I | O | P | Del | | Del | End |PageDown| + * | | | | | | | | | | | | | | | | | | | + * |-----------+--------+--------+--------+--------+--------| [ | ] |--------+--------+--------+-----------------+-----------| '--------+--------+--------' + * | FN_BACK | A | S | D | F | G |--------+--------| H | J | K | L | " | Enter | + * | | | | | | | | | | | | | ' | | + * |-----------+--------+--------+--------+--------+--------| Prev | Next |--------+--------+--------------------------+-----------| .--------. + * | LShift | Z | X | C | V | B | Tab | Tab | N | M | < | > | ? | RShift | | Up | + * | | | | | | | | | | | , | . | / | | | | + * |-----------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+-----------| .--------+--------+--------. + * | LCtrl | LGUI | LALT | FN | Space | Space | Space | Space | Space | Space | RALT | RGUI | RCTRL | | Left | Down | Right | + * | | | | | | | | | | | | | | | | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------' '--------+--------+--------' + */ + + 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_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_DEL, KC_END, KC_PGDN, + FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, BTAB, NTAB, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( /* Layer One */ + + 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_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + + [2] = LAYOUT( /* Layer Two */ + + 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_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, ZOOMIN, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN, + FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ZOOMOUT, KC_LBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [3] = LAYOUT( /* Layer Three */ + + KC_ESC, DF(0), DF(1), DF(2), KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, 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, DF(0), RGB_MOD, + 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, DF(1), RGB_RMOD, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD, KC_BSLS, KC_CAPS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, 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) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) } +}; +#endif diff --git a/keyboards/kradoindustries/kousa/keymaps/default/rules.mk b/keyboards/kradoindustries/kousa/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/kradoindustries/kousa/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/kradoindustries/kousa/keymaps/via/keymap.c b/keyboards/kradoindustries/kousa/keymaps/via/keymap.c new file mode 100644 index 00000000000..48978b2a2ba --- /dev/null +++ b/keyboards/kradoindustries/kousa/keymaps/via/keymap.c @@ -0,0 +1,111 @@ +/* +Copyright 2023 Matt F + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 _FN MO(3) +#define FN_BACK LT(3, KC_BSPC) +#define ZOOMIN C(KC_EQL) +#define ZOOMOUT C(KC_MINS) +#define NTAB C(KC_TAB) +#define BTAB C(S(KC_TAB)) + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + + /* Base Layer + + +* --------- .-----------------------------------. .-----------------------------------. .-----------------------------------. --------. .--------------------------. + * | ESC | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | F13 | | PrintSC| ScrlLk | Pause | + * | | | | | | | | | | | | | | | | | | | | | | | + * '-------+ '--------+--------+--------+--------' '--------+--------+--------+--------' '--------+--------+--------+--------' '-------+ '--------+--------+--------' + + * .-----------------------------------------------------------------------------------------------------------------------------------. .--------------------------. + * | Grave | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | Backspace | | Ins | Home | PageUp | + * | | | | | | | | | | | | | | | | | | | + * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------| |--------+--------+--------| + * | Tab | Q | W | E | R | T | | | Y | U | I | O | P | Del | | Del | End |PageDown| + * | | | | | | | | | | | | | | | | | | | + * |-----------+--------+--------+--------+--------+--------| [ | ] |--------+--------+--------+-----------------+-----------| '--------+--------+--------' + * | FN_BACK | A | S | D | F | G |--------+--------| H | J | K | L | " | Enter | + * | | | | | | | | | | | | | ' | | + * |-----------+--------+--------+--------+--------+--------| Prev | Next |--------+--------+--------------------------+-----------| .--------. + * | LShift | Z | X | C | V | B | Tab | Tab | N | M | < | > | ? | RShift | | Up | + * | | | | | | | | | | | , | . | / | | | | + * |-----------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+-----------| .--------+--------+--------. + * | LCtrl | LGUI | LALT | FN | Space | Space | Space | Space | Space | Space | RALT | RGUI | RCTRL | | Left | Down | Right | + * | | | | | | | | | | | | | | | | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------' '--------+--------+--------' + */ + + 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_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_DEL, KC_END, KC_PGDN, + FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, BTAB, NTAB, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( /* Layer One */ + + 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_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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_DEL, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + + [2] = LAYOUT( /* Layer Two */ + + 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_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, ZOOMIN, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_DEL, KC_END, KC_PGDN, + FN_BACK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ZOOMOUT, KC_LBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, _FN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, _FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [3] = LAYOUT( /* Layer Three */ + + KC_ESC, DF(0), DF(1), DF(2), KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, 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, DF(0), RGB_MOD, + 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, DF(1), RGB_RMOD, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD, KC_BSLS, KC_CAPS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, 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) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) } +}; +#endif diff --git a/keyboards/kradoindustries/kousa/keymaps/via/rules.mk b/keyboards/kradoindustries/kousa/keymaps/via/rules.mk new file mode 100644 index 00000000000..aaf0497be13 --- /dev/null +++ b/keyboards/kradoindustries/kousa/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kradoindustries/kousa/readme.md b/keyboards/kradoindustries/kousa/readme.md new file mode 100644 index 00000000000..b9a50a93c93 --- /dev/null +++ b/keyboards/kradoindustries/kousa/readme.md @@ -0,0 +1,32 @@ +# Kousa TKL + +![Photo](https://i.imgur.com/b2JJoiIh.jpg) + +A hotswap H88-Compact Type-C compatible ortholinear TKL PCB that uses ergodox modifiers. Based on the [Boardwalk](https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardwalk)'s split hand layout, with the addtion of 6u and split 3u spacebar stabilizer support. F13 and F12 layouts are supported. The F13 location also supports a rotary encoder. The default layout will have 1.5u vertical inner modifiers, but it is possible to convert the center keys to 1u by soldering hotswap sockets. The board is designed to be compatible with H88-C type C boards and the outline of the board was based on zykrah's [slime88 pcb](https://github.com/zykrah/slime88). The usb C port can be broken off and used with a JST connector and daughterboard. + +The name is meant to be read "Kousa Tenkeyless". "Kousaten" (交差点) means intersection or crossing in Japanese. I wanted the name to be a nod to the Boardwalk without using u/shensmobile's naming conventions and Crosswalk seemed pretty close, but then I realized "crossing" in Japanese is "kousaten" and I thought it would call it the Kousa Tenkeyless! + +* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/) +* Hardware Supported: H88-C type C cases. Confirmed working in KFA Freebird TKL. Also confirmed working in KBDFans Tiger80 Lite. *Please note that you will need a custom plate for any case.* +* Hardware Availabilitiy: [Krado Industries](https://kradoindustries.com/) + +Make example for this keyboard (after setting up your build environment): + + make kradoindustries/kousa:default + +Flashing example for this keyboard: + + make kradoindustries/kousa: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 \ No newline at end of file diff --git a/keyboards/kradoindustries/kousa/rules.mk b/keyboards/kradoindustries/kousa/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/kradoindustries/kousa/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/kradoindustries/krado66/info.json b/keyboards/kradoindustries/krado66/info.json new file mode 100644 index 00000000000..aefadf12de1 --- /dev/null +++ b/keyboards/kradoindustries/krado66/info.json @@ -0,0 +1,130 @@ +{ + "keyboard_name": "Krado66", + "manufacturer": "Krado Industries", + "url": "https://www.kradoindustries.com/", + "maintainer": "Krado Industries", + "usb": { + "vid": "0x4B72", + "pid": "0x6664", + "device_version": "2.0.0" + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "encoder": true, + "rgblight": true + }, + "ws2812": { + "pin": "B2" + }, + "rgblight": { + "led_count": 14, + "sleep": true, + "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 + } + }, + "encoder": { + "rotary": [ + { "pin_a": "B1", "pin_b": "B0" }, + { "pin_a": "D7", "pin_b": "D6" }, + { "pin_a": "F7", "pin_b": "F6" } + ] + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": [ "C7", "B3", "D0", "D1", "D2", "D3", "D5", "D4"], + "rows": [ "F5", "F4", "F1", "F0", "B7", "E6", "B4", "B5", "C6", "B6" ] + }, + + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x":0.25, "y":0}, + {"matrix": [1, 0], "x":1.25, "y":0}, + {"matrix": [0, 1], "x":2.25, "y":0}, + {"matrix": [1, 1], "x":3.25, "y":0}, + {"matrix": [0, 2], "x":4.25, "y":0}, + {"matrix": [1, 2], "x":5.25, "y":0}, + {"matrix": [0, 3], "x":6.25, "y":0}, + {"matrix": [1, 3], "x":7.25, "y":0}, + {"matrix": [0, 4], "x":8.25, "y":0}, + {"matrix": [1, 4], "x":9.25, "y":0}, + {"matrix": [0, 5], "x":10.25, "y":0}, + {"matrix": [1, 5], "x":11.25, "y":0}, + {"matrix": [0, 6], "x":12.25, "y":0}, + {"matrix": [1, 6], "x":13.25, "y":0}, + {"matrix": [0, 7], "x":14.25, "y":0}, + {"matrix": [1, 7], "x":15.25, "y":0}, + {"matrix": [3, 0], "x":0.75, "y":1, "w":1.5}, + {"matrix": [2, 1], "x":2.25, "y":1}, + {"matrix": [3, 1], "x":3.25, "y":1}, + {"matrix": [2, 2], "x":4.25, "y":1}, + {"matrix": [3, 2], "x":5.25, "y":1}, + {"matrix": [2, 3], "x":6.25, "y":1}, + {"matrix": [3, 3], "x":7.25, "y":1}, + {"matrix": [2, 4], "x":8.25, "y":1}, + {"matrix": [3, 4], "x":9.25, "y":1}, + {"matrix": [2, 5], "x":10.25, "y":1}, + {"matrix": [3, 5], "x":11.25, "y":1}, + {"matrix": [2, 6], "x":12.25, "y":1}, + {"matrix": [3, 6], "x":13.25, "y":1}, + {"matrix": [2, 7], "x":14.25, "y":1, "w":1.5}, + {"matrix": [5, 0], "x":0.5, "y":2, "w":1.75}, + {"matrix": [4, 1], "x":2.25, "y":2}, + {"matrix": [5, 1], "x":3.25, "y":2}, + {"matrix": [4, 2], "x":4.25, "y":2}, + {"matrix": [5, 2], "x":5.25, "y":2}, + {"matrix": [4, 3], "x":6.25, "y":2}, + {"matrix": [5, 3], "x":7.25, "y":2}, + {"matrix": [4, 4], "x":8.25, "y":2}, + {"matrix": [5, 4], "x":9.25, "y":2}, + {"matrix": [4, 5], "x":10.25, "y":2}, + {"matrix": [5, 5], "x":11.25, "y":2}, + {"matrix": [4, 6], "x":12.25, "y":2}, + {"matrix": [5, 6], "x":13.25, "y":2, "w":2.25}, + {"matrix": [7, 0], "x":0, "y":3, "w":2.25}, + {"matrix": [6, 1], "x":2.25, "y":3}, + {"matrix": [7, 1], "x":3.25, "y":3}, + {"matrix": [6, 2], "x":4.25, "y":3}, + {"matrix": [7, 2], "x":5.25, "y":3}, + {"matrix": [6, 3], "x":6.25, "y":3}, + {"matrix": [7, 3], "x":7.25, "y":3}, + {"matrix": [6, 4], "x":8.25, "y":3}, + {"matrix": [7, 4], "x":9.25, "y":3}, + {"matrix": [6, 5], "x":10.25, "y":3}, + {"matrix": [7, 5], "x":11.25, "y":3}, + {"matrix": [6, 6], "x":12.25, "y":3, "w":1.75}, + {"matrix": [6, 7], "x":14, "y":3}, + {"matrix": [7, 7], "x":15, "y":3}, + {"matrix": [8, 0], "x":0, "y":4, "w":1.25}, + {"matrix": [9, 0], "x":1.25, "y":4, "w":1.25}, + {"matrix": [8, 1], "x":2.5, "y":4, "w":1.25}, + {"matrix": [9, 2], "x":3.75, "y":4, "w":1.25}, + {"matrix": [8, 3], "x":5, "y":4, "w":2.25}, + {"matrix": [9, 4], "x":7.25, "y":4, "w":2.75}, + {"matrix": [8, 5], "x":10, "y":4}, + {"matrix": [9, 5], "x":11, "y":4}, + {"matrix": [8, 6], "x":12, "y":4}, + {"matrix": [9, 6], "x":13, "y":4}, + {"matrix": [8, 7], "x":14, "y":4}, + {"matrix": [9, 7], "x":15, "y":4} + ] + } + } +} diff --git a/keyboards/kradoindustries/krado66/keymaps/default/keymap.c b/keyboards/kradoindustries/krado66/keymaps/default/keymap.c new file mode 100644 index 00000000000..ca18457196d --- /dev/null +++ b/keyboards/kradoindustries/krado66/keymaps/default/keymap.c @@ -0,0 +1,177 @@ +/* +Copyright 2022 Matt F + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 { + _QWERTY, + _QWERTYX, + _FUNCTION, + _EXTRA, +}; + + +#define QWERTY DF(_QWERTY) +#define QWERTYX DF(_QWERTYX) +#define FN MO(_FUNCTION) +#define BACKFN LT(_FUNCTION, KC_BSPC) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = 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_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_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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, FN, \ + KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \ + ), + +/* Default + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back | + * | | ` | | | | | | | | | | | _ | = | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE | + * | | | | | | | | | | | | { | } | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | CAPS LOCK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | + * | | | | | | | | | | | : | " | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+ + * | SHIFT | Z | X | C | V | B | N | M | < | > | / | RSHIFT | UP | Fn | + * | | | | | | | | | , | . | ? | | | | + * |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------+--------+ + * | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | RCTRL | GUI | LEFT | DOWN | RIGHT | + * | | | | | | | | | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ + + + + [_QWERTYX] = 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_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_DEL, \ + BACKFN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ + SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, FN, \ + KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \ + ), + +/* Default + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back | + * | | ` | | | | | | | | | | | _ | = | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE | + * | | | | | | | | | | | | { | } | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | BACKSPACE (FN)| A | S | D | F | G | H | J | K | L | ; | ' | ENTER | + * | | | | | | | | | | | : | " | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+ + * | CADET SHIFT ( | Z | X | C | V | B | N | M | < | > | / | CADET SHIFT ) | UP | Fn | + * | | | | | | | | | , | . | ? | | | | + * |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------|--------+ + * | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | GUI | RCTRL | LEFT | DOWN | RIGHT | + * | | | | | | | | | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ +*/ + + + [_FUNCTION] = LAYOUT( + QK_BOOT, QWERTYX, KC_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, \ + QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \ + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \ + KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \ + ), + +/* Fn + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | |QWERTYEX| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET | + * | | | | | | | | | | | | | | | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE | + * | | | | | | | | | | | Screen | | | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG | + * | | | | | | | | | | | | | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+ + * | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn | + * | | | | | | | | | | | | | | | + * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+ + * | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END | + * | | | | | | | | | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ + + [_EXTRA] = LAYOUT( + QK_BOOT, QWERTYX, KC_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, \ + QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \ + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \ + KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \ + ), + +/* Fn + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | |QWERTYX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET | + * | | | | | | | | | | | | | | | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE | + * | | | | | | | | | | | Screen | | | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG | + * | | | | | | | | | | | | | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+ + * | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn | + * | | | | | | | | | | | | | | E2 | + * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+ + * | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END | + * | E3 | | | | E3 | | | | E2 | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ +}; + + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_QWERTYX] = { ENCODER_CCW_CW(C(KC_TAB), C(S(KC_TAB))), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_EXTRA] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, +}; +#endif + + + + /* Encoder Positions + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | | | | + * | E1 | | | | | | | | | | | | | | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | | | | | | | | | | | | | | | + * | | | | | | | | | | | | | | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | | | | | | | | | | | | | | + * | | | | | | | | | | | | | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+ + * | | | | | | | | | | | | | | | + * | | | | | | | | | | | | | | E2 | + * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+ + * | | | | | | | | | | | | | + * | E3 | | | | E3 | | | | E2 | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ \ No newline at end of file diff --git a/keyboards/kradoindustries/krado66/keymaps/default/rules.mk b/keyboards/kradoindustries/krado66/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/kradoindustries/krado66/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/kradoindustries/krado66/keymaps/via/keymap.c b/keyboards/kradoindustries/krado66/keymaps/via/keymap.c new file mode 100644 index 00000000000..192bd377bdf --- /dev/null +++ b/keyboards/kradoindustries/krado66/keymaps/via/keymap.c @@ -0,0 +1,177 @@ +/* +Copyright 2022 Matt F + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 { + _QWERTY, + _QWERTYX, + _FUNCTION, + _EXTRA, +}; + + +#define QWERTY DF(_QWERTY) +#define QWERTYX DF(_QWERTYX) +#define FN MO(_FUNCTION) +#define BACKFN LT(_FUNCTION, KC_BSPC) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = 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_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_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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, FN, \ + KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \ + ), + +/* Default + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back | + * | | ` | | | | | | | | | | | _ | = | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE | + * | | | | | | | | | | | | { | } | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | CAPS LOCK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | + * | | | | | | | | | | | : | " | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+ + * | SHIFT | Z | X | C | V | B | N | M | < | > | / | RSHIFT | UP | Fn | + * | | | | | | | | | , | . | ? | | | | + * |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------+--------+ + * | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | RCTRL | GUI | LEFT | DOWN | RIGHT | + * | | | | | | | | | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ + + + + [_QWERTYX] = 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_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_DEL, \ + BACKFN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ + SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, FN, \ + KC_LCTL, KC_LGUI, KC_LALT, FN, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT \ + ), + +/* Default + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | ESC | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspc| Back | + * | | ` | | | | | | | | | | | _ | = | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | DELETE | + * | | | | | | | | | | | | { | } | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | BACKSPACE (FN)| A | S | D | F | G | H | J | K | L | ; | ' | ENTER | + * | | | | | | | | | | | : | " | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+-----------+-----+ + * | CADET SHIFT ( | Z | X | C | V | B | N | M | < | > | / | CADET SHIFT ) | UP | Fn | + * | | | | | | | | | , | . | ? | | | | + * |----------+----------+----------+--------------------------------------------------------+--------+--------+--------+--------+--------|--------+ + * | LCTRL | LGUI | LALT | Fn | SPACE | Space | RALT | GUI | RCTRL | LEFT | DOWN | RIGHT | + * | | | | | | | | | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ +*/ + + + [_FUNCTION] = LAYOUT( + QK_BOOT, QWERTYX, KC_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, \ + QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \ + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \ + KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \ + ), + +/* Fn + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | |QWERTYEX| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET | + * | | | | | | | | | | | | | | | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE | + * | | | | | | | | | | | Screen | | | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG | + * | | | | | | | | | | | | | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+ + * | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn | + * | | | | | | | | | | | | | | | + * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+ + * | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END | + * | | | | | | | | | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ + + [_EXTRA] = LAYOUT( + QK_BOOT, QWERTYX, KC_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, \ + QWERTY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_DEL, \ + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, RGB_TOG, \ + KC_TRNS, RGB_M_R, RGB_M_X, RGB_M_SW,RGB_M_K, RGB_M_B, RGB_M_G, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, KC_CAPS, KC_PGUP, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END \ + ), + +/* Fn + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | |QWERTYX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | RESET | + * | | | | | | | | | | | | | | | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | QWERTY | HOME | UP | END | PGUP | | | | INS | | Print | | | DELETE | + * | | | | | | | | | | | Screen | | | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | | LEFT | DOWN | RIGHT | PGDN | | | PREV | PLAY | NEXT | | | RGB TOG | + * | | | | | | | | | | | | | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+ + * | | Rainbow| Xmas | Swirl | Knight |Breathe |GradieNt| MUTE | VOL DN | VOL UP | PIPE \ | CAPS LOCK | PAGEUP | Fn | + * | | | | | | | | | | | | | | E2 | + * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+ + * | | | | Fn | ENTER | NUM.Dot | | | | HOME | PAGEDN | END | + * | E3 | | | | E3 | | | | E2 | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ +}; + + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_QWERTYX] = { ENCODER_CCW_CW(C(KC_TAB), C(S(KC_TAB))), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_EXTRA] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, +}; +#endif + + + + /* Encoder Positions + * .-----------------------------------------------------------------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | | | | + * | E1 | | | | | | | | | | | | | | | | + * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ + * | | | | | | | | | | | | | | | + * | | | | | | | | | | | | | | | + * +---------------+--------+--------+--------+--------+------- +--------+--------+--------+--------+--------+--------|--------+-------------+ + * | | | | | | | | | | | | | | + * | | | | | | | | | | | | | | + * +-----------------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------+-------+------------+----+ + * | | | | | | | | | | | | | | | + * | | | | | | | | | | | | | | E2 | + * |----------+----------+----------+---------------------------------------------------------+--------+--------+----------------+--------+--------+ + * | | | | | | | | | | | | | + * | E3 | | | | E3 | | | | E2 | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------+--------+ + */ \ No newline at end of file diff --git a/keyboards/kradoindustries/krado66/keymaps/via/rules.mk b/keyboards/kradoindustries/krado66/keymaps/via/rules.mk new file mode 100644 index 00000000000..8111cb54a73 --- /dev/null +++ b/keyboards/kradoindustries/krado66/keymaps/via/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes + diff --git a/keyboards/kradoindustries/krado66/readme.md b/keyboards/kradoindustries/krado66/readme.md new file mode 100644 index 00000000000..7b8a275ee40 --- /dev/null +++ b/keyboards/kradoindustries/krado66/readme.md @@ -0,0 +1,30 @@ +# Krado66 + +![Photo](https://i.imgur.com/Du3bBT9h.jpg) + +The Krado66 is a 65%ish ortholinear keyboard the uses standard 65% layout keycaps. It can also be configured to accept standard ANSI keycaps (Full 2.75u Right Shift and 1.25u bottom modifiers.) + +For those that are wondering, "Krado" means "grid" in Esperanto. The board has 66 keys in its default layout. + +* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/) +* Hardware Supported: Only Krado66 acrylic case and skeleton cases are supported. +* Hardware Availabilitiy: [Krado Industries](https://kradoindustries.com/) + +Make example for this keyboard (after setting up your build environment): + + make kradoindustries/krado66:default + +Flashing example for this keyboard: + + make kradoindustries/krado66: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 \ No newline at end of file diff --git a/keyboards/kradoindustries/krado66/rules.mk b/keyboards/kradoindustries/krado66/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/kradoindustries/krado66/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/kradoindustries/promenade/info.json b/keyboards/kradoindustries/promenade/info.json new file mode 100644 index 00000000000..a4d47b34f35 --- /dev/null +++ b/keyboards/kradoindustries/promenade/info.json @@ -0,0 +1,123 @@ +{ + "keyboard_name": "Promenade", + "manufacturer": "krado industries", + "url": "https://www.kradoindustries.com/", + "maintainer": "Krado Industries", + "usb": { + "vid": "0x4B72", + "pid": "0x706D", + "device_version": "1.0.0" + }, + + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgblight": true + }, + "ws2812": { + "pin": "B7" + }, + "rgblight": { + "led_count": 14, + "sleep": true, + "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 + } + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": [ "F4", "C7", "D7", "B4", "B5", "B6", "C6", "D6", "D4", "D5", "D3", "D2", "D1", "D0"], + "rows": [ "F1", "F5", "E6", "F7", "F6"] + }, + + + "layouts": { + "LAYOUT": { + "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, "w":1.5}, + {"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, "h":1.5}, + {"matrix": [1, 7], "x":7.5, "y":1, "h":1.5}, + {"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, 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, 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": [3, 6], "x":6.5, "y":2.5, "h":1.5}, + {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5}, + {"matrix": [3, 0], "x":0, "y":3, "w":1.5}, + {"matrix": [3, 1], "x":1.5, "y":3}, + {"matrix": [3, 2], "x":2.5, "y":3}, + {"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, 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, "w":1.5}, + {"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}, + {"matrix": [4, 3], "x":3.5, "y":4}, + {"matrix": [4, 4], "x":4.5, "y":4}, + {"matrix": [4, 5], "x":5.5, "y":4}, + {"matrix": [4, 6], "x":6.5, "y":4, "w":2}, + {"matrix": [4, 8], "x":8.5, "y":4}, + {"matrix": [4, 9], "x":9.5, "y":4}, + {"matrix": [4, 10], "x":10.5, "y":4}, + {"matrix": [4, 11], "x":11.5, "y":4}, + {"matrix": [4, 12], "x":12.5, "y":4}, + {"matrix": [4, 13], "x":13.5, "y":4, "w":1.5} + + ] + } + } +} diff --git a/keyboards/kradoindustries/promenade/keymaps/default/keymap.c b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c new file mode 100644 index 00000000000..42e606c149e --- /dev/null +++ b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c @@ -0,0 +1,66 @@ +/* +Copyright 2023 Matt F +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 | | | 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( + 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_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, KC_LALT, MO(_FN), 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 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | | Home | Up | End | PgUp | | | | | | | | PRT SC | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| + * | | Left | Down | Right | PgDn | | | | | | | | | Reset | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| + * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| + * | | | | | | | | | | | | | | Reset | + * '-----------------------------------------------------------------------------------------------------------------------------' + */ + [_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_DEL, + _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ) +}; diff --git a/keyboards/kradoindustries/promenade/keymaps/via/keymap.c b/keyboards/kradoindustries/promenade/keymaps/via/keymap.c new file mode 100644 index 00000000000..8797471b4ca --- /dev/null +++ b/keyboards/kradoindustries/promenade/keymaps/via/keymap.c @@ -0,0 +1,66 @@ +/* +Copyright 2023 Matt F +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 | | | 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( + 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_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, KC_LALT, MO(_FN), 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 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | | Home | Up | End | PgUp | | | | | | | | PRT SC | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| + * | | Left | Down | Right | PgDn | | | | | | | | | Reset | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------| + * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------| + * | | | | | | | | | | | | | | Reset | + * '-----------------------------------------------------------------------------------------------------------------------------' + */ + [_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_DEL, + _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ) +}; diff --git a/keyboards/kradoindustries/promenade/keymaps/via/rules.mk b/keyboards/kradoindustries/promenade/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/kradoindustries/promenade/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/kradoindustries/promenade/readme.md b/keyboards/kradoindustries/promenade/readme.md new file mode 100644 index 00000000000..179563995cf --- /dev/null +++ b/keyboards/kradoindustries/promenade/readme.md @@ -0,0 +1,30 @@ +# Promenade + +![Promenade](https://i.imgur.com/VXlXflth.jpg) + +The Promenade is a 60% ortholinear hotswap keyboard based on the split hand layout of the [Boardwalk](https://github.com/qmk/qmk_firmware/tree/master/keyboards/boardwalk). While similar to the Professional 2 hotswap version of the Boardwalk, it uses 1.5u verticle inner mods instead of 1u keys, includes a JST connector, adds stabilizer mounting positions for 6u and split 3u spacebards, and in addition to 60% tray mounting points the pcb has edge cuts for for use in gummy o-ring mount boards like the Bakeneko60. + +The 1.5u vertical inner mods are the default configuration, but the board can be configured to use 3x2 1u keys either by removing the existing hotswap sockets and soldering 6 hotswap sockets to the 1u pads. *Note that the some of the 1u keys may require the plastic legs of 5-pin switches to be trimmed.* + +* Keyboard Maintainer: [Feags](https://github.com/Feags) / [Krado Industries](https://kradoindustries.com/) +* Hardware Supported: Promenade pcb. Many 60% cases. +* Hardware Availability: [Krado Industries](https://kradoindustries.com/) + +Make example for this keyboard (after setting up your build environment): + + make kradoindustries/promenade:default + +Flashing example for this keyboard: + + make kradoindustries/promenade: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 \ No newline at end of file diff --git a/keyboards/kradoindustries/promenade/rules.mk b/keyboards/kradoindustries/promenade/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/kradoindustries/promenade/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/ktec/daisy/config.h b/keyboards/ktec/daisy/config.h index 7928ebcd352..94ac667ad42 100644 --- a/keyboards/ktec/daisy/config.h +++ b/keyboards/ktec/daisy/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 8 -# define RGBLIGHT_HUE_STEP 12 -# define RGBLIGHT_SAT_STEP 25 -# define RGBLIGHT_VAL_STEP 12 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ktec/daisy/info.json b/keyboards/ktec/daisy/info.json index ddd45dae05c..aa9a45477a4 100644 --- a/keyboards/ktec/daisy/info.json +++ b/keyboards/ktec/daisy/info.json @@ -21,6 +21,12 @@ "caps_lock": "C6", "on_state": 0 }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 8 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/ktec/staryu/config.h b/keyboards/ktec/staryu/config.h index 31f2930ac17..58fa32d0525 100755 --- a/keyboards/ktec/staryu/config.h +++ b/keyboards/ktec/staryu/config.h @@ -16,7 +16,6 @@ along with this program. If not, see . */ #pragma once -#define RGBLED_NUM 1 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ktec/staryu/info.json b/keyboards/ktec/staryu/info.json index 3600de0c358..da277a0ae05 100644 --- a/keyboards/ktec/staryu/info.json +++ b/keyboards/ktec/staryu/info.json @@ -19,6 +19,7 @@ "pin": "C6" }, "rgblight": { + "led_count": 1, "max_brightness": 200 }, "processor": "atmega32u2", diff --git a/keyboards/kudox/columner/config.h b/keyboards/kudox/columner/config.h index 7506090b1ed..50bfb15d211 100644 --- a/keyboards/kudox/columner/config.h +++ b/keyboards/kudox/columner/config.h @@ -21,8 +21,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,9 +31,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/kudox/columner/info.json b/keyboards/kudox/columner/info.json index 7c106b14484..24e407dd69e 100644 --- a/keyboards/kudox/columner/info.json +++ b/keyboards/kudox/columner/info.json @@ -16,6 +16,11 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kudox/rev1/config.h b/keyboards/kudox/rev1/config.h index 80ac84c64fa..c3b8d1f4e4b 100644 --- a/keyboards/kudox/rev1/config.h +++ b/keyboards/kudox/rev1/config.h @@ -21,8 +21,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,9 +31,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/kudox/rev1/info.json b/keyboards/kudox/rev1/info.json index efb55bb9895..52f61965f98 100644 --- a/keyboards/kudox/rev1/info.json +++ b/keyboards/kudox/rev1/info.json @@ -16,6 +16,11 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kudox/rev2/config.h b/keyboards/kudox/rev2/config.h index 80ac84c64fa..c3b8d1f4e4b 100644 --- a/keyboards/kudox/rev2/config.h +++ b/keyboards/kudox/rev2/config.h @@ -21,8 +21,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,9 +31,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/kudox/rev2/info.json b/keyboards/kudox/rev2/info.json index 9dab738c388..6819224bc7e 100644 --- a/keyboards/kudox/rev2/info.json +++ b/keyboards/kudox/rev2/info.json @@ -16,6 +16,11 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kudox/rev3/config.h b/keyboards/kudox/rev3/config.h index 7506090b1ed..50bfb15d211 100644 --- a/keyboards/kudox/rev3/config.h +++ b/keyboards/kudox/rev3/config.h @@ -21,8 +21,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,9 +31,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/kudox/rev3/info.json b/keyboards/kudox/rev3/info.json index a7e73c84ae7..9981c3b88da 100644 --- a/keyboards/kudox/rev3/info.json +++ b/keyboards/kudox/rev3/info.json @@ -16,6 +16,11 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kudox_full/rev1/config.h b/keyboards/kudox_full/rev1/config.h index 84d08bce543..8e4ecc9efcb 100644 --- a/keyboards/kudox_full/rev1/config.h +++ b/keyboards/kudox_full/rev1/config.h @@ -8,8 +8,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -17,9 +15,6 @@ #define RGBLIGHT_EFFECT_KNIGHT #define RGBLIGHT_EFFECT_CHRISTMAS #define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/kudox_full/rev1/info.json b/keyboards/kudox_full/rev1/info.json index 45958b56c99..3abfc76f521 100644 --- a/keyboards/kudox_full/rev1/info.json +++ b/keyboards/kudox_full/rev1/info.json @@ -16,6 +16,11 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kudox_game/rev1/config.h b/keyboards/kudox_game/rev1/config.h index 5fddd8102a2..2c5375a2268 100644 --- a/keyboards/kudox_game/rev1/config.h +++ b/keyboards/kudox_game/rev1/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#undef RGBLED_NUM -#define RGBLED_NUM 7 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -34,9 +32,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/kudox_game/rev1/info.json b/keyboards/kudox_game/rev1/info.json index 7868308eadb..5fbf2031ea9 100644 --- a/keyboards/kudox_game/rev1/info.json +++ b/keyboards/kudox_game/rev1/info.json @@ -2,6 +2,11 @@ "usb": { "device_version": "1.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/kudox_game/rev2/config.h b/keyboards/kudox_game/rev2/config.h index 7b6ef67bd97..33806a1d7e9 100644 --- a/keyboards/kudox_game/rev2/config.h +++ b/keyboards/kudox_game/rev2/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#undef RGBLED_NUM -#define RGBLED_NUM 7 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -34,9 +32,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/kudox_game/rev2/info.json b/keyboards/kudox_game/rev2/info.json index 4a441b73855..eb8a5a9fb6b 100644 --- a/keyboards/kudox_game/rev2/info.json +++ b/keyboards/kudox_game/rev2/info.json @@ -2,6 +2,11 @@ "usb": { "device_version": "2.0.0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/labyrinth75/config.h b/keyboards/labyrinth75/config.h index 8ff700ade82..e28d2b1898d 100644 --- a/keyboards/labyrinth75/config.h +++ b/keyboards/labyrinth75/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 6 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/labyrinth75/info.json b/keyboards/labyrinth75/info.json index 797627865e3..c88af7f9f0a 100644 --- a/keyboards/labyrinth75/info.json +++ b/keyboards/labyrinth75/info.json @@ -16,6 +16,9 @@ "bootmagic": { "matrix": [0, 2] }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/late9/rev1/config.h b/keyboards/late9/rev1/config.h index e6fcd30ebea..8c9a5702f26 100644 --- a/keyboards/late9/rev1/config.h +++ b/keyboards/late9/rev1/config.h @@ -16,8 +16,5 @@ along with this program. If not, see . */ #pragma once -/* Tap interval for tap dance */ -#define TAPPING_TERM 400 - /* Oneshot interval */ #define ONESHOT_TIMEOUT 5000 diff --git a/keyboards/late9/rev1/info.json b/keyboards/late9/rev1/info.json index 7d3a710bc54..05d0934b964 100644 --- a/keyboards/late9/rev1/info.json +++ b/keyboards/late9/rev1/info.json @@ -8,6 +8,12 @@ "pid": "0x3777", "device_version": "0.1.0" }, + "tapping": { + "term": 400 + }, + "build": { + "debounce_type": "sym_eager_pk" + }, "matrix_pins": { "cols": ["B5", "C6", "D4"], "rows": ["B4", "E6", "D7", "B3", "B2", "B6"] diff --git a/keyboards/late9/rev1/rules.mk b/keyboards/late9/rev1/rules.mk index 82d5e4237f8..874033acc90 100644 --- a/keyboards/late9/rev1/rules.mk +++ b/keyboards/late9/rev1/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -DEBOUNCE_TYPE = sym_eager_pk diff --git a/keyboards/latincompass/latin17rgb/config.h b/keyboards/latincompass/latin17rgb/config.h index 8b647046387..1d201d34a09 100644 --- a/keyboards/latincompass/latin17rgb/config.h +++ b/keyboards/latincompass/latin17rgb/config.h @@ -95,8 +95,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 5 -#define RGBLIGHT_SAT_STEP 5 -#define RGBLIGHT_VAL_STEP 5 -#define RGBLIGHT_SLEEP diff --git a/keyboards/latincompass/latin17rgb/info.json b/keyboards/latincompass/latin17rgb/info.json index 7a5a6fbb6d2..ad61a4f3548 100644 --- a/keyboards/latincompass/latin17rgb/info.json +++ b/keyboards/latincompass/latin17rgb/info.json @@ -8,6 +8,13 @@ "pid": "0x7C97", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 5, + "saturation_steps": 5, + "brightness_steps": 5, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/latincompass/latin47ble/config.h b/keyboards/latincompass/latin47ble/config.h index 6068bc87d91..f9b76ecd880 100644 --- a/keyboards/latincompass/latin47ble/config.h +++ b/keyboards/latincompass/latin47ble/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 3 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -32,8 +27,6 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define TAPPING_TERM 250 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/latincompass/latin47ble/info.json b/keyboards/latincompass/latin47ble/info.json index b9a9b7eb952..befa51fdab0 100644 --- a/keyboards/latincompass/latin47ble/info.json +++ b/keyboards/latincompass/latin47ble/info.json @@ -13,6 +13,14 @@ "rows": ["D0", "D1", "D2", "D3"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 3 + }, + "tapping": { + "term": 250 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/latincompass/latin64ble/config.h b/keyboards/latincompass/latin64ble/config.h index 326f4795c00..1b27e5b2541 100644 --- a/keyboards/latincompass/latin64ble/config.h +++ b/keyboards/latincompass/latin64ble/config.h @@ -15,10 +15,6 @@ along with this program. If not, see .*/ #pragma once -#define RGBLED_NUM 2 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM - -#define RGBLIGHT_VAL_STEP 25 #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 20 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/latincompass/latin64ble/info.json b/keyboards/latincompass/latin64ble/info.json index d59a5fb02c5..e36572a1d07 100644 --- a/keyboards/latincompass/latin64ble/info.json +++ b/keyboards/latincompass/latin64ble/info.json @@ -8,6 +8,10 @@ "pid": "0x6C71", "device_version": "0.0.1" }, + "rgblight": { + "brightness_steps": 25, + "led_count": 2 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/latincompass/latinpad/config.h b/keyboards/latincompass/latinpad/config.h index d166baebc7d..d68f3b92418 100644 --- a/keyboards/latincompass/latinpad/config.h +++ b/keyboards/latincompass/latinpad/config.h @@ -18,8 +18,7 @@ along with this program. If not, see .*/ #define SSD1306OLED -#define RGBLED_NUM 18 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 18 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/lazydesigners/bolt/config.h b/keyboards/lazydesigners/bolt/config.h index 218631d1d51..b6b58fc4a92 100644 --- a/keyboards/lazydesigners/bolt/config.h +++ b/keyboards/lazydesigners/bolt/config.h @@ -28,8 +28,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLIGHT_SLEEP - #define RGBLED_NUM 13 - /* #define RGBLIGHT_HUE_STEP 8 */ - /* #define RGBLIGHT_SAT_STEP 8 */ - /* #define RGBLIGHT_VAL_STEP 8 */ diff --git a/keyboards/lazydesigners/bolt/info.json b/keyboards/lazydesigners/bolt/info.json index a12226cf51b..4b8e756486d 100644 --- a/keyboards/lazydesigners/bolt/info.json +++ b/keyboards/lazydesigners/bolt/info.json @@ -8,6 +8,10 @@ "pid": "0x0041", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 13, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/lazydesigners/cassette8/config.h b/keyboards/lazydesigners/cassette8/config.h index 23284233ef4..58cdcff32f8 100755 --- a/keyboards/lazydesigners/cassette8/config.h +++ b/keyboards/lazydesigners/cassette8/config.h @@ -27,8 +27,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLIGHT_SLEEP - #define RGBLED_NUM 15 - /* #define RGBLIGHT_HUE_STEP 8 */ - /* #define RGBLIGHT_SAT_STEP 8 */ - /* #define RGBLIGHT_VAL_STEP 8 */ diff --git a/keyboards/lazydesigners/cassette8/info.json b/keyboards/lazydesigners/cassette8/info.json index d01080fabfc..e4fb627f5f9 100755 --- a/keyboards/lazydesigners/cassette8/info.json +++ b/keyboards/lazydesigners/cassette8/info.json @@ -8,6 +8,10 @@ "pid": "0x0008", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 15, + "sleep": true + }, "ws2812": { "pin": "C2" }, diff --git a/keyboards/lazydesigners/dimple/config.h b/keyboards/lazydesigners/dimple/config.h index 0dc7502eacd..8d5ae37ff6a 100644 --- a/keyboards/lazydesigners/dimple/config.h +++ b/keyboards/lazydesigners/dimple/config.h @@ -34,8 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLIGHT_SLEEP - #define RGBLED_NUM 50 - /* #define RGBLIGHT_HUE_STEP 8 */ - /* #define RGBLIGHT_SAT_STEP 8 */ - /* #define RGBLIGHT_VAL_STEP 8 */ diff --git a/keyboards/lazydesigners/dimple/ortho/info.json b/keyboards/lazydesigners/dimple/ortho/info.json index fc23ad45c59..e05754d0b89 100644 --- a/keyboards/lazydesigners/dimple/ortho/info.json +++ b/keyboards/lazydesigners/dimple/ortho/info.json @@ -13,6 +13,10 @@ "rows": ["D0", "D1", "D2", "D3"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 50, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/lazydesigners/dimple/staggered/info.json b/keyboards/lazydesigners/dimple/staggered/info.json index 1ffe78fc5c9..c0fefad6eb7 100644 --- a/keyboards/lazydesigners/dimple/staggered/info.json +++ b/keyboards/lazydesigners/dimple/staggered/info.json @@ -8,6 +8,10 @@ "pid": "0x0040", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 50, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/lazydesigners/dimple/staggered/keymaps/tominabox1/keymap.c b/keyboards/lazydesigners/dimple/staggered/keymaps/tominabox1/keymap.c index cdaade987f1..d1917e4aa70 100644 --- a/keyboards/lazydesigners/dimple/staggered/keymaps/tominabox1/keymap.c +++ b/keyboards/lazydesigners/dimple/staggered/keymaps/tominabox1/keymap.c @@ -100,10 +100,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void led_set_user(uint8_t usb_led) { -if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { +if (led_state.caps_lock) { writePinLow(E6); } else { writePinHigh(E6); } + return false; } diff --git a/keyboards/lazydesigners/dimpleplus/config.h b/keyboards/lazydesigners/dimpleplus/config.h index 828667122d7..b6b58fc4a92 100644 --- a/keyboards/lazydesigners/dimpleplus/config.h +++ b/keyboards/lazydesigners/dimpleplus/config.h @@ -28,8 +28,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLIGHT_SLEEP - #define RGBLED_NUM 8 - /* #define RGBLIGHT_HUE_STEP 8 */ - /* #define RGBLIGHT_SAT_STEP 8 */ - /* #define RGBLIGHT_VAL_STEP 8 */ diff --git a/keyboards/lazydesigners/dimpleplus/info.json b/keyboards/lazydesigners/dimpleplus/info.json index 0d47a51f95a..4deb68ad639 100644 --- a/keyboards/lazydesigners/dimpleplus/info.json +++ b/keyboards/lazydesigners/dimpleplus/info.json @@ -16,6 +16,10 @@ "backlight": { "pin": "B7" }, + "rgblight": { + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/lazydesigners/the40/config.h b/keyboards/lazydesigners/the40/config.h index 8a326c3ba0c..caac1c91109 100644 --- a/keyboards/lazydesigners/the40/config.h +++ b/keyboards/lazydesigners/the40/config.h @@ -17,11 +17,6 @@ #pragma once - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/lazydesigners/the40/info.json b/keyboards/lazydesigners/the40/info.json index e7aab1bea36..cf9fd56f691 100644 --- a/keyboards/lazydesigners/the40/info.json +++ b/keyboards/lazydesigners/the40/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/lazydesigners/the50/config.h b/keyboards/lazydesigners/the50/config.h index 366d9d33258..5f360813239 100644 --- a/keyboards/lazydesigners/the50/config.h +++ b/keyboards/lazydesigners/the50/config.h @@ -5,6 +5,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define RGBLED_NUM 1 -#define RGBLIGHT_SLEEP diff --git a/keyboards/lazydesigners/the50/info.json b/keyboards/lazydesigners/the50/info.json index f29e8dfe0d8..0c76516e803 100644 --- a/keyboards/lazydesigners/the50/info.json +++ b/keyboards/lazydesigners/the50/info.json @@ -17,6 +17,10 @@ "pin": "B6", "levels": 6 }, + "rgblight": { + "led_count": 1, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/lazydesigners/the50/keymaps/default/keymap.c b/keyboards/lazydesigners/the50/keymaps/default/keymap.c index 5d8ea732f6b..61e6ee878c6 100644 --- a/keyboards/lazydesigners/the50/keymaps/default/keymap.c +++ b/keyboards/lazydesigners/the50/keymaps/default/keymap.c @@ -49,11 +49,12 @@ EE_CLR, _______, _______, _______, _______, ) }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { // Turn LED On/Off for Caps Lock - if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { the50_led_on(); } else { the50_led_off(); } + return false; } diff --git a/keyboards/lazydesigners/the50/keymaps/mikethetiger/keymap.c b/keyboards/lazydesigners/the50/keymaps/mikethetiger/keymap.c index 8986fd6c3d7..c384c3c5202 100644 --- a/keyboards/lazydesigners/the50/keymaps/mikethetiger/keymap.c +++ b/keyboards/lazydesigners/the50/keymaps/mikethetiger/keymap.c @@ -69,11 +69,12 @@ EE_CLR, _______, _______, _______, _______, ) }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { // Turn LED On/Off for Caps Lock - if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { the50_led_on(); } else { the50_led_off(); } + return false; } diff --git a/keyboards/lazydesigners/the60/rev2/config.h b/keyboards/lazydesigners/the60/rev2/config.h index 19bd7fbb1f5..ba5892e34f2 100755 --- a/keyboards/lazydesigners/the60/rev2/config.h +++ b/keyboards/lazydesigners/the60/rev2/config.h @@ -17,11 +17,6 @@ #pragma once - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/lazydesigners/the60/rev2/info.json b/keyboards/lazydesigners/the60/rev2/info.json index 7a5dce5906e..442e7b8d094 100755 --- a/keyboards/lazydesigners/the60/rev2/info.json +++ b/keyboards/lazydesigners/the60/rev2/info.json @@ -18,6 +18,12 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/leafcutterlabs/bigknob/config.h b/keyboards/leafcutterlabs/bigknob/config.h index d8b9a4fa0be..935f89491ec 100644 --- a/keyboards/leafcutterlabs/bigknob/config.h +++ b/keyboards/leafcutterlabs/bigknob/config.h @@ -28,4 +28,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 5 // Number of LEDs diff --git a/keyboards/leafcutterlabs/bigknob/info.json b/keyboards/leafcutterlabs/bigknob/info.json index 1361138549a..f411b702daa 100644 --- a/keyboards/leafcutterlabs/bigknob/info.json +++ b/keyboards/leafcutterlabs/bigknob/info.json @@ -13,6 +13,9 @@ {"pin_a": "D0", "pin_b": "D2"} ] }, + "rgblight": { + "led_count": 5 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/lets_split/rev1/config.h b/keyboards/lets_split/rev1/config.h index a7b7c4843e0..0b8941e7760 100644 --- a/keyboards/lets_split/rev1/config.h +++ b/keyboards/lets_split/rev1/config.h @@ -23,8 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 16 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/lets_split/rev1/info.json b/keyboards/lets_split/rev1/info.json index 3c9cea5e5ee..6f00161cd5d 100644 --- a/keyboards/lets_split/rev1/info.json +++ b/keyboards/lets_split/rev1/info.json @@ -14,6 +14,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/lets_split/rev2/config.h b/keyboards/lets_split/rev2/config.h index a30fed60780..0b8941e7760 100644 --- a/keyboards/lets_split/rev2/config.h +++ b/keyboards/lets_split/rev2/config.h @@ -23,8 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 12 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/lets_split/rev2/info.json b/keyboards/lets_split/rev2/info.json index d25e6de6112..8c6d622732f 100644 --- a/keyboards/lets_split/rev2/info.json +++ b/keyboards/lets_split/rev2/info.json @@ -14,6 +14,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/lets_split/sockets/config.h b/keyboards/lets_split/sockets/config.h index 3655ec19c50..dee5c458b22 100644 --- a/keyboards/lets_split/sockets/config.h +++ b/keyboards/lets_split/sockets/config.h @@ -18,8 +18,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 12 // Number of LEDs - /* Audio settings */ #ifdef AUDIO_ENABLE #define AUDIO_PIN C6 // Define this to enable the buzzer diff --git a/keyboards/lets_split/sockets/info.json b/keyboards/lets_split/sockets/info.json index cf716c05070..76972243dc4 100644 --- a/keyboards/lets_split/sockets/info.json +++ b/keyboards/lets_split/sockets/info.json @@ -14,6 +14,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/lfkeyboards/lfk65_hs/config.h b/keyboards/lfkeyboards/lfk65_hs/config.h index ae682e447f4..a1f9493845a 100644 --- a/keyboards/lfkeyboards/lfk65_hs/config.h +++ b/keyboards/lfkeyboards/lfk65_hs/config.h @@ -1,10 +1,7 @@ #pragma once -#define RGBLED_NUM 20 // Number of LEDs - #define BACKLIGHT_PWM_MAP {8, 16, 40, 55, 70, 128, 200, 255} -#define RGBLED_NUM 20 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -15,9 +12,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/lfkeyboards/lfk65_hs/info.json b/keyboards/lfkeyboards/lfk65_hs/info.json index 894a0095831..2fd13d16795 100644 --- a/keyboards/lfkeyboards/lfk65_hs/info.json +++ b/keyboards/lfkeyboards/lfk65_hs/info.json @@ -16,6 +16,10 @@ "backlight": { "levels": 8 }, + "rgblight": { + "hue_steps": 10, + "led_count": 20 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/lfkeyboards/lfk78/config.h b/keyboards/lfkeyboards/lfk78/config.h index 5748d29987c..39c4294aa5f 100644 --- a/keyboards/lfkeyboards/lfk78/config.h +++ b/keyboards/lfkeyboards/lfk78/config.h @@ -19,14 +19,9 @@ along with this program. If not, see . #define BACKLIGHT_PWM_MAP { 8, 16, 40, 55, 70, 128, 200, 255 } -#define TAPPING_TERM 200 - #define AUDIO_PIN C6 #define AUDIO_VOICES -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/lfkeyboards/lfk78/revb/config.h b/keyboards/lfkeyboards/lfk78/revb/config.h deleted file mode 100644 index 377ea211232..00000000000 --- a/keyboards/lfkeyboards/lfk78/revb/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RGBLED_NUM 31 diff --git a/keyboards/lfkeyboards/lfk78/revb/info.json b/keyboards/lfkeyboards/lfk78/revb/info.json index 92662bacc78..bee0a0305b7 100644 --- a/keyboards/lfkeyboards/lfk78/revb/info.json +++ b/keyboards/lfkeyboards/lfk78/revb/info.json @@ -17,6 +17,10 @@ "driver": "custom", "levels": 8 }, + "rgblight": { + "hue_steps": 10, + "led_count": 31 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/lfkeyboards/lfk78/revc/config.h b/keyboards/lfkeyboards/lfk78/revc/config.h deleted file mode 100644 index 78343dc888c..00000000000 --- a/keyboards/lfkeyboards/lfk78/revc/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RGBLED_NUM 27 diff --git a/keyboards/lfkeyboards/lfk78/revc/info.json b/keyboards/lfkeyboards/lfk78/revc/info.json index 830205c584c..a0f3327dda8 100644 --- a/keyboards/lfkeyboards/lfk78/revc/info.json +++ b/keyboards/lfkeyboards/lfk78/revc/info.json @@ -17,6 +17,10 @@ "driver": "custom", "levels": 8 }, + "rgblight": { + "hue_steps": 10, + "led_count": 27 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/lfkeyboards/lfk78/revj/config.h b/keyboards/lfkeyboards/lfk78/revj/config.h deleted file mode 100644 index 78343dc888c..00000000000 --- a/keyboards/lfkeyboards/lfk78/revj/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RGBLED_NUM 27 diff --git a/keyboards/lfkeyboards/lfk78/revj/info.json b/keyboards/lfkeyboards/lfk78/revj/info.json index 8f9198b089d..3bfbcc147a3 100644 --- a/keyboards/lfkeyboards/lfk78/revj/info.json +++ b/keyboards/lfkeyboards/lfk78/revj/info.json @@ -17,6 +17,10 @@ "driver": "custom", "levels": 8 }, + "rgblight": { + "hue_steps": 10, + "led_count": 27 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/lfkeyboards/lfk87/config.h b/keyboards/lfkeyboards/lfk87/config.h index 3a8f16e0fd5..2fa80e59d25 100644 --- a/keyboards/lfkeyboards/lfk87/config.h +++ b/keyboards/lfkeyboards/lfk87/config.h @@ -32,11 +32,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - -#define TAPPING_TERM 200 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/lfkeyboards/lfk87/reva/info.json b/keyboards/lfkeyboards/lfk87/reva/info.json index 457f3602ab8..dfda50bc4d1 100644 --- a/keyboards/lfkeyboards/lfk87/reva/info.json +++ b/keyboards/lfkeyboards/lfk87/reva/info.json @@ -7,6 +7,7 @@ }, "diode_direction": "COL2ROW", "rgblight": { + "hue_steps": 10, "led_count": 25 }, "layouts": { diff --git a/keyboards/lfkeyboards/lfk87/revc/info.json b/keyboards/lfkeyboards/lfk87/revc/info.json index 7d18e71197d..239c9f587bd 100644 --- a/keyboards/lfkeyboards/lfk87/revc/info.json +++ b/keyboards/lfkeyboards/lfk87/revc/info.json @@ -7,6 +7,7 @@ }, "diode_direction": "COL2ROW", "rgblight": { + "hue_steps": 10, "led_count": 24 }, "layouts": { diff --git a/keyboards/lfkeyboards/lfkpad/config.h b/keyboards/lfkeyboards/lfkpad/config.h index 5393e47b391..06338d2a2db 100644 --- a/keyboards/lfkeyboards/lfkpad/config.h +++ b/keyboards/lfkeyboards/lfkpad/config.h @@ -17,10 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 28 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -32,8 +28,6 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -#define TAPPING_TERM 200 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/lfkeyboards/lfkpad/info.json b/keyboards/lfkeyboards/lfkpad/info.json index d4abb0abdd1..5a9ee2bdaad 100644 --- a/keyboards/lfkeyboards/lfkpad/info.json +++ b/keyboards/lfkeyboards/lfkpad/info.json @@ -8,6 +8,10 @@ "pid": "0x3231", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 28 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/lfkeyboards/mini1800/config.h b/keyboards/lfkeyboards/mini1800/config.h index c367ad95c3c..2fa80e59d25 100644 --- a/keyboards/lfkeyboards/mini1800/config.h +++ b/keyboards/lfkeyboards/mini1800/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 26 // Number of LEDs - #define AUDIO_VOICES #define AUDIO_PIN C6 @@ -34,11 +32,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - -#define TAPPING_TERM 200 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/lfkeyboards/mini1800/info.json b/keyboards/lfkeyboards/mini1800/info.json index cf1cc7764bb..5d877ea6fd3 100644 --- a/keyboards/lfkeyboards/mini1800/info.json +++ b/keyboards/lfkeyboards/mini1800/info.json @@ -17,6 +17,10 @@ "driver": "custom", "levels": 10 }, + "rgblight": { + "hue_steps": 10, + "led_count": 26 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/lfkeyboards/smk65/revb/config.h b/keyboards/lfkeyboards/smk65/revb/config.h index af7f6b17b82..46949a3d969 100644 --- a/keyboards/lfkeyboards/smk65/revb/config.h +++ b/keyboards/lfkeyboards/smk65/revb/config.h @@ -24,7 +24,6 @@ along with this program. If not, see . #define DIODE_DIRECTION COL2ROW #define MATRIX_ROW_PINS {D6, D7, E0, C3, C4} #define MATRIX_COL_PINS {F2, C5, E5, E4, B7, B6, B5, B4, B3, B2, B1, B0, E1, C0, C1, C2} -#define RGBLED_NUM 20 // Number of LEDs //RevB only: @@ -33,7 +32,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_MAP {8, 16, 40, 55, 70, 128, 200, 255} -#define RGBLED_NUM 20 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -44,9 +42,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/lfkeyboards/smk65/revb/info.json b/keyboards/lfkeyboards/smk65/revb/info.json index f635133e9ad..85c853cba07 100644 --- a/keyboards/lfkeyboards/smk65/revb/info.json +++ b/keyboards/lfkeyboards/smk65/revb/info.json @@ -5,6 +5,10 @@ "backlight": { "levels": 8 }, + "rgblight": { + "hue_steps": 10, + "led_count": 20 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/lfkeyboards/smk65/revf/config.h b/keyboards/lfkeyboards/smk65/revf/config.h index 50ce3410539..9e32ac9d3fe 100644 --- a/keyboards/lfkeyboards/smk65/revf/config.h +++ b/keyboards/lfkeyboards/smk65/revf/config.h @@ -31,8 +31,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define RGBLED_NUM 28 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/lfkeyboards/smk65/revf/info.json b/keyboards/lfkeyboards/smk65/revf/info.json index 63e9d0abc75..086e7e38c8b 100644 --- a/keyboards/lfkeyboards/smk65/revf/info.json +++ b/keyboards/lfkeyboards/smk65/revf/info.json @@ -4,6 +4,9 @@ }, "processor": "atmega32u4", "bootloader": "halfkay", + "rgblight": { + "led_count": 28 + }, "layouts": { "LAYOUT_65_ansi": { "layout": [ diff --git a/keyboards/lily58/glow_enc/config.h b/keyboards/lily58/glow_enc/config.h deleted file mode 100644 index 6c1cad1103a..00000000000 --- a/keyboards/lily58/glow_enc/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2017 F_YUUCHI -Copyright 2020 Ben Roesner (keycapsss.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 . -*/ - -#pragma once - -#define RGBLED_NUM 72 // Number of LEDs - -#define RGBLIGHT_SPLIT diff --git a/keyboards/lily58/glow_enc/info.json b/keyboards/lily58/glow_enc/info.json index 2b3e2700266..006cf0aa210 100644 --- a/keyboards/lily58/glow_enc/info.json +++ b/keyboards/lily58/glow_enc/info.json @@ -38,6 +38,7 @@ "pin": "F4" }, "rgblight": { + "led_count": 72, "max_brightness": 120, "split_count": [36, 36] }, diff --git a/keyboards/lily58/keymaps/gaston/config.h b/keyboards/lily58/keymaps/gaston/config.h index 988e3eb6f83..f4f3140d513 100644 --- a/keyboards/lily58/keymaps/gaston/config.h +++ b/keyboards/lily58/keymaps/gaston/config.h @@ -24,3 +24,4 @@ #define QUICK_TAP_TERM 0 #define TAPPING_TERM 150 /* ms */ +#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY diff --git a/keyboards/lily58/keymaps/gaston/keymap.c b/keyboards/lily58/keymaps/gaston/keymap.c index b7129b71e00..c98ec4254bd 100644 --- a/keyboards/lily58/keymaps/gaston/keymap.c +++ b/keyboards/lily58/keymaps/gaston/keymap.c @@ -26,6 +26,7 @@ enum layer_number { #define EN_LOWER LT(_LOWER, KC_SPC) #define EN_MOUSE MO(_MOUSE) +#define MT_CESC LCTL_T(KC_ESC) /* See the readme.md file for an ASCII representation of this keymap. */ @@ -34,13 +35,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = 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_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, + MT_CESC, 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, EN_MOUSE,KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_RALT, KC_LALT, KC_LGUI, EN_LOWER,EN_LOWER, KC_LBRC, KC_RBRC, KC_BSLS ), [_LOWER] = 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_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, KC_F12, KC_TRNS, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX, XXXXXXX, KC_BRID, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, @@ -56,3 +57,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; + +bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case MT_CESC: + // Immediately select the hold action when another key is pressed. + return true; + default: + // Do not select the hold action when another key is pressed. + return false; + } +} diff --git a/keyboards/lily58/keymaps/gaston/readme.md b/keyboards/lily58/keymaps/gaston/readme.md index 8edd92cc3ff..cf8b13786e3 100644 --- a/keyboards/lily58/keymaps/gaston/readme.md +++ b/keyboards/lily58/keymaps/gaston/readme.md @@ -10,6 +10,7 @@ The main characteristics of this keymap are: * The main thumb buttons are spaces when tapped and enable the LOWER layer when held. * Vim style arrow keys. + * Left Control is ESC when tapped. * Left and right ALT in case you need different behaviors. (For example, the default Option and readline's Alt behavior in macOS.) * The LOWER layer has mostly meta keys. @@ -23,7 +24,7 @@ The main characteristics of this keymap are: |------+------+------+------+------+------| |------+------+------+------+------+------| | TAB | Q | W | E | R | T | | Y | U | I | O | P | - | |------+------+------+------+------+------| |------+------+------+------+------+------| -|LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | +|C_ESC | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | |------+------+------+------+------+------| MOUSE | | = |------+------+------+------+------+------| | LSFT | Z | X | C | V | B |-------| |-------| N | M | , | . | / | ENT | `-----------------------------------------/ LT / \ LT \----------------------------------------' @@ -36,7 +37,7 @@ The main characteristics of this keymap are: ```plain ,-----------------------------------------. ,-----------------------------------------. -| ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | +| TRNS | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | |------+------+------+------+------+------| |------+------+------+------+------+------| | TRNS | | MUTE | VOLD | VOLU | | | HOME | PGDN | PGUP | END | | F12 | |------+------+------+------+------+------| |------+------+------+------+------+------| diff --git a/keyboards/keebio/nyquist/keymaps/default/config.h b/keyboards/lily58/keymaps/pomodoro/config.h similarity index 68% rename from keyboards/keebio/nyquist/keymaps/default/config.h rename to keyboards/lily58/keymaps/pomodoro/config.h index 81fc2cf5fe4..ce2b0e4bcde 100644 --- a/keyboards/keebio/nyquist/keymaps/default/config.h +++ b/keyboards/lily58/keymaps/pomodoro/config.h @@ -1,5 +1,8 @@ /* -Copyright 2017 Danny Nguyen +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 @@ -17,12 +20,15 @@ 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 QUICK_TAP_TERM 0 +#define TAPPING_TERM 100 + #undef RGBLED_NUM #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -34,7 +40,17 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 +#define RGBLED_NUM 27 +#define RGBLIGHT_LIMIT_VAL 120 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +#define SPLIT_TRANSACTION_IDS_USER SYNC_POMODORO_RUNNING + +// Underglow +/* +#undef RGBLED_NUM +#define RGBLED_NUM 14 // Number of LEDs +#define RGBLIGHT_SLEEP +*/ diff --git a/keyboards/lily58/keymaps/pomodoro/keymap.c b/keyboards/lily58/keymaps/pomodoro/keymap.c new file mode 100644 index 00000000000..7689a391f2d --- /dev/null +++ b/keyboards/lily58/keymaps/pomodoro/keymap.c @@ -0,0 +1,154 @@ +/* +Copyright 2023 Casey Borders + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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_number { + _QWERTY = 0, + _LOWER, + _RAISE, + _ADJUST, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | 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 |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Play |LOWER | LGUI | / Enter / \Space \ | RGUI |RAISE | Mute | + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + */ + [_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_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_MPLY, MO(_LOWER), KC_LGUI, KC_ENT, KC_SPC, KC_RGUI, MO(_RAISE), KC_MUTE + ), + /* LOWER + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | Up | | \ | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | |-------. ,-------| | Left | Down |Right | = | | + * |------+------+------+------+------+------| < | | > |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | | | | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Play |LOWER | LGUI | / Enter / \Space \ | RGUI |RAISE | Mute | + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + */ + [_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LT, KC_GT, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + + ), + /* RAISE + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | Vol+ | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | Prev | Vol- | Next | | |-------. ,-------| | | | | | | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | | | | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Play |LOWER | LGUI | / Enter / \Space \ | RGUI |RAISE | Mute | + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + */ + [_RAISE] = LAYOUT( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, + _______, _______, KC_VOLU, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LT, KC_GT, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + + ), + /* ADJUST + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | | | | | Oper | Out | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | |-------. ,-------| | | | | | | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | | | | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | Play |LOWER | LGUI | / Enter / \Space \ | RGUI |RAISE | Mute | + * | | | |/ / \ \ | | | | + * `----------------------------' '------''--------------------' + */ + [_ADJUST] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_OPER, KC_OUT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +// SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk +#ifdef OLED_ENABLE + +// When you add source files to SRC in rules.mk, you can use functions. +const char *read_layer_state(void); +const char *read_logo(void); +const char *read_timelog(void); + +void toggle_pomodoro(void); +const char* read_pomodoro_running(void); +void update_pomodoro_display(void); + +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()) { + oled_write_ln(read_layer_state(), false); + oled_write_ln(read_pomodoro_running(), false); + } else { + update_pomodoro_display(); + } + return false; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed && keycode == KC_OPER) { + toggle_pomodoro(); + } + return true; +} + +#endif // OLED_ENABLE diff --git a/keyboards/lily58/keymaps/pomodoro/pomodoro.c b/keyboards/lily58/keymaps/pomodoro/pomodoro.c new file mode 100644 index 00000000000..1c0641978dc --- /dev/null +++ b/keyboards/lily58/keymaps/pomodoro/pomodoro.c @@ -0,0 +1,249 @@ +/* +Copyright 2023 Casey Borders + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 + +#include "transactions.h" + +#ifdef OLED_ENABLE + +#define HEADER_SIZE 32 +const char headerBase[] PROGMEM = { + 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF, + 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF, + 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF, + 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF +}; +char header[HEADER_SIZE]; + +#define STATUS_WIDTH 15 +#define STATUS_HEIGHT 32 +#define STATUS_PIXELS (STATUS_WIDTH * 8) +#define STATUS_SIZE (STATUS_WIDTH * STATUS_HEIGHT) +const char logoBase[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7F, 0x7F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x61, 0x61, 0x81, 0x81, 0x01, 0x01, 0xC1, 0xC1, 0x30, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0xC0, 0xFF, 0xFF, 0xC3, 0xC3, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xF0, 0xF0, 0x00, 0x00, 0xF0, 0xF0, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xF0, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0F, 0x0F, 0x00, 0x00, 0x0F, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0F, 0x0F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x06, 0x9E, 0x9E, 0x66, 0x66, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0xF8, 0xF8, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xF8, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x86, 0x86, 0x67, 0x67, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x86, 0x86, 0x00, 0x00, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x31, 0x31, 0xC1, 0xC1, 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, 0x3F, 0x3F, 0x30, 0x30, 0x3F, 0x3F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 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, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xF3, 0x7F, 0x3F, 0x7F, 0xFF, 0xFF, 0x3B, 0xF1, 0xF7, 0xFF, 0x3F, 0x39, 0x30, 0x00, 0x01, 0x01, 0x01, 0x83, 0x86, 0x0C, 0xF8, 0xF0, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xCF, 0x07, 0x1F, 0x3F, 0x3F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xDF, 0xFC, 0x7F, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0E, 0x1C, 0x18, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00 +}; + +const char workBase[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x3E, 0x3E, 0x3E, 0x3E, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x3E, 0x3E, 0x3E, 0x3E, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 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, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7C, 0x7C, 0x7C, 0x7C, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0x0F, 0x0F, 0x0F, 0x0F, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x83, 0x83, 0x83, 0x83, 0x83, 0x7F, 0x7F, 0x7F, 0x7F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00 +}; + +const char restBase[] PROGMEM = { + 0x00, 0x00, 0x80, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 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, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3F, 0x3F, 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, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7C, 0x7C, 0x7C, 0x7C, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 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, 0x00, 0x00, 0x00 +}; +char displayBuffer[STATUS_SIZE]; + +#define WORK_TIME ((uint32_t)25 * 60 * 1000) +#define REST_TIME ((uint32_t)5 * 60 * 1000) + +typedef enum pomo_state { + _STOPPED, + _WORK, + _REST, +} pomo_state; + +/* The master only needs to know if the timer is running or not */ +bool isRunning = false; + +/* The slave needs more info about the state and what's going on */ +pomo_state state = _STOPPED; +uint8_t pomoCount = 0; +uint32_t pomoTimer; +uint32_t totalTime = 0; +uint32_t currTime = 0; +uint32_t lastTime = 0; +uint16_t lastProgress = 0; + +const char* read_pomodoro_state(void) { + switch (state) { + case _STOPPED: return "STOPPED"; + case _REST: return "REST"; + case _WORK: return "WORK"; + default: return "UNKNOWN"; + } +} + +const char* read_pomodoro_running(void) { + if (isRunning) { return "RUNNING"; } + else { return "STOPPED"; } +} + +void update_display_base(void) { + switch (state) { + case _STOPPED: { + memcpy_P(displayBuffer, logoBase, STATUS_SIZE); + memset(header, 0, HEADER_SIZE); + } break; + case _WORK: { + memcpy_P(displayBuffer, workBase, STATUS_SIZE); + memcpy_P(header, headerBase, HEADER_SIZE); + } break; + case _REST: { + memcpy_P(displayBuffer, restBase, STATUS_SIZE); + memcpy_P(header, headerBase, HEADER_SIZE); + } break; + } +} + +void update_cycle_display(void) { + if (state == _STOPPED) { return; } + uint8_t start = (HEADER_SIZE / 4) * (4 - pomoCount); + for (uint8_t i = start; i < HEADER_SIZE; i++) { + header[i] = ~header[i]; + } +} + +bool syncRunning = false; +void toggle_pomodoro(void) { + isRunning = !isRunning; + syncRunning = true; +} + +void set_slave_pomodoro_running(uint8_t in_buflen, const void *in_data, uint8_t out_buflen, void *out_data) { + isRunning = *(bool*)in_data; + if (isRunning) { + /* Reset stuff and start the timer */ + pomoTimer = timer_read32(); + state = _WORK; + totalTime = WORK_TIME; + lastTime = 0; + lastProgress = 0; + currTime = 0; + pomoCount = 1; + update_display_base(); + update_cycle_display(); + } else { + state = _STOPPED; + update_display_base(); + } +} + +void keyboard_post_init_user(void) { + memcpy_P(displayBuffer, logoBase, STATUS_SIZE); + memset(header, 0, HEADER_SIZE); + transaction_register_rpc(SYNC_POMODORO_RUNNING, set_slave_pomodoro_running); +} + +void update_pomodoro_display(void) { + oled_set_cursor(0, 0); + oled_write_raw(displayBuffer, STATUS_SIZE); + oled_set_cursor(0, STATUS_WIDTH); + oled_write_raw(header, HEADER_SIZE); +} + +void update_time_display(void) { + if (currTime > lastTime) { + float ratio = (float)currTime / totalTime; + uint16_t progress = (uint16_t)(ratio * STATUS_PIXELS); + + for (int i = lastProgress + 1; i <= progress; i++) { + uint16_t row = i / 8; + uint16_t bit = i % 8; + char mask = 1 << bit; + for (int j = 0; j < STATUS_HEIGHT; j++) { + uint16_t index = row * STATUS_HEIGHT + j; + if (index > STATUS_SIZE) break; + displayBuffer[index] = displayBuffer[index] ^ mask; + } + } + + lastTime = currTime; + lastProgress = progress; + } +} + +void housekeeping_task_user(void) { + if (is_keyboard_master()) { + if (syncRunning && transaction_rpc_send(SYNC_POMODORO_RUNNING, sizeof(bool), &isRunning)) { + syncRunning = false; + } + } else { + /* This is where the time will be updated */ + if (isRunning) { + currTime = timer_elapsed32(pomoTimer); + if (currTime >= totalTime) { + if (state == _WORK) { + state = _REST; + totalTime = REST_TIME; + } else if (state == _REST) { + state = _WORK; + totalTime = WORK_TIME; + pomoCount++; + } + + if (pomoCount > 4) { + isRunning = false; + state = _STOPPED; + } + + pomoTimer = timer_read32(); + currTime = 0; + lastTime = 0; + lastProgress = 0; + update_display_base(); + update_cycle_display(); + } else { + update_time_display(); + } + } + } +} + +#endif // OLED_ENABLE diff --git a/keyboards/lily58/keymaps/pomodoro/rules.mk b/keyboards/lily58/keymaps/pomodoro/rules.mk new file mode 100644 index 00000000000..a6666f7fc14 --- /dev/null +++ b/keyboards/lily58/keymaps/pomodoro/rules.mk @@ -0,0 +1,23 @@ +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +AUDIO_ENABLE = no # Audio output +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. +SWAP_HANDS_ENABLE = no # Enable one-hand typing +OLED_ENABLE = yes # OLED display +LTO_ENABLE = yes # Link time optimisations +EXTRAKEY_ENABLE = yes # Audio control and System control + +# If you want to change the display of OLED, you need to change here +SRC += ./lib/rgb_state_reader.c \ + ./lib/layer_state_reader.c \ + ./lib/logo_reader.c \ + ./lib/keylogger.c \ + ./lib/mode_icon_reader.c \ + ./lib/host_led_state_reader.c \ + ./lib/timelogger.c \ + ./lib/keylogger.c \ + pomodoro.c \ diff --git a/keyboards/lily58/light/config.h b/keyboards/lily58/light/config.h deleted file mode 100644 index 1080139430a..00000000000 --- a/keyboards/lily58/light/config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2017 F_YUUCHI -Copyright 2020 Ben Roesner (keycapsss.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 . -*/ - -#pragma once - -#define RGBLED_NUM 70 -#define RGBLIGHT_SPLIT diff --git a/keyboards/lily58/light/info.json b/keyboards/lily58/light/info.json index ca3ad342fb6..1c556e429a6 100644 --- a/keyboards/lily58/light/info.json +++ b/keyboards/lily58/light/info.json @@ -39,6 +39,7 @@ "pin": "D3" }, "rgblight": { + "led_count": 70, "max_brightness": 120, "split_count": [35, 35] }, diff --git a/keyboards/lily58/rev1/info.json b/keyboards/lily58/rev1/info.json index a3e89ec3a75..6f341915bff 100644 --- a/keyboards/lily58/rev1/info.json +++ b/keyboards/lily58/rev1/info.json @@ -20,6 +20,9 @@ "enabled": true, "soft_serial_pin": "D2" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/lime/rev1/config.h b/keyboards/lime/rev1/config.h index 6ecfdf3034a..ef4f99076da 100644 --- a/keyboards/lime/rev1/config.h +++ b/keyboards/lime/rev1/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAPPING_TERM 100 - /* joystick support */ #ifdef JOYSTICK_ENABLE # define JOYSTICK_AXIS_COUNT 2 @@ -25,8 +23,6 @@ # define JOYSTICK_AXIS_RESOLUTION 8 #endif -#define TAP_CODE_DELAY 10 - #define SPLIT_USB_DETECT #ifdef WPM_ENABLE diff --git a/keyboards/lime/rev1/info.json b/keyboards/lime/rev1/info.json index 215b47e1038..13caf33841e 100644 --- a/keyboards/lime/rev1/info.json +++ b/keyboards/lime/rev1/info.json @@ -28,6 +28,12 @@ } } }, + "tapping": { + "term": 100 + }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/linworks/fave104/config.h b/keyboards/linworks/fave104/config.h index 73e72a129f8..41c1a917f39 100644 --- a/keyboards/linworks/fave104/config.h +++ b/keyboards/linworks/fave104/config.h @@ -19,5 +19,4 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD2 #define BACKLIGHT_PWM_CHANNEL 2 -#define BACKLIGHT_PAL_MODE 2 #define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it. diff --git a/keyboards/linworks/fave104/rules.mk b/keyboards/linworks/fave104/rules.mk index af31ae9eca1..d6925994b5f 100644 --- a/keyboards/linworks/fave104/rules.mk +++ b/keyboards/linworks/fave104/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/linworks/fave65h/config.h b/keyboards/linworks/fave65h/config.h index 2c8d4845b13..3f549797d89 100644 --- a/keyboards/linworks/fave65h/config.h +++ b/keyboards/linworks/fave65h/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once /* Define RGB */ -#define RGBLED_NUM 67 #define RGB_MATRIX_LED_COUNT 67 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/linworks/fave87/config.h b/keyboards/linworks/fave87/config.h index c46332b0077..948b8955486 100644 --- a/keyboards/linworks/fave87/config.h +++ b/keyboards/linworks/fave87/config.h @@ -15,8 +15,6 @@ along with this program. If not, see . #pragma once /* Underglow */ -#define RGBLED_NUM 40 -#define RGBLIGHT_SLEEP // Turns LEDs off if the PC goes to sleep/shutdown #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/linworks/fave87/info.json b/keyboards/linworks/fave87/info.json index e77af6d10dc..937a9e5393e 100644 --- a/keyboards/linworks/fave87/info.json +++ b/keyboards/linworks/fave87/info.json @@ -17,6 +17,10 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "led_count": 40, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/linworks/fave87h/config.h b/keyboards/linworks/fave87h/config.h index ef57446100d..e84a0ec9296 100644 --- a/keyboards/linworks/fave87h/config.h +++ b/keyboards/linworks/fave87h/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once /* Define RGB */ -#define RGBLED_NUM 87 #define RGB_MATRIX_LED_COUNT 87 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/linworks/whale75/config.h b/keyboards/linworks/whale75/config.h index e21a6d3974b..3aa16f3eb0b 100644 --- a/keyboards/linworks/whale75/config.h +++ b/keyboards/linworks/whale75/config.h @@ -15,22 +15,17 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD1 -#define BACKLIGHT_PWM_CHANNEL 3 #define BACKLIGHT_PAL_MODE 6 #define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it. /* Underglow */ #define WS2812_EXTERNAL_PULLUP // This board uses a pull-up + 5 V tolerant GPIO in open drain config ro generate a 5 V signal -#define RGBLED_NUM 18 /* section for PWM WS2812 driver */ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_PAL_MODE 2 #define WS2812_DMA_STREAM STM32_DMA1_STREAM7 #define WS2812_DMA_CHANNEL 7 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/linworks/whale75/info.json b/keyboards/linworks/whale75/info.json index b08d77e3074..d85f17455fb 100644 --- a/keyboards/linworks/whale75/info.json +++ b/keyboards/linworks/whale75/info.json @@ -8,6 +8,10 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "B9", "driver": "pwm" @@ -22,6 +26,9 @@ {"pin_a": "A15", "pin_b": "A14", "resolution": 2} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "backlight": { "pin": "A10", "levels": 5, diff --git a/keyboards/linworks/whale75/rules.mk b/keyboards/linworks/whale75/rules.mk index 2fd78a13f17..76b31f0a0a0 100644 --- a/keyboards/linworks/whale75/rules.mk +++ b/keyboards/linworks/whale75/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/littlealby/mute/info.json b/keyboards/littlealby/mute/info.json index a6392a76e78..a4a2a5822ec 100644 --- a/keyboards/littlealby/mute/info.json +++ b/keyboards/littlealby/mute/info.json @@ -9,6 +9,9 @@ "device_version": "0.0.1", "max_power": 100 }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/ll3macorn/bongopad/config.h b/keyboards/ll3macorn/bongopad/config.h index b4d4367f1db..4ee4b5a9975 100644 --- a/keyboards/ll3macorn/bongopad/config.h +++ b/keyboards/ll3macorn/bongopad/config.h @@ -2,9 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* rgb underglow */ -#define RGBLED_NUM 6 - /* misc */ #define LAYER_STATE_8BIT #define NO_ACTION_TAPPING diff --git a/keyboards/ll3macorn/bongopad/info.json b/keyboards/ll3macorn/bongopad/info.json index 6208b749f93..cde72e5882f 100644 --- a/keyboards/ll3macorn/bongopad/info.json +++ b/keyboards/ll3macorn/bongopad/info.json @@ -21,6 +21,9 @@ "bootmagic": { "matrix": [1, 0] }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/lm_keyboard/lm60n/config.h b/keyboards/lm_keyboard/lm60n/config.h index e40b0762d3a..331a1822129 100644 --- a/keyboards/lm_keyboard/lm60n/config.h +++ b/keyboards/lm_keyboard/lm60n/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 41 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/lm_keyboard/lm60n/info.json b/keyboards/lm_keyboard/lm60n/info.json index ed8af5bc77a..d171c7f597b 100644 --- a/keyboards/lm_keyboard/lm60n/info.json +++ b/keyboards/lm_keyboard/lm60n/info.json @@ -17,6 +17,12 @@ "caps_lock": "C7", "num_lock": "B7" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 41, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/loki65/config.h b/keyboards/loki65/config.h index 750a12d64f0..04c03569599 100644 --- a/keyboards/loki65/config.h +++ b/keyboards/loki65/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define WS2812_DMA_CHANNEL 5 #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB -#define RGBLED_NUM 37 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/loki65/info.json b/keyboards/loki65/info.json index a1a5e3ef06c..e0f134c60a1 100644 --- a/keyboards/loki65/info.json +++ b/keyboards/loki65/info.json @@ -8,6 +8,11 @@ "pid": "0x4C36", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 37 + }, "ws2812": { "pin": "A9", "driver": "pwm" diff --git a/keyboards/loki65/rules.mk b/keyboards/loki65/rules.mk index 000ee78e21a..cc9d7bb3f53 100644 --- a/keyboards/loki65/rules.mk +++ b/keyboards/loki65/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/longnald/corin/config.h b/keyboards/longnald/corin/config.h index caafcfd8a16..dc8c6770ae7 100644 --- a/keyboards/longnald/corin/config.h +++ b/keyboards/longnald/corin/config.h @@ -18,11 +18,6 @@ #pragma once -# define RGBLED_NUM 64 -# define RGBLIGHT_HUE_STEP 20 -# define RGBLIGHT_SAT_STEP 20 -# define RGBLIGHT_VAL_STEP 40 -# define RGBLIGHT_SLEEP # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_SWIRL # define RGBLIGHT_EFFECT_SNAKE diff --git a/keyboards/longnald/corin/info.json b/keyboards/longnald/corin/info.json index 52964256bbc..644a7a55ee6 100644 --- a/keyboards/longnald/corin/info.json +++ b/keyboards/longnald/corin/info.json @@ -12,7 +12,12 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 200 + "hue_steps": 20, + "saturation_steps": 20, + "brightness_steps": 40, + "led_count": 64, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["F7", "F6", "F1", "F5", "B1", "E6", "D4", "B7", "D1", "D2", "D0", "B4", "B6", "C6", "C7"], diff --git a/keyboards/lucid/velvet_hotswap/info.json b/keyboards/lucid/velvet_hotswap/info.json index e3302cef1cd..2cbecb782d8 100644 --- a/keyboards/lucid/velvet_hotswap/info.json +++ b/keyboards/lucid/velvet_hotswap/info.json @@ -23,8 +23,114 @@ }, "processor": "at90usb646", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_f13_ansi_split_bs_rshift" + }, + "community_layouts": [ + "tkl_f13_ansi", + "tkl_f13_ansi_split_bs_rshift", + "tkl_f13_ansi_tsangan", + "tkl_f13_ansi_tsangan_split_bs_rshift" + ], "layouts": { - "LAYOUT": { + "LAYOUT_tkl_f13_ansi": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [0, 10], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [0, 13], "label": "F13", "x": 14, "y": 0}, + {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, + {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, + {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "@", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "#", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "$", "x": 4, "y": 1.25}, + {"matrix": [1, 5], "label": "%", "x": 5, "y": 1.25}, + {"matrix": [1, 6], "label": "^", "x": 6, "y": 1.25}, + {"matrix": [1, 7], "label": "&", "x": 7, "y": 1.25}, + {"matrix": [1, 8], "label": "*", "x": 8, "y": 1.25}, + {"matrix": [1, 9], "label": "(", "x": 9, "y": 1.25}, + {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, + {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, + {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, + {"matrix": [1, 13], "label": "Back Space", "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "label": "|", "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "label": "SQ", "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "label": "Left Shift", "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 1], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [4, 2], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [4, 3], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [4, 4], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [4, 5], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [4, 6], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [4, 7], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [4, 8], "label": "<", "x": 9.25, "y": 4.25}, + {"matrix": [4, 9], "label": ">", "x": 10.25, "y": 4.25}, + {"matrix": [4, 10], "label": "?", "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 9], "label": "Alt", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 10], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, @@ -107,7 +213,7 @@ {"matrix": [4, 9], "label": ">", "x": 10.25, "y": 4.25}, {"matrix": [4, 10], "label": "?", "x": 11.25, "y": 4.25}, {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 1.75}, - {"matrix": [4, 13], "label": "Right Shift", "x": 12.25, "y": 4.25}, + {"matrix": [4, 13], "label": "Right Shift", "x": 14, "y": 4.25}, {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, @@ -122,6 +228,200 @@ {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} ] + }, + "LAYOUT_tkl_f13_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [0, 10], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [0, 13], "label": "F13", "x": 14, "y": 0}, + {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, + {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, + {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "@", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "#", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "$", "x": 4, "y": 1.25}, + {"matrix": [1, 5], "label": "%", "x": 5, "y": 1.25}, + {"matrix": [1, 6], "label": "^", "x": 6, "y": 1.25}, + {"matrix": [1, 7], "label": "&", "x": 7, "y": 1.25}, + {"matrix": [1, 8], "label": "*", "x": 8, "y": 1.25}, + {"matrix": [1, 9], "label": "(", "x": 9, "y": 1.25}, + {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, + {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, + {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, + {"matrix": [1, 13], "label": "Back Space", "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "label": "|", "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "label": "SQ", "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "label": "Left Shift", "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 1], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [4, 2], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [4, 3], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [4, 4], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [4, 5], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [4, 6], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [4, 7], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [4, 8], "label": "<", "x": 9.25, "y": 4.25}, + {"matrix": [4, 9], "label": ">", "x": 10.25, "y": 4.25}, + {"matrix": [4, 10], "label": "?", "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "label": "Win", "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 5], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 10], "label": "Alt", "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [0, 10], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [0, 13], "label": "F13", "x": 14, "y": 0}, + {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, + {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, + {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "@", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "#", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "$", "x": 4, "y": 1.25}, + {"matrix": [1, 5], "label": "%", "x": 5, "y": 1.25}, + {"matrix": [1, 6], "label": "^", "x": 6, "y": 1.25}, + {"matrix": [1, 7], "label": "&", "x": 7, "y": 1.25}, + {"matrix": [1, 8], "label": "*", "x": 8, "y": 1.25}, + {"matrix": [1, 9], "label": "(", "x": 9, "y": 1.25}, + {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, + {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, + {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, + {"matrix": [3, 12], "label": "Back Space", "x": 13, "y": 1.25}, + {"matrix": [1, 13], "label": "Back Space", "x": 14, "y": 1.25}, + {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "label": "|", "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "label": "SQ", "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "label": "Left Shift", "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 1], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [4, 2], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [4, 3], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [4, 4], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [4, 5], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [4, 6], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [4, 7], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [4, 8], "label": "<", "x": 9.25, "y": 4.25}, + {"matrix": [4, 9], "label": ">", "x": 10.25, "y": 4.25}, + {"matrix": [4, 10], "label": "?", "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "label": "Right Shift", "x": 14, "y": 4.25}, + {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "label": "Win", "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 5], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 10], "label": "Alt", "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} + ] } } } diff --git a/keyboards/lucid/velvet_hotswap/keymaps/default/keymap.c b/keyboards/lucid/velvet_hotswap/keymaps/default/keymap.c index 93c617b1a17..23e76c78544 100644 --- a/keyboards/lucid/velvet_hotswap/keymaps/default/keymap.c +++ b/keyboards/lucid/velvet_hotswap/keymaps/default/keymap.c @@ -20,22 +20,22 @@ enum layers { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_LAYER0] = 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_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_BSPC, 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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + + [_LAYER0] = LAYOUT_tkl_f13_ansi_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_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_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_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = 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 + [_LAYER1] = LAYOUT_tkl_f13_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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/lucid/velvet_hotswap/keymaps/via/keymap.c b/keyboards/lucid/velvet_hotswap/keymaps/via/keymap.c index bd0122a4a8e..b7257c8274b 100644 --- a/keyboards/lucid/velvet_hotswap/keymaps/via/keymap.c +++ b/keyboards/lucid/velvet_hotswap/keymaps/via/keymap.c @@ -23,39 +23,39 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = 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_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, KC_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_LAYER0] = LAYOUT_tkl_f13_ansi_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_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_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_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = 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 + [_LAYER1] = LAYOUT_tkl_f13_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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_LAYER2] = 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 + [_LAYER2] = LAYOUT_tkl_f13_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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_LAYER3] = 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 + [_LAYER3] = LAYOUT_tkl_f13_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, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/lucid/velvet_hotswap/matrix_diagram.md b/keyboards/lucid/velvet_hotswap/matrix_diagram.md new file mode 100644 index 00000000000..7ee3ce0403d --- /dev/null +++ b/keyboards/lucid/velvet_hotswap/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for FJLaboratories Velvet Hotswap + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │0F │0G │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │3C │1D ││1E │1F │1G │ │1D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └───────┘ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌──────────┐ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4C │4D │ │4F │ │4C │ 2.75u RShift +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ └──────────┘ +│50 │51 │52 │55 │59 │5A │5B │5D ││5E │5F │5G │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│50 │51 │52 │55 │5A │5B │5D │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` diff --git a/keyboards/lucid/velvet_solder/info.json b/keyboards/lucid/velvet_solder/info.json index e1469cb813c..1cc8e43cdbc 100644 --- a/keyboards/lucid/velvet_solder/info.json +++ b/keyboards/lucid/velvet_solder/info.json @@ -23,8 +23,11 @@ }, "processor": "at90usb646", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, @@ -108,7 +111,604 @@ {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 1.75}, - {"matrix": [4, 13], "label": "Right Shift", "x": 12.25, "y": 4.25}, + {"matrix": [4, 13], "label": "Right Shift", "x": 14, "y": 4.25}, + {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 2.75}, + {"matrix": [5, 5], "x": 6.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 8], "x": 7.75, "y": 5.25, "w": 2.25}, + {"matrix": [5, 9], "label": "Alt", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 10], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [0, 10], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [0, 13], "label": "F13", "x": 14, "y": 0}, + {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, + {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, + {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "@", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "#", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "$", "x": 4, "y": 1.25}, + {"matrix": [1, 5], "label": "%", "x": 5, "y": 1.25}, + {"matrix": [1, 6], "label": "^", "x": 6, "y": 1.25}, + {"matrix": [1, 7], "label": "&", "x": 7, "y": 1.25}, + {"matrix": [1, 8], "label": "*", "x": 8, "y": 1.25}, + {"matrix": [1, 9], "label": "(", "x": 9, "y": 1.25}, + {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, + {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, + {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, + {"matrix": [1, 13], "label": "Back Space", "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "label": "|", "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "label": "SQ", "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "label": "Left Shift", "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "label": "<", "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 9], "label": "Alt", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 10], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [0, 10], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [0, 13], "label": "F13", "x": 14, "y": 0}, + {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, + {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, + {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "@", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "#", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "$", "x": 4, "y": 1.25}, + {"matrix": [1, 5], "label": "%", "x": 5, "y": 1.25}, + {"matrix": [1, 6], "label": "^", "x": 6, "y": 1.25}, + {"matrix": [1, 7], "label": "&", "x": 7, "y": 1.25}, + {"matrix": [1, 8], "label": "*", "x": 8, "y": 1.25}, + {"matrix": [1, 9], "label": "(", "x": 9, "y": 1.25}, + {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, + {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, + {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, + {"matrix": [1, 13], "label": "Back Space", "x": 13, "y": 1.25}, + {"matrix": [3, 14], "label": "Back Space", "x": 14, "y": 1.25}, + {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "label": "|", "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "label": "SQ", "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "label": "Left Shift", "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "label": "<", "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "label": "Right Shift", "x": 14, "y": 4.25}, + {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 9], "label": "Alt", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 10], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_split_space_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [0, 10], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [0, 13], "label": "F13", "x": 14, "y": 0}, + {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, + {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, + {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "@", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "#", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "$", "x": 4, "y": 1.25}, + {"matrix": [1, 5], "label": "%", "x": 5, "y": 1.25}, + {"matrix": [1, 6], "label": "^", "x": 6, "y": 1.25}, + {"matrix": [1, 7], "label": "&", "x": 7, "y": 1.25}, + {"matrix": [1, 8], "label": "*", "x": 8, "y": 1.25}, + {"matrix": [1, 9], "label": "(", "x": 9, "y": 1.25}, + {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, + {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, + {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, + {"matrix": [1, 13], "label": "Back Space", "x": 13, "y": 1.25}, + {"matrix": [3, 14], "label": "Back Space", "x": 14, "y": 1.25}, + {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "label": "|", "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "label": "SQ", "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "label": "Left Shift", "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "label": "<", "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "label": "Right Shift", "x": 14, "y": 4.25}, + {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 2.75}, + {"matrix": [5, 5], "x": 6.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 8], "x": 7.75, "y": 5.25, "w": 2.25}, + {"matrix": [5, 9], "label": "Alt", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 10], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [0, 10], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [0, 13], "label": "F13", "x": 14, "y": 0}, + {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, + {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, + {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "@", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "#", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "$", "x": 4, "y": 1.25}, + {"matrix": [1, 5], "label": "%", "x": 5, "y": 1.25}, + {"matrix": [1, 6], "label": "^", "x": 6, "y": 1.25}, + {"matrix": [1, 7], "label": "&", "x": 7, "y": 1.25}, + {"matrix": [1, 8], "label": "*", "x": 8, "y": 1.25}, + {"matrix": [1, 9], "label": "(", "x": 9, "y": 1.25}, + {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, + {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, + {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, + {"matrix": [1, 13], "label": "Back Space", "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "label": "SQ", "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "label": "~", "x": 12.75, "y": 3.25}, + {"matrix": [2, 13], "label": "Enter", "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "label": "Left Shift", "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "label": "|", "x": 1.25, "y": 4.25, "w": 1}, + {"matrix": [4, 2], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "label": "<", "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 9], "label": "Alt", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 10], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [0, 10], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [0, 13], "label": "F13", "x": 14, "y": 0}, + {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, + {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, + {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "@", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "#", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "$", "x": 4, "y": 1.25}, + {"matrix": [1, 5], "label": "%", "x": 5, "y": 1.25}, + {"matrix": [1, 6], "label": "^", "x": 6, "y": 1.25}, + {"matrix": [1, 7], "label": "&", "x": 7, "y": 1.25}, + {"matrix": [1, 8], "label": "*", "x": 8, "y": 1.25}, + {"matrix": [1, 9], "label": "(", "x": 9, "y": 1.25}, + {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, + {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, + {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, + {"matrix": [1, 13], "label": "Back Space", "x": 13, "y": 1.25}, + {"matrix": [3, 14], "label": "Back Space", "x": 14, "y": 1.25}, + {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "label": "SQ", "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "label": "~", "x": 12.75, "y": 3.25}, + {"matrix": [2, 13], "label": "Enter", "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "label": "Left Shift", "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "label": "|", "x": 1.25, "y": 4.25, "w": 1}, + {"matrix": [4, 2], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "label": "<", "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "label": "Right Shift", "x": 14, "y": 4.25}, + {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 9], "label": "Alt", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 10], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_split_space_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [0, 10], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [0, 11], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [0, 12], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [0, 13], "label": "F13", "x": 14, "y": 0}, + {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, + {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, + {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, + {"matrix": [1, 2], "label": "@", "x": 2, "y": 1.25}, + {"matrix": [1, 3], "label": "#", "x": 3, "y": 1.25}, + {"matrix": [1, 4], "label": "$", "x": 4, "y": 1.25}, + {"matrix": [1, 5], "label": "%", "x": 5, "y": 1.25}, + {"matrix": [1, 6], "label": "^", "x": 6, "y": 1.25}, + {"matrix": [1, 7], "label": "&", "x": 7, "y": 1.25}, + {"matrix": [1, 8], "label": "*", "x": 8, "y": 1.25}, + {"matrix": [1, 9], "label": "(", "x": 9, "y": 1.25}, + {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, + {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, + {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, + {"matrix": [1, 13], "label": "Back Space", "x": 13, "y": 1.25}, + {"matrix": [3, 14], "label": "Back Space", "x": 14, "y": 1.25}, + {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "label": "SQ", "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "label": "~", "x": 12.75, "y": 3.25}, + {"matrix": [2, 13], "label": "Enter", "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "label": "Left Shift", "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "label": "|", "x": 1.25, "y": 4.25, "w": 1}, + {"matrix": [4, 2], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "label": "<", "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Right Shift", "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "label": "Right Shift", "x": 14, "y": 4.25}, {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, @@ -116,7 +716,7 @@ {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, {"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 2.75}, {"matrix": [5, 5], "x": 6.5, "y": 5.25, "w": 1.25}, - {"matrix": [5, 8], "x": 6.75, "y": 5.25, "w": 2.25}, + {"matrix": [5, 8], "x": 7.75, "y": 5.25, "w": 2.25}, {"matrix": [5, 9], "label": "Alt", "x": 10, "y": 5.25, "w": 1.25}, {"matrix": [5, 10], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, {"matrix": [5, 11], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, diff --git a/keyboards/lucid/velvet_solder/keymaps/default/keymap.c b/keyboards/lucid/velvet_solder/keymaps/default/keymap.c index dbe2f58a81a..57fa9bf2bc0 100644 --- a/keyboards/lucid/velvet_solder/keymaps/default/keymap.c +++ b/keyboards/lucid/velvet_solder/keymaps/default/keymap.c @@ -20,22 +20,22 @@ enum layers { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_LAYER0] = 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_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_BSPC, 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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + + [_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_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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = 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 + [_LAYER1] = 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/lucid/velvet_solder/keymaps/via/keymap.c b/keyboards/lucid/velvet_solder/keymaps/via/keymap.c index b6d8377e4c4..2c7cd72db8b 100644 --- a/keyboards/lucid/velvet_solder/keymaps/via/keymap.c +++ b/keyboards/lucid/velvet_solder/keymaps/via/keymap.c @@ -23,39 +23,39 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = 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_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_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_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_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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = 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 + [_LAYER1] = 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 ), - [_LAYER2] = 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 + [_LAYER2] = 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 ), - [_LAYER3] = 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 + [_LAYER3] = 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 ) -}; \ No newline at end of file +}; diff --git a/keyboards/lucid/velvet_solder/matrix_diagram.md b/keyboards/lucid/velvet_solder/matrix_diagram.md new file mode 100644 index 00000000000..3269c061aa9 --- /dev/null +++ b/keyboards/lucid/velvet_solder/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for FJLaboratories Velvet Solder + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │0F │0G │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │3E ││1E │1F │1G │ │1D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐2D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │ +├────┼───┴┬──┴─┬─┴───┴───┴┬──┴─┬─┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│50 │51 │52 │54 │55 │58 │59 │5A │5B │5D ││5E │5F │5G │ +└────┴────┴────┴──────────┴────┴────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│40 │ 2.25u LShift 2.75u RShift │4C │ +└────────┘ └──────────┘ +┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ +│50 │51 │52 │55 │59 │5A │5B │5D │ Standard +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌─────┬───┬─────┬──────────┬─────┬──────────┬─────┬───┬─────┐ +│50 │51 │52 │54 │55 │58 │5A │5B │5D │ Tsangan/WKL with Split Spacebar +└─────┴───┴─────┴──────────┴─────┴──────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│50 │51 │52 │55 │5A │5B │5D │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` diff --git a/keyboards/lw75/info.json b/keyboards/lw75/info.json index d236546c3bf..bb9aceb95f9 100644 --- a/keyboards/lw75/info.json +++ b/keyboards/lw75/info.json @@ -107,9 +107,9 @@ {"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": 15.5, "y": 4.25}, + {"matrix": [4, 13], "x": 14.25, "y": 4.5}, - {"matrix": [4, 14], "x": 14.25, "y": 4.5}, + {"matrix": [4, 14], "x": 15.5, "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}, @@ -211,9 +211,9 @@ {"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": 15.5, "y": 4.25}, + {"matrix": [4, 13], "x": 14.25, "y": 4.5}, - {"matrix": [4, 14], "x": 14.25, "y": 4.5}, + {"matrix": [4, 14], "x": 15.5, "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}, @@ -315,9 +315,9 @@ {"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": 15.5, "y": 4.25}, + {"matrix": [4, 13], "x": 14.25, "y": 4.5}, - {"matrix": [4, 14], "x": 14.25, "y": 4.5}, + {"matrix": [4, 14], "x": 15.5, "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}, @@ -420,9 +420,9 @@ {"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": 15.5, "y": 4.25}, + {"matrix": [4, 13], "x": 14.25, "y": 4.5}, - {"matrix": [4, 14], "x": 14.25, "y": 4.5}, + {"matrix": [4, 14], "x": 15.5, "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}, diff --git a/keyboards/lyso1/lck75/config.h b/keyboards/lyso1/lck75/config.h index ef5df5dd3d3..b7ade40289a 100644 --- a/keyboards/lyso1/lck75/config.h +++ b/keyboards/lyso1/lck75/config.h @@ -21,8 +21,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLIGHT_SLEEP - #define OLED_TIMEOUT 10000 #define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX @@ -42,6 +40,5 @@ along with this program. If not, see . #endif #define PERMISSIVE_HOLD -#define TAPPING_TERM 200 #define NO_ACTION_ONESHOT diff --git a/keyboards/lz/erghost/config.h b/keyboards/lz/erghost/config.h index 4f298a1af80..49a5cb8b179 100644 --- a/keyboards/lz/erghost/config.h +++ b/keyboards/lz/erghost/config.h @@ -38,11 +38,6 @@ along with this program. If not, see . #define DIODE_DIRECTION ROW2COL #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 28 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_STATIC_LIGHT # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/lz/erghost/info.json b/keyboards/lz/erghost/info.json index d7e266d134c..a5e2d7bf65b 100644 --- a/keyboards/lz/erghost/info.json +++ b/keyboards/lz/erghost/info.json @@ -12,6 +12,12 @@ "pin": "B6", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 28, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/m10a/keymaps/gam3cat/keymap.c b/keyboards/m10a/keymaps/gam3cat/keymap.c index bfe30b79811..8860bbd0108 100644 --- a/keyboards/m10a/keymaps/gam3cat/keymap.c +++ b/keyboards/m10a/keymaps/gam3cat/keymap.c @@ -110,10 +110,6 @@ void matrix_init_user(void) { #endif } -void matrix_scan_user(void) { - -} - layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { case _L0: @@ -152,7 +148,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { } return state; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/makrosu/config.h b/keyboards/makrosu/config.h index 64f4553f903..2977cd9d40a 100644 --- a/keyboards/makrosu/config.h +++ b/keyboards/makrosu/config.h @@ -16,8 +16,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/makrosu/info.json b/keyboards/makrosu/info.json index 96eaf9fad62..ad6acdb100a 100644 --- a/keyboards/makrosu/info.json +++ b/keyboards/makrosu/info.json @@ -18,6 +18,9 @@ {"pin_a": "E6", "pin_b": "D1"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "bootmagic": { "matrix": [0, 5] }, diff --git a/keyboards/malevolti/lyra/rev1/config.h b/keyboards/malevolti/lyra/rev1/config.h deleted file mode 100644 index 38a1a09cd34..00000000000 --- a/keyboards/malevolti/lyra/rev1/config.h +++ /dev/null @@ -1,18 +0,0 @@ - /* Copyright 2021 Domanic Calleja - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 100 diff --git a/keyboards/malevolti/lyra/rev1/info.json b/keyboards/malevolti/lyra/rev1/info.json index 2b7f8fbd713..7a9aa305acb 100644 --- a/keyboards/malevolti/lyra/rev1/info.json +++ b/keyboards/malevolti/lyra/rev1/info.json @@ -16,6 +16,9 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 100 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/malevolti/superlyra/rev1/config.h b/keyboards/malevolti/superlyra/rev1/config.h deleted file mode 100644 index cffc2e9ff2e..00000000000 --- a/keyboards/malevolti/superlyra/rev1/config.h +++ /dev/null @@ -1,18 +0,0 @@ - /* Copyright 2021 Domanic Calleja - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 100 diff --git a/keyboards/malevolti/superlyra/rev1/info.json b/keyboards/malevolti/superlyra/rev1/info.json index 59cd50af421..989e6baaa75 100644 --- a/keyboards/malevolti/superlyra/rev1/info.json +++ b/keyboards/malevolti/superlyra/rev1/info.json @@ -8,6 +8,9 @@ "pid": "0x4C53", "device_version": "30.3.1" }, + "tapping": { + "term": 100 + }, "matrix_pins": { "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1"], "rows": ["B7", "B3", "B2", "B1", "B0"] diff --git a/keyboards/manta60/config.h b/keyboards/manta60/config.h index dbda0b7fed7..d1769d98800 100644 --- a/keyboards/manta60/config.h +++ b/keyboards/manta60/config.h @@ -19,10 +19,6 @@ along with this program. If not, see . #define SELECT_SOFT_SERIAL_SPEED 1 -# define RGBLED_NUM 68 -# define RGBLIGHT_SPLIT -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 # ifndef IOS_DEVICE_ENABLE # define RGBLIGHT_VAL_STEP 16 # define RGBLIGHT_LIMIT_VAL 128 /* The maximum brightness level */ @@ -30,7 +26,6 @@ along with this program. If not, see . # define RGBLIGHT_VAL_STEP 4 # define RGBLIGHT_LIMIT_VAL 32 /* The maximum brightness level */ # endif -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/manta60/info.json b/keyboards/manta60/info.json index 3f75de7ddfb..dc9e1b2330d 100644 --- a/keyboards/manta60/info.json +++ b/keyboards/manta60/info.json @@ -17,6 +17,8 @@ "soft_serial_pin": "D2" }, "rgblight": { + "saturation_steps": 8, + "led_count": 68, "split_count": [34, 34] }, "ws2812": { diff --git a/keyboards/manyboard/macro/config.h b/keyboards/manyboard/macro/config.h deleted file mode 100644 index 39274737112..00000000000 --- a/keyboards/manyboard/macro/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2020 William Ehman - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/* RGB Pins */ -#define RGBLED_NUM 2 diff --git a/keyboards/manyboard/macro/info.json b/keyboards/manyboard/macro/info.json index 3df9a79430a..10218337d96 100644 --- a/keyboards/manyboard/macro/info.json +++ b/keyboards/manyboard/macro/info.json @@ -22,6 +22,7 @@ "pin": "B6" }, "rgblight": { + "led_count": 2, "max_brightness": 10 }, "processor": "atmega32u4", diff --git a/keyboards/maple_computing/6ball/config.h b/keyboards/maple_computing/6ball/config.h index 59679e27535..05d2733f8b3 100644 --- a/keyboards/maple_computing/6ball/config.h +++ b/keyboards/maple_computing/6ball/config.h @@ -27,6 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 // Number of LEDs - -#define TAPPING_TERM 200 diff --git a/keyboards/maple_computing/6ball/info.json b/keyboards/maple_computing/6ball/info.json index b799baa28c7..27f9ae18079 100644 --- a/keyboards/maple_computing/6ball/info.json +++ b/keyboards/maple_computing/6ball/info.json @@ -8,6 +8,9 @@ "pid": "0x0007", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/maple_computing/launchpad/rev1/config.h b/keyboards/maple_computing/launchpad/rev1/config.h index 7cf73259b44..05d2733f8b3 100644 --- a/keyboards/maple_computing/launchpad/rev1/config.h +++ b/keyboards/maple_computing/launchpad/rev1/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/maple_computing/launchpad/rev1/info.json b/keyboards/maple_computing/launchpad/rev1/info.json index 81c23850ec4..9e7ec96748d 100644 --- a/keyboards/maple_computing/launchpad/rev1/info.json +++ b/keyboards/maple_computing/launchpad/rev1/info.json @@ -8,6 +8,9 @@ "pid": "0x6007", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/maple_computing/lets_split_eh/eh/config.h b/keyboards/maple_computing/lets_split_eh/eh/config.h index 27de26f6b8e..ad601d7d360 100644 --- a/keyboards/maple_computing/lets_split_eh/eh/config.h +++ b/keyboards/maple_computing/lets_split_eh/eh/config.h @@ -19,7 +19,6 @@ along with this program. If not, see . #pragma once /* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs (each hand) #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/maple_computing/lets_split_eh/eh/info.json b/keyboards/maple_computing/lets_split_eh/eh/info.json index f14888862f0..5df74d73b6d 100644 --- a/keyboards/maple_computing/lets_split_eh/eh/info.json +++ b/keyboards/maple_computing/lets_split_eh/eh/info.json @@ -17,6 +17,7 @@ "pin": "B7" }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/maple_computing/the_ruler/config.h b/keyboards/maple_computing/the_ruler/config.h index e3b34d1bf00..a2119b413fb 100644 --- a/keyboards/maple_computing/the_ruler/config.h +++ b/keyboards/maple_computing/the_ruler/config.h @@ -38,7 +38,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define RGBLED_NUM 1 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -49,6 +48,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/maple_computing/the_ruler/info.json b/keyboards/maple_computing/the_ruler/info.json index 336d48af4c6..86478b7694f 100644 --- a/keyboards/maple_computing/the_ruler/info.json +++ b/keyboards/maple_computing/the_ruler/info.json @@ -8,6 +8,10 @@ "pid": "0x6007", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 1 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/marksard/leftover30/config.h b/keyboards/marksard/leftover30/config.h index 8f87bd4f1ac..0b0263f296d 100644 --- a/keyboards/marksard/leftover30/config.h +++ b/keyboards/marksard/leftover30/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/marksard/leftover30/info.json b/keyboards/marksard/leftover30/info.json index 44e8b9bca51..cc11b5ba60c 100644 --- a/keyboards/marksard/leftover30/info.json +++ b/keyboards/marksard/leftover30/info.json @@ -18,6 +18,12 @@ {"pin_a": "F4", "pin_b": "F5"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/marksard/rhymestone/rev1/config.h b/keyboards/marksard/rhymestone/rev1/config.h index b313d95e2b9..76fd9095fc1 100644 --- a/keyboards/marksard/rhymestone/rev1/config.h +++ b/keyboards/marksard/rhymestone/rev1/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once #ifdef RGBLIGHT_ENABLE - #define RGBLED_NUM 40 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -35,18 +30,13 @@ along with this program. If not, see . #endif #ifdef RGB_MATRIX_ENABLE - #define RGBLED_NUM 40 // Number of LEDs - #define RGB_MATRIX_LED_COUNT RGBLED_NUM + #define RGB_MATRIX_LED_COUNT 40 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended // #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 200 out of 255. If not defined maximum brightness is set to 255 - #define RGB_MATRIX_HUE_STEP 8 - #define RGB_MATRIX_SAT_STEP 8 - #define RGB_MATRIX_VAL_STEP 8 - #define RGB_MATRIX_SPD_STEP 10 // #undef ENABLE_RGB_MATRIX_ALPHAS_MODS // #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/marksard/rhymestone/rev1/info.json b/keyboards/marksard/rhymestone/rev1/info.json index 35d4afdca19..ba13c35b88c 100644 --- a/keyboards/marksard/rhymestone/rev1/info.json +++ b/keyboards/marksard/rhymestone/rev1/info.json @@ -9,7 +9,10 @@ "device_version": "0.2.0" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "matrix_pins": { "cols": ["D4", "C6", "D7", "E6", "B4"], @@ -23,7 +26,11 @@ "pin": "D3" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 40, "max_brightness": 150, + "sleep": true, "split_count": [20, 20] }, "processor": "atmega32u4", diff --git a/keyboards/marksard/treadstone32/lite/config.h b/keyboards/marksard/treadstone32/lite/config.h index 22435108df1..a9f15c0db96 100644 --- a/keyboards/marksard/treadstone32/lite/config.h +++ b/keyboards/marksard/treadstone32/lite/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 6 #ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ #define RGBLIGHT_VAL_STEP 8 @@ -25,9 +24,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/marksard/treadstone32/lite/info.json b/keyboards/marksard/treadstone32/lite/info.json index 878b4db2ac2..07df01674a4 100644 --- a/keyboards/marksard/treadstone32/lite/info.json +++ b/keyboards/marksard/treadstone32/lite/info.json @@ -3,6 +3,11 @@ "usb": { "device_version": "0.1.5" }, + "rgblight": { + "saturation_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/marksard/treadstone32/rev1/config.h b/keyboards/marksard/treadstone32/rev1/config.h index 1f3a9ec1684..0a6c395aa5e 100644 --- a/keyboards/marksard/treadstone32/rev1/config.h +++ b/keyboards/marksard/treadstone32/rev1/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 6 #ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ #define RGBLIGHT_VAL_STEP 8 @@ -25,9 +24,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/marksard/treadstone32/rev1/info.json b/keyboards/marksard/treadstone32/rev1/info.json index 00538f7e8ab..17f9580af45 100644 --- a/keyboards/marksard/treadstone32/rev1/info.json +++ b/keyboards/marksard/treadstone32/rev1/info.json @@ -3,6 +3,11 @@ "usb": { "device_version": "0.1.0" }, + "rgblight": { + "saturation_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/marksard/treadstone48/common/oled_helper.c b/keyboards/marksard/treadstone48/common/oled_helper.c index c3c8f23cbc5..e9a8cf564a3 100644 --- a/keyboards/marksard/treadstone48/common/oled_helper.c +++ b/keyboards/marksard/treadstone48/common/oled_helper.c @@ -43,10 +43,10 @@ void render_key_status(void) { static char lock_buf[24] = "Lock state ready.\n"; void update_lock_status(void) { - uint8_t leds = host_keyboard_leds(); - char *num_lock = (leds & (1<. #define RGBLED_NUM 32 #define RGBLED_SPLIT {12, 20} #endif - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/marksard/treadstone48/rev1/info.json b/keyboards/marksard/treadstone48/rev1/info.json index f4dfc35ec10..ed9e4f84142 100644 --- a/keyboards/marksard/treadstone48/rev1/info.json +++ b/keyboards/marksard/treadstone48/rev1/info.json @@ -20,7 +20,10 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "max_brightness": 180, + "sleep": true }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/marksard/treadstone48/rev2/config.h b/keyboards/marksard/treadstone48/rev2/config.h index 4335ea06702..7dba6c39c17 100644 --- a/keyboards/marksard/treadstone48/rev2/config.h +++ b/keyboards/marksard/treadstone48/rev2/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 12 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/marksard/treadstone48/rev2/info.json b/keyboards/marksard/treadstone48/rev2/info.json index 6e39235dc1c..e4e4a3920fb 100644 --- a/keyboards/marksard/treadstone48/rev2/info.json +++ b/keyboards/marksard/treadstone48/rev2/info.json @@ -12,7 +12,11 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 220 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "max_brightness": 220, + "sleep": true }, "matrix_pins": { "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], diff --git a/keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c b/keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c index 51772f1fa3f..c974fb9e2b3 100644 --- a/keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c +++ b/keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c @@ -26,7 +26,6 @@ uint16_t rgb_idle_seconds = 0; uint16_t rgb_timer; uint8_t save_layer; -#define NUMLOCK_ON (host_keyboard_leds() & (1<. #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - -#define RGBLED_NUM 16 -#define RGBLIGHT_SLEEP #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB diff --git a/keyboards/matrix/m12og/rev1/info.json b/keyboards/matrix/m12og/rev1/info.json index b74c0590082..8187c815398 100644 --- a/keyboards/matrix/m12og/rev1/info.json +++ b/keyboards/matrix/m12og/rev1/info.json @@ -12,6 +12,10 @@ "caps_lock": "B6", "scroll_lock": "B5" }, + "rgblight": { + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "B8" }, diff --git a/keyboards/matrix/m12og/rev2/config.h b/keyboards/matrix/m12og/rev2/config.h index 7fb34f50014..5804100fb20 100644 --- a/keyboards/matrix/m12og/rev2/config.h +++ b/keyboards/matrix/m12og/rev2/config.h @@ -14,9 +14,4 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB diff --git a/keyboards/matrix/m12og/rev2/info.json b/keyboards/matrix/m12og/rev2/info.json index e6e77ba1eed..de16cb41772 100644 --- a/keyboards/matrix/m12og/rev2/info.json +++ b/keyboards/matrix/m12og/rev2/info.json @@ -8,6 +8,12 @@ "pid": "0x8712", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/matrix/m20add/config.h b/keyboards/matrix/m20add/config.h index 421773affc1..5e301cf1c44 100644 --- a/keyboards/matrix/m20add/config.h +++ b/keyboards/matrix/m20add/config.h @@ -79,7 +79,6 @@ #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 // rgb light setting -#define RGBLED_NUM 20 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -94,4 +93,4 @@ #define DRIVER_ADDR_1 0b1110100 #define DRIVER_COUNT 1 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 20 diff --git a/keyboards/matrix/m20add/info.json b/keyboards/matrix/m20add/info.json index 7d88bb81f5b..25abd258276 100644 --- a/keyboards/matrix/m20add/info.json +++ b/keyboards/matrix/m20add/info.json @@ -8,6 +8,9 @@ "pid": "0x20AD", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/matrix/me/config.h b/keyboards/matrix/me/config.h index 8ee1b57bde7..b0c06bed418 100644 --- a/keyboards/matrix/me/config.h +++ b/keyboards/matrix/me/config.h @@ -27,7 +27,6 @@ //#define NO_PRINT //rgb light setting -#define RGBLED_NUM 4 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -38,6 +37,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/matrix/me/info.json b/keyboards/matrix/me/info.json index 935035317cc..5917c66d685 100644 --- a/keyboards/matrix/me/info.json +++ b/keyboards/matrix/me/info.json @@ -17,6 +17,11 @@ "caps_lock": "E6", "scroll_lock": "D2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/matrix/noah/config.h b/keyboards/matrix/noah/config.h index 5a74ab52068..4a3e4d83c96 100644 --- a/keyboards/matrix/noah/config.h +++ b/keyboards/matrix/noah/config.h @@ -75,7 +75,6 @@ # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH /* indicator rgb */ -#define RGBLED_NUM 7 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -86,9 +85,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - - -// tapping setting -//#define TAPPING_TERM 200 -//#define RETRO_TAPPING -//#define PERMISSIVE_HOLD diff --git a/keyboards/matrix/noah/info.json b/keyboards/matrix/noah/info.json index 33dedc6bce0..67c5fe02212 100644 --- a/keyboards/matrix/noah/info.json +++ b/keyboards/matrix/noah/info.json @@ -8,6 +8,9 @@ "pid": "0x0065", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 7 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c index 671d272d855..0969998fa97 100644 --- a/keyboards/matrix/noah/noah.c +++ b/keyboards/matrix/noah/noah.c @@ -32,14 +32,14 @@ void rgblight_set(void) { } } if (noah_led_mode) { - uint8_t ind_led = host_keyboard_leds(); - if (IS_LED_ON(ind_led, USB_LED_CAPS_LOCK)) { + led_t led_state = host_keyboard_led_state(); + if (led_state.caps_lock) { noah_leds[0] = led[0]; } - if (IS_LED_ON(ind_led, USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { noah_leds[1] = led[1]; } - if (IS_LED_ON(ind_led, USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { noah_leds[2] = led[2]; } for (int32_t i = 0; i < 4; i++) { diff --git a/keyboards/maxr1998/pulse4k/config.h b/keyboards/maxr1998/pulse4k/config.h index 0b552acfda0..c6cf684b8eb 100644 --- a/keyboards/maxr1998/pulse4k/config.h +++ b/keyboards/maxr1998/pulse4k/config.h @@ -31,7 +31,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 2 // number of LEDs /* * Feature disable options diff --git a/keyboards/maxr1998/pulse4k/info.json b/keyboards/maxr1998/pulse4k/info.json index 2d3b6e8a4be..004545cbbf1 100644 --- a/keyboards/maxr1998/pulse4k/info.json +++ b/keyboards/maxr1998/pulse4k/info.json @@ -8,6 +8,9 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 2 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/mazestudio/jocker/info.json b/keyboards/mazestudio/jocker/info.json new file mode 100644 index 00000000000..5c5d4d6c087 --- /dev/null +++ b/keyboards/mazestudio/jocker/info.json @@ -0,0 +1,150 @@ +{ + "manufacturer": "Maze Studio", + "keyboard_name": "Jocker 1800", + "maintainer": "mazestd", + "bootloader": "atmel-dfu", + "processor": "atmega32u4", + "url": "", + "usb": { + "vid": "0x70F5", + "pid": "0x4A01", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "dynamic_keymap": { + "layer_count": 3 + }, + "bootmagic":{ + "matrix": [1, 0] + }, + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B2", "B3"], + "rows": ["B1", "B0", "D1", "D0", "D5", "D3", "B7", "D2", "D4", "D6", "B4", "D7"] + }, + + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "Esc", "matrix": [1,0], "x":0, "y":0}, + {"label": "F1", "matrix": [0,0], "x":1.25, "y":0}, + {"label": "F2", "matrix": [1,1], "x":2.25, "y":0}, + {"label": "F3", "matrix": [0,1], "x":3.25, "y":0}, + {"label": "F4", "matrix": [1,2], "x":4.25, "y":0}, + {"label": "F5", "matrix": [0,2], "x":5.5, "y":0}, + {"label": "F6", "matrix": [1,3], "x":6.5, "y":0}, + {"label": "F7", "matrix": [0,3], "x":7.5, "y":0}, + {"label": "F8", "matrix": [1,4], "x":8.5, "y":0}, + {"label": "F9", "matrix": [1,5], "x":9.75, "y":0}, + {"label": "F10", "matrix": [0,5], "x":10.75, "y":0}, + {"label": "F11", "matrix": [1,6], "x":11.75, "y":0}, + {"label": "F12", "matrix": [0,6], "x":12.75, "y":0}, + {"label": "F13", "matrix": [1,7], "x":14, "y":0}, + {"label": "Scroll Lock", "matrix": [0,7], "x":15.25, "y":0}, + {"label": "Pause Break", "matrix": [1,8], "x":16.5, "y":0}, + {"label": "Insert", "matrix": [0,8], "x":17.5, "y":0}, + {"label": "Home", "matrix": [1,9], "x":18.5, "y":0}, + {"label": "Print Screen", "matrix": [0,9], "x":19.5, "y":0}, + + {"label": "~", "matrix": [3,0], "x":0, "y":1.25}, + {"label": "1", "matrix": [2,0], "x":1, "y":1.25}, + {"label": "2", "matrix": [3,1], "x":2, "y":1.25}, + {"label": "3", "matrix": [2,1], "x":3, "y":1.25}, + {"label": "4", "matrix": [3,2], "x":4, "y":1.25}, + {"label": "5", "matrix": [2,2], "x":5, "y":1.25}, + {"label": "6", "matrix": [3,3], "x":6, "y":1.25}, + {"label": "7", "matrix": [2,3], "x":7, "y":1.25}, + {"label": "8", "matrix": [3,4], "x":8, "y":1.25}, + {"label": "9", "matrix": [2,4], "x":9, "y":1.25}, + {"label": "0", "matrix": [3,5], "x":10, "y":1.25}, + {"label": "-", "matrix": [2,5], "x":11, "y":1.25}, + {"label": "=", "matrix": [3,6], "x":12, "y":1.25}, + {"label": "|", "matrix": [2,6], "x":13, "y":1.25}, + {"label": "Delete", "matrix": [3,7], "x":14, "y":1.25}, + {"label": "Page Up", "matrix": [2,7], "x":15.25, "y":1.25}, + {"label": "Num Lock", "matrix": [3,8], "x":16.5, "y":1.25}, + {"label": "/", "matrix": [2,8], "x":17.5, "y":1.25}, + {"label": "*", "matrix": [3,9], "x":18.5, "y":1.25}, + {"label": "-", "matrix": [2,9], "x":19.5, "y":1.25}, + + {"label": "Tab", "matrix": [5,0], "x":0, "y":2.25, "w":1.5}, + {"label": "Q", "matrix": [4,0], "x":1.5, "y":2.25}, + {"label": "W", "matrix": [5,1], "x":2.5, "y":2.25}, + {"label": "E", "matrix": [4,1], "x":3.5, "y":2.25}, + {"label": "R", "matrix": [5,2], "x":4.5, "y":2.25}, + {"label": "T", "matrix": [4,2], "x":5.5, "y":2.25}, + {"label": "Y", "matrix": [5,3], "x":6.5, "y":2.25}, + {"label": "U", "matrix": [4,3], "x":7.5, "y":2.25}, + {"label": "I", "matrix": [5,4], "x":8.5, "y":2.25}, + {"label": "O", "matrix": [4,4], "x":9.5, "y":2.25}, + {"label": "P", "matrix": [5,5], "x":10.5, "y":2.25}, + {"label": "[", "matrix": [4,5], "x":11.5, "y":2.25}, + {"label": "]", "matrix": [5,6], "x":12.5, "y":2.25}, + {"label": "Backspace", "matrix": [5,7], "x":13.5, "y":2.25, "w":1.5}, + {"label": "Page Down", "matrix": [4,7], "x":15.25, "y":2.25}, + {"label": "Num 7", "matrix": [5,8], "x":16.5, "y":2.25}, + {"label": "Num 8", "matrix": [4,8], "x":17.5, "y":2.25}, + {"label": "Num 9", "matrix": [5,9], "x":18.5, "y":2.25}, + {"label": "Num Plus", "matrix": [4,9], "x":19.5, "y":2.25, "h":2}, + + {"label": "Caps Lock", "matrix": [7,0], "x":0, "y":3.25, "w":1.75}, + {"label": "A", "matrix": [6,0], "x":1.75, "y":3.25}, + {"label": "S", "matrix": [7,1], "x":2.75, "y":3.25}, + {"label": "D", "matrix": [6,1], "x":3.75, "y":3.25}, + {"label": "F", "matrix": [7,2], "x":4.75, "y":3.25}, + {"label": "G", "matrix": [6,2], "x":5.75, "y":3.25}, + {"label": "H", "matrix": [7,3], "x":6.75, "y":3.25}, + {"label": "J", "matrix": [6,3], "x":7.75, "y":3.25}, + {"label": "K", "matrix": [7,4], "x":8.75, "y":3.25}, + {"label": "L", "matrix": [6,4], "x":9.75, "y":3.25}, + {"label": ";", "matrix": [7,5], "x":10.75, "y":3.25}, + {"label": "'", "matrix": [6,5], "x":11.75, "y":3.25}, + {"label": "Enter", "matrix": [6,6], "x":12.75, "y":3.25, "w":2.25}, + {"label": "Delete", "matrix": [6,7], "x":15.25, "y":3.25}, + {"label": "Num 4", "matrix": [7,8], "x":16.5, "y":3.25}, + {"label": "Num 5", "matrix": [6,8], "x":17.5, "y":3.25}, + {"label": "Num 6", "matrix": [7,9], "x":18.5, "y":3.25}, + + {"label": "Left Shift", "matrix": [9,0], "x":0, "y":4.25, "w":2.25}, + {"label": "Z", "matrix": [8,0], "x":2.25, "y":4.25}, + {"label": "X", "matrix": [9,1], "x":3.25, "y":4.25}, + {"label": "C", "matrix": [8,1], "x":4.25, "y":4.25}, + {"label": "V", "matrix": [9,2], "x":5.25, "y":4.25}, + {"label": "B", "matrix": [8,2], "x":6.25, "y":4.25}, + {"label": "N", "matrix": [9,3], "x":7.25, "y":4.25}, + {"label": "M", "matrix": [8,3], "x":8.25, "y":4.25}, + {"label": ",", "matrix": [9,4], "x":9.25, "y":4.25}, + {"label": ".", "matrix": [8,4], "x":10.25, "y":4.25}, + {"label": "/", "matrix": [9,5], "x":11.25, "y":4.25}, + {"label": "Right Shift", "matrix": [9,6], "x":12.25, "y":4.25, "w":1.75}, + {"label": "Up", "matrix": [9,7], "x":14.25, "y":4.5}, + {"label": "Num 1", "matrix": [9,8], "x":16.5, "y":4.25}, + {"label": "Num 2", "matrix": [8,8], "x":17.5, "y":4.25}, + {"label": "Num 3", "matrix": [9,9], "x":18.5, "y":4.25}, + {"label": "Enter", "matrix": [8,9], "x":19.5, "y":4.25, "h":2}, + + {"label": "Left Ctrl", "matrix": [11,0], "x":0, "y":5.25, "w":1.25}, + {"label": "Left Win", "matrix": [10,0], "x":1.25, "y":5.25, "w":1.25}, + {"label": "Left Alt", "matrix": [11,1], "x":2.5, "y":5.25, "w":1.25}, + {"label": "Space", "matrix": [10,2], "x":3.75, "y":5.25, "w":6.25}, + {"label": "Right Alt", "matrix": [10,4], "x":10, "y":5.25, "w":1.5}, + {"label": "Right Ctrl", "matrix": [10,5], "x":11.5, "y":5.25, "w":1.5}, + {"label": "Left", "matrix": [10,6], "x":13.25, "y":5.5}, + {"label": "Down", "matrix": [11,7], "x":14.25, "y":5.5}, + {"label": "Right", "matrix": [10,7], "x":15.25, "y":5.5}, + {"label": "Num 0", "matrix": [10,8], "x":16.5, "y":5.25, "w":2}, + {"label": "Num Del", "matrix": [11,9], "x":18.5, "y":5.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/mazestudio/jocker/keymaps/default/keymap.c b/keyboards/mazestudio/jocker/keymaps/default/keymap.c new file mode 100644 index 00000000000..b64c4a299f0 --- /dev/null +++ b/keyboards/mazestudio/jocker/keymaps/default/keymap.c @@ -0,0 +1,16 @@ +// Copyright 2023 Maze 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_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_SCRL, KC_PAUS, KC_INS, KC_HOME, 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_MINS, KC_EQL, KC_BSLS, KC_DEL, 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_BSPC, 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_DEL, 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + + ) +}; \ No newline at end of file diff --git a/keyboards/mazestudio/jocker/keymaps/via/keymap.c b/keyboards/mazestudio/jocker/keymaps/via/keymap.c new file mode 100644 index 00000000000..b64c4a299f0 --- /dev/null +++ b/keyboards/mazestudio/jocker/keymaps/via/keymap.c @@ -0,0 +1,16 @@ +// Copyright 2023 Maze 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_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_SCRL, KC_PAUS, KC_INS, KC_HOME, 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_MINS, KC_EQL, KC_BSLS, KC_DEL, 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_BSPC, 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_DEL, 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_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + + ) +}; \ No newline at end of file diff --git a/keyboards/mazestudio/jocker/keymaps/via/rules.mk b/keyboards/mazestudio/jocker/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/mazestudio/jocker/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mazestudio/jocker/readme.md b/keyboards/mazestudio/jocker/readme.md new file mode 100644 index 00000000000..8dcc6390b08 --- /dev/null +++ b/keyboards/mazestudio/jocker/readme.md @@ -0,0 +1,27 @@ +# Jocker 1800 + +![jocker1800]( https://i.imgur.com/aQEiE4Hh.jpg ) + +PCB Replacement for Austin 1800 + +* Keyboard Maintainer: [Maze Studio](https://github.com/mazestd) +* Hardware Supported: Jocker PCB, Atmega32u4 +* Hardware Availability: Local Group Buy + +Make example for this keyboard (after setting up your build environment): + + make mazestd/jocker:default + +Flashing example for this keyboard: + + make mazestd/jocker: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 (1,0) in the matrix or Escape Key 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/mazestudio/jocker/rules.mk b/keyboards/mazestudio/jocker/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/mazestudio/jocker/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/mechanickeys/undead60m/config.h b/keyboards/mechanickeys/undead60m/config.h index 9388d3da68a..5135b7049ea 100644 --- a/keyboards/mechanickeys/undead60m/config.h +++ b/keyboards/mechanickeys/undead60m/config.h @@ -17,8 +17,6 @@ #pragma once /* RGB Underglow */ - #define RGBLED_NUM 16 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechanickeys/undead60m/info.json b/keyboards/mechanickeys/undead60m/info.json index 5fd2c835142..9941c93b122 100644 --- a/keyboards/mechanickeys/undead60m/info.json +++ b/keyboards/mechanickeys/undead60m/info.json @@ -8,6 +8,10 @@ "pid": "0x3C4D", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/mechbrewery/mb65s/config.h b/keyboards/mechbrewery/mb65s/config.h index 603bf2a949e..c2e9967f4e5 100644 --- a/keyboards/mechbrewery/mb65s/config.h +++ b/keyboards/mechbrewery/mb65s/config.h @@ -27,8 +27,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/mechbrewery/mb65s/info.json b/keyboards/mechbrewery/mb65s/info.json index f73a11bcd7b..cf0cdaa673e 100644 --- a/keyboards/mechbrewery/mb65s/info.json +++ b/keyboards/mechbrewery/mb65s/info.json @@ -21,7 +21,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "max_brightness": 240, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/mechkeys/acr60/config.h b/keyboards/mechkeys/acr60/config.h index 8f261b69f25..e60c8a052f5 100644 --- a/keyboards/mechkeys/acr60/config.h +++ b/keyboards/mechkeys/acr60/config.h @@ -32,7 +32,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/mechkeys/acr60/info.json b/keyboards/mechkeys/acr60/info.json index 422b3f6270a..0c42991a70e 100644 --- a/keyboards/mechkeys/acr60/info.json +++ b/keyboards/mechkeys/acr60/info.json @@ -21,6 +21,11 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechkeys/alu84/config.h b/keyboards/mechkeys/alu84/config.h index 16e59303644..c764ecf521e 100755 --- a/keyboards/mechkeys/alu84/config.h +++ b/keyboards/mechkeys/alu84/config.h @@ -17,10 +17,6 @@ #pragma once #if defined(RGBLIGHT_ENABLE) -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 10 -# define RGBLIGHT_VAL_STEP 10 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechkeys/alu84/info.json b/keyboards/mechkeys/alu84/info.json index 5251bc600b8..70ceae3deec 100644 --- a/keyboards/mechkeys/alu84/info.json +++ b/keyboards/mechkeys/alu84/info.json @@ -17,6 +17,12 @@ "pin": "B6", "breathing": true }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 16 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechkeys/espectro/config.h b/keyboards/mechkeys/espectro/config.h index a7436fb00c1..1ab63d5ac55 100755 --- a/keyboards/mechkeys/espectro/config.h +++ b/keyboards/mechkeys/espectro/config.h @@ -22,11 +22,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechkeys/espectro/info.json b/keyboards/mechkeys/espectro/info.json index 40d67108297..68ec51e1695 100644 --- a/keyboards/mechkeys/espectro/info.json +++ b/keyboards/mechkeys/espectro/info.json @@ -23,6 +23,12 @@ "scroll_lock": "B1", "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 18 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechkeys/mechmini/v1/config.h b/keyboards/mechkeys/mechmini/v1/config.h index f76d0f01e1c..2e1fefef999 100644 --- a/keyboards/mechkeys/mechmini/v1/config.h +++ b/keyboards/mechkeys/mechmini/v1/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once /* RGB underglow */ -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechkeys/mechmini/v1/info.json b/keyboards/mechkeys/mechmini/v1/info.json index eea1d15feba..e8cb6f16bf6 100644 --- a/keyboards/mechkeys/mechmini/v1/info.json +++ b/keyboards/mechkeys/mechmini/v1/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/mechkeys/mechmini/v2/config.h b/keyboards/mechkeys/mechmini/v2/config.h index 9517f6a7317..b9e5aae3422 100755 --- a/keyboards/mechkeys/mechmini/v2/config.h +++ b/keyboards/mechkeys/mechmini/v2/config.h @@ -31,7 +31,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/mechkeys/mechmini/v2/info.json b/keyboards/mechkeys/mechmini/v2/info.json index 53f60637f97..36c408d6de8 100644 --- a/keyboards/mechkeys/mechmini/v2/info.json +++ b/keyboards/mechkeys/mechmini/v2/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "B6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechkeys/mk60/config.h b/keyboards/mechkeys/mk60/config.h index 782b3a7381b..c43ea489063 100644 --- a/keyboards/mechkeys/mk60/config.h +++ b/keyboards/mechkeys/mk60/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 12 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechkeys/mk60/info.json b/keyboards/mechkeys/mk60/info.json index ef7658a1e13..58cb6355879 100644 --- a/keyboards/mechkeys/mk60/info.json +++ b/keyboards/mechkeys/mk60/info.json @@ -22,6 +22,12 @@ "caps_lock": "B7", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/mechllama/g35/v1/info.json b/keyboards/mechllama/g35/v1/info.json index c5d4c69e7b7..36d542dc586 100644 --- a/keyboards/mechllama/g35/v1/info.json +++ b/keyboards/mechllama/g35/v1/info.json @@ -6,5 +6,8 @@ "cols": ["D6", "D7", "B4", "B5", "B6", "F0", "D5"], "rows": ["F5", "F6", "F4", "F1", "D4"] }, - "diode_direction": "COL2ROW" + "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 41 + } } diff --git a/keyboards/mechllama/g35/v2/info.json b/keyboards/mechllama/g35/v2/info.json index 563625f428b..aa6bab75254 100644 --- a/keyboards/mechllama/g35/v2/info.json +++ b/keyboards/mechllama/g35/v2/info.json @@ -6,5 +6,8 @@ "cols": ["D6", "D7", "B4", "B5", "B6", "F6", "D5"], "rows": ["F5", "F4", "F1", "F0", "D4"] }, - "diode_direction": "COL2ROW" + "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 6 + } } diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h index 1e549f9a898..088c29a0480 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h @@ -1,6 +1,5 @@ #pragma once -#define RGBLED_NUM 23 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -11,9 +10,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 //rgb matrix setting // This is a 7-bit address, that gets left-shifted and bit 0 @@ -86,5 +82,3 @@ # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #define RGB_MATRIX_DISABLE_KEYCODES - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/info.json b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json index 4ac693f894c..c7e662c0088 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/info.json +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json @@ -16,6 +16,14 @@ {"pin_a": "A4", "pin_b": "A3"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 23 + }, "ws2812": { "pin": "A15" }, diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h index c4f801b40de..3c514668d15 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h @@ -20,7 +20,6 @@ along with this program. If not, see . #ifdef RGBLIGHT_ENABLE #define WS2812_SPI SPID1 // default: SPID1 #define WS2812_SPI_MOSI_PAL_MODE 5 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5 -#define RGBLED_NUM 23 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -31,9 +30,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #endif #ifdef RGB_MATRIX_ENABLE @@ -108,5 +104,3 @@ along with this program. If not, see . #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 #endif - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/info.json b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json index d1775ccb83b..d745503c279 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/info.json +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json @@ -16,6 +16,9 @@ {"pin_a": "B12", "pin_b": "B13"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "STM32F103", "bootloader": "stm32duino", "indicators": { @@ -23,6 +26,11 @@ "num_lock": "A0", "scroll_lock": "C15" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 23 + }, "ws2812": { "pin": "A7", "driver": "spi" diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk b/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk index 5664ce68441..e144301381d 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rules.mk @@ -6,6 +6,3 @@ RGBLIGHT_ENABLE = yes ENCODER_ENABLE = yes CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration - -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE \ No newline at end of file diff --git a/keyboards/mechlovin/adelais/standard_led/arm/config.h b/keyboards/mechlovin/adelais/standard_led/arm/config.h index 1c9b61b9df8..68857621b70 100644 --- a/keyboards/mechlovin/adelais/standard_led/arm/config.h +++ b/keyboards/mechlovin/adelais/standard_led/arm/config.h @@ -18,9 +18,7 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 -#define RGBLED_NUM 23 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/adelais/standard_led/arm/info.json b/keyboards/mechlovin/adelais/standard_led/arm/info.json index 9c6bd46a702..c4b97fbd78f 100644 --- a/keyboards/mechlovin/adelais/standard_led/arm/info.json +++ b/keyboards/mechlovin/adelais/standard_led/arm/info.json @@ -9,6 +9,9 @@ "pin": "B0", "breathing": true }, + "rgblight": { + "led_count": 23 + }, "ws2812": { "pin": "A7" }, diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h b/keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h deleted file mode 100644 index 254d2040381..00000000000 --- a/keyboards/mechlovin/adelais/standard_led/arm/rev3/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define TAP_CODE_DELAY 10 \ No newline at end of file diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev3/info.json b/keyboards/mechlovin/adelais/standard_led/arm/rev3/info.json index a5ebef5b875..46907dc7a9d 100644 --- a/keyboards/mechlovin/adelais/standard_led/arm/rev3/info.json +++ b/keyboards/mechlovin/adelais/standard_led/arm/rev3/info.json @@ -9,6 +9,9 @@ {"pin_a": "B7", "pin_b": "B6"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "STM32F303", "board": "QMK_PROTON_C", "bootloader": "stm32-dfu", diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h b/keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h deleted file mode 100644 index 7905be18915..00000000000 --- a/keyboards/mechlovin/adelais/standard_led/arm/rev4/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2021 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 . -*/ -#pragma once - -#define TAP_CODE_DELAY 10 \ No newline at end of file diff --git a/keyboards/mechlovin/adelais/standard_led/arm/rev4/info.json b/keyboards/mechlovin/adelais/standard_led/arm/rev4/info.json index b6ee0c5b670..f0d10942adc 100644 --- a/keyboards/mechlovin/adelais/standard_led/arm/rev4/info.json +++ b/keyboards/mechlovin/adelais/standard_led/arm/rev4/info.json @@ -9,6 +9,9 @@ {"pin_a": "B7", "pin_b": "B6"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "layout_aliases": { "LAYOUT_all": "LAYOUT_alice_split_bs" }, diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h b/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h index 0e23efaf3ad..f1fda9adfcb 100644 --- a/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h +++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/config.h @@ -31,7 +31,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define RGBLED_NUM 23 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,5 +41,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/info.json b/keyboards/mechlovin/adelais/standard_led/avr/rev1/info.json index 31de7de9575..d7c51465ff9 100644 --- a/keyboards/mechlovin/adelais/standard_led/avr/rev1/info.json +++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/info.json @@ -10,10 +10,16 @@ {"pin_a": "C7", "pin_b": "C6"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "backlight": { "pin": "B5", "breathing": true }, + "rgblight": { + "led_count": 23 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/delphine/mono_led/config.h b/keyboards/mechlovin/delphine/mono_led/config.h index 61c495c889d..8349512ec5f 100644 --- a/keyboards/mechlovin/delphine/mono_led/config.h +++ b/keyboards/mechlovin/delphine/mono_led/config.h @@ -2,11 +2,6 @@ #pragma once #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 13 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/delphine/mono_led/info.json b/keyboards/mechlovin/delphine/mono_led/info.json index 7f775f8c363..7e665b38301 100644 --- a/keyboards/mechlovin/delphine/mono_led/info.json +++ b/keyboards/mechlovin/delphine/mono_led/info.json @@ -3,6 +3,12 @@ "pid": "0xDEF1", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/delphine/rgb_led/config.h b/keyboards/mechlovin/delphine/rgb_led/config.h index 7d9aa447f97..1e79908cd25 100644 --- a/keyboards/mechlovin/delphine/rgb_led/config.h +++ b/keyboards/mechlovin/delphine/rgb_led/config.h @@ -1,11 +1,6 @@ #pragma once #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 13 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/delphine/rgb_led/info.json b/keyboards/mechlovin/delphine/rgb_led/info.json index 3b9fb036e9d..dc604d5382e 100644 --- a/keyboards/mechlovin/delphine/rgb_led/info.json +++ b/keyboards/mechlovin/delphine/rgb_led/info.json @@ -3,6 +3,12 @@ "pid": "0xDEF2", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/foundation/config.h b/keyboards/mechlovin/foundation/config.h index cdcfe8572cd..701ca1705fd 100644 --- a/keyboards/mechlovin/foundation/config.h +++ b/keyboards/mechlovin/foundation/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 22 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -32,5 +27,3 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE - -#define TAP_CODE_DELAY 10 \ No newline at end of file diff --git a/keyboards/mechlovin/foundation/info.json b/keyboards/mechlovin/foundation/info.json index 7132ecb9536..54464510c86 100644 --- a/keyboards/mechlovin/foundation/info.json +++ b/keyboards/mechlovin/foundation/info.json @@ -18,10 +18,19 @@ {"pin_a": "C13", "pin_b": "C14"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "indicators": { "caps_lock": "A1", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "sleep": true + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/mechlovin/hannah60rgb/rev2/config.h b/keyboards/mechlovin/hannah60rgb/rev2/config.h index 81335f31be9..1b583f2a460 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/config.h +++ b/keyboards/mechlovin/hannah60rgb/rev2/config.h @@ -1,7 +1,6 @@ #pragma once #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 18 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -12,9 +11,6 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 #endif //rgb matrix setting// This is a 7-bit address, that gets left-shifted and bit 0 diff --git a/keyboards/mechlovin/hannah60rgb/rev2/info.json b/keyboards/mechlovin/hannah60rgb/rev2/info.json index 61ce6898c82..c81c908174f 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/info.json +++ b/keyboards/mechlovin/hannah60rgb/rev2/info.json @@ -8,6 +8,11 @@ "pid": "0x6002", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "A15" }, diff --git a/keyboards/mechlovin/hannah65/config.h b/keyboards/mechlovin/hannah65/config.h deleted file mode 100644 index 1686c861fb1..00000000000 --- a/keyboards/mechlovin/hannah65/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2020 Team Mechlovin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 diff --git a/keyboards/mechlovin/hannah910/rev1/config.h b/keyboards/mechlovin/hannah910/rev1/config.h deleted file mode 100644 index 7b793c75b91..00000000000 --- a/keyboards/mechlovin/hannah910/rev1/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RGBLED_NUM 9 \ No newline at end of file diff --git a/keyboards/mechlovin/hannah910/rev1/info.json b/keyboards/mechlovin/hannah910/rev1/info.json index 49eb2af5c10..0dea587cb50 100644 --- a/keyboards/mechlovin/hannah910/rev1/info.json +++ b/keyboards/mechlovin/hannah910/rev1/info.json @@ -17,6 +17,9 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/hannah910/rev2/config.h b/keyboards/mechlovin/hannah910/rev2/config.h deleted file mode 100644 index c37c581ae61..00000000000 --- a/keyboards/mechlovin/hannah910/rev2/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RGBLED_NUM 28 \ No newline at end of file diff --git a/keyboards/mechlovin/hannah910/rev2/info.json b/keyboards/mechlovin/hannah910/rev2/info.json index 43f6ab51a10..177831d1532 100644 --- a/keyboards/mechlovin/hannah910/rev2/info.json +++ b/keyboards/mechlovin/hannah910/rev2/info.json @@ -17,6 +17,9 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "led_count": 28 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/hannah910/rev3/config.h b/keyboards/mechlovin/hannah910/rev3/config.h deleted file mode 100644 index fbb878ab6aa..00000000000 --- a/keyboards/mechlovin/hannah910/rev3/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RGBLED_NUM 28 diff --git a/keyboards/mechlovin/hannah910/rev3/info.json b/keyboards/mechlovin/hannah910/rev3/info.json index d6b606913d3..df5a850bf57 100644 --- a/keyboards/mechlovin/hannah910/rev3/info.json +++ b/keyboards/mechlovin/hannah910/rev3/info.json @@ -17,6 +17,9 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "led_count": 28 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/hex4b/rev2/config.h b/keyboards/mechlovin/hex4b/rev2/config.h deleted file mode 100644 index 14dfffbed3a..00000000000 --- a/keyboards/mechlovin/hex4b/rev2/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2020 Team Mechlovin - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 BACKLIGHT_PWM_DRIVER PWMD4 diff --git a/keyboards/mechlovin/hex6c/config.h b/keyboards/mechlovin/hex6c/config.h index a22137acf7b..4cfcaebcdef 100644 --- a/keyboards/mechlovin/hex6c/config.h +++ b/keyboards/mechlovin/hex6c/config.h @@ -18,9 +18,6 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 - -#define TAP_CODE_DELAY 10 #define WEAR_LEVELING_BACKING_SIZE 4096 #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/mechlovin/hex6c/info.json b/keyboards/mechlovin/hex6c/info.json index 4ae471cb474..dfeb91e0bac 100644 --- a/keyboards/mechlovin/hex6c/info.json +++ b/keyboards/mechlovin/hex6c/info.json @@ -18,6 +18,9 @@ {"pin_a": "A15", "pin_b": "A2"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "backlight": { "pin": "B0", "breathing": true diff --git a/keyboards/mechlovin/infinity87/rev1/config.h b/keyboards/mechlovin/infinity87/rev1/config.h index 2265fff2d12..e21e5d019f7 100644 --- a/keyboards/mechlovin/infinity87/rev1/config.h +++ b/keyboards/mechlovin/infinity87/rev1/config.h @@ -17,4 +17,3 @@ #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 diff --git a/keyboards/mechlovin/infinity87/rev1/standard/config.h b/keyboards/mechlovin/infinity87/rev1/standard/config.h index 7b3e497cdf0..8427cb2140d 100644 --- a/keyboards/mechlovin/infinity87/rev1/standard/config.h +++ b/keyboards/mechlovin/infinity87/rev1/standard/config.h @@ -16,8 +16,6 @@ #pragma once -#define RGBLED_NUM 26 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/infinity87/rev1/standard/info.json b/keyboards/mechlovin/infinity87/rev1/standard/info.json index c83cad4b060..f042e947618 100644 --- a/keyboards/mechlovin/infinity87/rev1/standard/info.json +++ b/keyboards/mechlovin/infinity87/rev1/standard/info.json @@ -8,6 +8,10 @@ "pid": "0x8701", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 26, + "sleep": true + }, "ws2812": { "pin": "A15" }, diff --git a/keyboards/mechlovin/infinity87/rev2/config.h b/keyboards/mechlovin/infinity87/rev2/config.h index 851a9f860e9..a54086651c8 100644 --- a/keyboards/mechlovin/infinity87/rev2/config.h +++ b/keyboards/mechlovin/infinity87/rev2/config.h @@ -35,11 +35,6 @@ #define DIODE_DIRECTION ROW2COL #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/infinity87/rev2/info.json b/keyboards/mechlovin/infinity87/rev2/info.json index d3b5cfc3ca5..bb66e75f2e4 100644 --- a/keyboards/mechlovin/infinity87/rev2/info.json +++ b/keyboards/mechlovin/infinity87/rev2/info.json @@ -17,6 +17,12 @@ "num_lock": "D7", "scroll_lock": "B4" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/infinity88/config.h b/keyboards/mechlovin/infinity88/config.h index 40bcfcfeb96..5d7b823cd44 100644 --- a/keyboards/mechlovin/infinity88/config.h +++ b/keyboards/mechlovin/infinity88/config.h @@ -18,10 +18,7 @@ along with this program. If not, see . #pragma once #define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 -#define RGBLED_NUM 26 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/#define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/infinity88/info.json b/keyboards/mechlovin/infinity88/info.json index fdbb45a7d6a..d69b97712f3 100644 --- a/keyboards/mechlovin/infinity88/info.json +++ b/keyboards/mechlovin/infinity88/info.json @@ -21,6 +21,10 @@ "caps_lock": "A4", "num_lock": "A3" }, + "rgblight": { + "led_count": 26, + "sleep": true + }, "ws2812": { "pin": "A15" }, diff --git a/keyboards/mechlovin/infinityce/config.h b/keyboards/mechlovin/infinityce/config.h index 88c6c21dfa6..061ea19c092 100644 --- a/keyboards/mechlovin/infinityce/config.h +++ b/keyboards/mechlovin/infinityce/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 31 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/infinityce/info.json b/keyboards/mechlovin/infinityce/info.json index 1c49d541065..35cec0e6990 100644 --- a/keyboards/mechlovin/infinityce/info.json +++ b/keyboards/mechlovin/infinityce/info.json @@ -17,6 +17,9 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "led_count": 31 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/kanu/config.h b/keyboards/mechlovin/kanu/config.h index bfa29088903..c7bed0450a3 100644 --- a/keyboards/mechlovin/kanu/config.h +++ b/keyboards/mechlovin/kanu/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/kanu/info.json b/keyboards/mechlovin/kanu/info.json index 1e8dafd2d74..1ac79221b76 100644 --- a/keyboards/mechlovin/kanu/info.json +++ b/keyboards/mechlovin/kanu/info.json @@ -17,6 +17,9 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/kay60/config.h b/keyboards/mechlovin/kay60/config.h index bf5e80fc753..ae0aa6551b7 100644 --- a/keyboards/mechlovin/kay60/config.h +++ b/keyboards/mechlovin/kay60/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 22 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/kay60/info.json b/keyboards/mechlovin/kay60/info.json index 698247d76ba..50d9d409f3f 100644 --- a/keyboards/mechlovin/kay60/info.json +++ b/keyboards/mechlovin/kay60/info.json @@ -16,6 +16,12 @@ "indicators": { "caps_lock": "B0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/kay65/config.h b/keyboards/mechlovin/kay65/config.h index 1fb8123364e..ae0aa6551b7 100644 --- a/keyboards/mechlovin/kay65/config.h +++ b/keyboards/mechlovin/kay65/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 24 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/kay65/info.json b/keyboards/mechlovin/kay65/info.json index fbd556217ca..bb5fea24a96 100644 --- a/keyboards/mechlovin/kay65/info.json +++ b/keyboards/mechlovin/kay65/info.json @@ -17,6 +17,12 @@ "caps_lock": "D6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/mechlovin9/rev1/config.h b/keyboards/mechlovin/mechlovin9/rev1/config.h deleted file mode 100644 index 3686536dfb5..00000000000 --- a/keyboards/mechlovin/mechlovin9/rev1/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2021 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 . -*/ - -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 diff --git a/keyboards/mechlovin/olly/bb/config.h b/keyboards/mechlovin/olly/bb/config.h index e48a1c82a1b..5c86bf96044 100644 --- a/keyboards/mechlovin/olly/bb/config.h +++ b/keyboards/mechlovin/olly/bb/config.h @@ -35,8 +35,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS {D6, A5, A4, A3, A6} #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 24 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/mechlovin/olly/bb/info.json b/keyboards/mechlovin/olly/bb/info.json index c3b55f95d86..51ba7cdf5c5 100644 --- a/keyboards/mechlovin/olly/bb/info.json +++ b/keyboards/mechlovin/olly/bb/info.json @@ -12,6 +12,10 @@ "pin": "D4", "breathing": true }, + "rgblight": { + "led_count": 24, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/mechlovin/olly/jf/config.h b/keyboards/mechlovin/olly/jf/config.h index c028a045541..271830740bf 100644 --- a/keyboards/mechlovin/olly/jf/config.h +++ b/keyboards/mechlovin/olly/jf/config.h @@ -37,8 +37,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION ROW2COL -#define RGBLED_NUM 27 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/mechlovin/olly/jf/info.json b/keyboards/mechlovin/olly/jf/info.json index 0d49cb611a1..5152ece20db 100644 --- a/keyboards/mechlovin/olly/jf/info.json +++ b/keyboards/mechlovin/olly/jf/info.json @@ -17,6 +17,10 @@ "num_lock": "B1", "scroll_lock": "B2" }, + "rgblight": { + "led_count": 27, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/mechlovin/olly/octagon/config.h b/keyboards/mechlovin/olly/octagon/config.h index a1127f6aadb..14f4412796e 100644 --- a/keyboards/mechlovin/olly/octagon/config.h +++ b/keyboards/mechlovin/olly/octagon/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 26 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -29,9 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #endif #ifdef LED_MATRIX_ENABLE diff --git a/keyboards/mechlovin/olly/octagon/info.json b/keyboards/mechlovin/olly/octagon/info.json index 81893874e0d..90695c1bc82 100644 --- a/keyboards/mechlovin/olly/octagon/info.json +++ b/keyboards/mechlovin/olly/octagon/info.json @@ -8,6 +8,11 @@ "pid": "0xD750", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 26 + }, "ws2812": { "pin": "A7" }, diff --git a/keyboards/mechlovin/olly/orion/config.h b/keyboards/mechlovin/olly/orion/config.h index 9b3e98be719..d35228d7ec0 100644 --- a/keyboards/mechlovin/olly/orion/config.h +++ b/keyboards/mechlovin/olly/orion/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 24 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/olly/orion/info.json b/keyboards/mechlovin/olly/orion/info.json index ad792e81af4..e85b6c99969 100644 --- a/keyboards/mechlovin/olly/orion/info.json +++ b/keyboards/mechlovin/olly/orion/info.json @@ -18,6 +18,12 @@ "num_lock": "A13", "scroll_lock": "A14" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "sleep": true + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/mechlovin/pisces/config.h b/keyboards/mechlovin/pisces/config.h index 5cc93f2d91e..c7bed0450a3 100644 --- a/keyboards/mechlovin/pisces/config.h +++ b/keyboards/mechlovin/pisces/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 12 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/pisces/info.json b/keyboards/mechlovin/pisces/info.json index 84fdaefd21f..7a2f923a36d 100644 --- a/keyboards/mechlovin/pisces/info.json +++ b/keyboards/mechlovin/pisces/info.json @@ -19,6 +19,12 @@ "indicators": { "caps_lock": "B2" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/serratus/config.h b/keyboards/mechlovin/serratus/config.h index 1efbadfd299..5cf074deb89 100644 --- a/keyboards/mechlovin/serratus/config.h +++ b/keyboards/mechlovin/serratus/config.h @@ -39,11 +39,6 @@ along with this program. If not, see . #define DIODE_DIRECTION ROW2COL #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/serratus/info.json b/keyboards/mechlovin/serratus/info.json index 69a64066cd0..57a1d831fdd 100644 --- a/keyboards/mechlovin/serratus/info.json +++ b/keyboards/mechlovin/serratus/info.json @@ -17,6 +17,12 @@ "num_lock": "D7", "scroll_lock": "B4" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mechlovin/tmkl/config.h b/keyboards/mechlovin/tmkl/config.h index e604c6bcfad..03e3beacd0f 100644 --- a/keyboards/mechlovin/tmkl/config.h +++ b/keyboards/mechlovin/tmkl/config.h @@ -17,8 +17,5 @@ along with this program. If not, see . #pragma once -#define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/mechlovin/zed60/config.h b/keyboards/mechlovin/zed60/config.h index ebee58857b6..e53e0589d5e 100644 --- a/keyboards/mechlovin/zed60/config.h +++ b/keyboards/mechlovin/zed60/config.h @@ -18,15 +18,9 @@ along with this program. If not, see . #pragma once #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 22 #define WS2812_SPI SPID1 // default: SPID1 -#define WS2812_SPI_MOSI_PAL_MODE 5 // MOSI pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5 - -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +#define WS2812_SPI_MOSI_PAL_MODE 6 // MOSI pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/mechlovin/zed60/info.json b/keyboards/mechlovin/zed60/info.json index f02dfd89a5c..0ea84ac95c1 100644 --- a/keyboards/mechlovin/zed60/info.json +++ b/keyboards/mechlovin/zed60/info.json @@ -16,6 +16,12 @@ "indicators": { "caps_lock": "A4" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "sleep": true + }, "ws2812": { "pin": "A7", "driver": "spi" diff --git a/keyboards/4pplet/waffling80/rev_a/config.h b/keyboards/mechlovin/zed65/910/config.h similarity index 74% rename from keyboards/4pplet/waffling80/rev_a/config.h rename to keyboards/mechlovin/zed65/910/config.h index e42bb68b370..a5902fa9c1d 100644 --- a/keyboards/4pplet/waffling80/rev_a/config.h +++ b/keyboards/mechlovin/zed65/910/config.h @@ -1,5 +1,5 @@ /* -Copyright 2022 Stefan Sundin "4pplet" +Copyright 2023 Mechlovin' This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,10 +14,8 @@ GNU General 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 RGBLED_NUM 2 +#pragma once -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 +#define WS2812_SPI SPID1 // default: SPID1 +#define WS2812_SPI_MOSI_PAL_MODE 6 // MOSI pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5 diff --git a/keyboards/littlealby/mute/config.h b/keyboards/mechlovin/zed65/910/halconf.h similarity index 89% rename from keyboards/littlealby/mute/config.h rename to keyboards/mechlovin/zed65/910/halconf.h index 3a5b0356a94..e4ef339ffb8 100644 --- a/keyboards/littlealby/mute/config.h +++ b/keyboards/mechlovin/zed65/910/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2019 albybarber +/* Copyright 2023 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 @@ -13,8 +13,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 1 -#endif +#define HAL_USE_SPI TRUE + +#include_next + diff --git a/keyboards/mechlovin/zed65/910/info.json b/keyboards/mechlovin/zed65/910/info.json new file mode 100644 index 00000000000..7874c09e2dd --- /dev/null +++ b/keyboards/mechlovin/zed65/910/info.json @@ -0,0 +1,350 @@ +{ + "manufacturer": "Mechlovin Studio", + "url": "https://mechlovin.studio/", + "maintainer": "mechlovin", + "keyboard_name": "Zed65 910 Rev1", + "usb": { + "vid": "0x4D4C", + "pid": "0x6505", + "device_version": "0.0.1" + }, + "features": { + "backlight": false, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "rows": ["B15", "B14", "B13", "B12", "A1"], + "cols": ["B11", "B10", "B2", "B1", "B0", "A6", "A5", "A4", "A3", "C13", "B7", "B6", "B5", "B4", "B3"] + }, + "indicators": { + "caps_lock": "B9", + "on_state": 0 + }, + "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 4, + "sleep": true, + "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 + } + }, + "ws2812": { + "pin": "A7", + "driver": "spi" + }, + "layouts": { + "LAYOUT_65_iso_tsangan_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": [2, 12], "x": 14, "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": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [1, 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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "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, 13], "x": 14, "y": 3}, + {"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, "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, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_tsangan_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": [2, 12], "x": 14, "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, 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, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "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, 13], "x": 14, "y": 3}, + {"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, "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, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_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": [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, 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, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "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.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, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "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": [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, 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, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "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": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"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/mechlovin/zed65/910/keymaps/default/keymap.c b/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c new file mode 100644 index 00000000000..1c530e8420b --- /dev/null +++ b/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c @@ -0,0 +1,28 @@ +/* +Copyright 2023 Mechlovin' + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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_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_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_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, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; \ No newline at end of file diff --git a/keyboards/mechlovin/zed65/910/keymaps/via/keymap.c b/keyboards/mechlovin/zed65/910/keymaps/via/keymap.c new file mode 100644 index 00000000000..d41ff034722 --- /dev/null +++ b/keyboards/mechlovin/zed65/910/keymaps/via/keymap.c @@ -0,0 +1,29 @@ +/* +Copyright 2023 Mechlovin' + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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_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_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_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, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; + diff --git a/keyboards/mechlovin/zed65/910/keymaps/via/rules.mk b/keyboards/mechlovin/zed65/910/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/mechlovin/zed65/910/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/mechlovin/zed65/910/mcuconf.h b/keyboards/mechlovin/zed65/910/mcuconf.h new file mode 100644 index 00000000000..ab20db61c30 --- /dev/null +++ b/keyboards/mechlovin/zed65/910/mcuconf.h @@ -0,0 +1,23 @@ +/* Copyright 2023 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 . + */ + +#pragma once + +#include_next + + +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE diff --git a/keyboards/mechlovin/zed65/910/readme.md b/keyboards/mechlovin/zed65/910/readme.md new file mode 100644 index 00000000000..7a207e2b448 --- /dev/null +++ b/keyboards/mechlovin/zed65/910/readme.md @@ -0,0 +1,28 @@ +# zed65 + +![Zed65](https://i.imgur.com/PevF9snh.png) + +A 65% PCB, APM32F103. + +* Keyboard Maintainer: [Mechlovin](https://github.com/mechlovin) +* Hardware Supported: TGRxGSK 910 +* Hardware Availability: [Mechlovin' Studio](https://mechlovin.studio/) + +Make example for this keyboard (after setting up your build environment): + + make mechlovin/zed65/910:default + +Flashing example for this keyboard: + + make mechlovin/zed65/910: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 4 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 +* **Bootloader reset**: Hold down the key at (0,13) in the matrix (usually the Back Space) 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/mechlovin/zed65/910/rules.mk b/keyboards/mechlovin/zed65/910/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/mechlovin/zed65/910/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/mechlovin/zed65/mono_led/config.h b/keyboards/mechlovin/zed65/mono_led/config.h index 9806ec92d61..efaea9b16fe 100644 --- a/keyboards/mechlovin/zed65/mono_led/config.h +++ b/keyboards/mechlovin/zed65/mono_led/config.h @@ -61,11 +61,6 @@ along with this program. If not, see . #define VIA_QMK_LED_MATRIX_ENABLE #endif -# define RGBLED_NUM 24 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/zed65/mono_led/info.json b/keyboards/mechlovin/zed65/mono_led/info.json index c2133902cee..72fc0ecf878 100644 --- a/keyboards/mechlovin/zed65/mono_led/info.json +++ b/keyboards/mechlovin/zed65/mono_led/info.json @@ -8,6 +8,12 @@ "pid": "0x6503", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "sleep": true + }, "ws2812": { "pin": "A7" }, diff --git a/keyboards/mechlovin/zed65/no_backlight/retro66/info.json b/keyboards/mechlovin/zed65/no_backlight/retro66/info.json index 79190905638..0709014f76b 100644 --- a/keyboards/mechlovin/zed65/no_backlight/retro66/info.json +++ b/keyboards/mechlovin/zed65/no_backlight/retro66/info.json @@ -19,6 +19,9 @@ {"pin_a": "B6", "pin_b": "B9"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "indicators": { "caps_lock": "C14" }, diff --git a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/config.h b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/config.h index 9f668f2c479..1dd70424cce 100644 --- a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/config.h +++ b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/config.h @@ -18,16 +18,10 @@ along with this program. If not, see . #pragma once #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 24 #define WS2812_SPI SPID2 // default: SPID1 #define WS2812_SPI_MOSI_PAL_MODE 0 // MOSI pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/info.json b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/info.json index 264d20504c6..73f2347cb11 100644 --- a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/info.json +++ b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/info.json @@ -16,6 +16,12 @@ "indicators": { "caps_lock": "C14" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "sleep": true + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/mechlovin/zed65/rev1/info.json b/keyboards/mechlovin/zed65/rev1/info.json index 869564c6716..20f04dbe655 100644 --- a/keyboards/mechlovin/zed65/rev1/info.json +++ b/keyboards/mechlovin/zed65/rev1/info.json @@ -41,9 +41,27 @@ "pin": "A7", "driver": "spi" }, - "community_layouts": ["65_ansi_blocker_tsangan"], + "community_layouts": [ + "65_ansi", + "65_ansi_split_bs", + "65_ansi_blocker", + "65_ansi_blocker_split_bs", + "65_ansi_blocker_tsangan", + "65_ansi_blocker_tsangan_split_bs", + "65_iso", + "65_iso_split_bs", + "65_iso_blocker", + "65_iso_blocker_split_bs", + "65_iso_blocker_tsangan", + "65_iso_blocker_tsangan_split_bs" + ], + "layout_aliases": { + "LAYOUT_65_ansi_tsangan": "LAYOUT_65_ansi", + "LAYOUT_65_iso_tsangan_split_bs": "LAYOUT_65_iso_split_bs", + "LAYOUT_65_ansi_tsangan_split_bs": "LAYOUT_65_ansi_split_bs" + }, "layouts": { - "LAYOUT_65_iso_tsangan_split_bs": { + "LAYOUT_65_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -58,8 +76,7 @@ {"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": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, {"matrix": [0, 14], "x": 15, "y": 0}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, @@ -75,7 +92,7 @@ {"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": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, {"matrix": [1, 14], "x": 15, "y": 1}, {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, @@ -90,11 +107,10 @@ {"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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, {"matrix": [2, 14], "x": 15, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"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}, @@ -121,7 +137,7 @@ {"matrix": [4, 14], "x": 15, "y": 4} ] }, - "LAYOUT_65_ansi_tsangan_split_bs": { + "LAYOUT_65_ansi_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -171,8 +187,7 @@ {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, {"matrix": [2, 14], "x": 15, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"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}, @@ -199,7 +214,7 @@ {"matrix": [4, 14], "x": 15, "y": 4} ] }, - "LAYOUT_65_ansi_tsangan": { + "LAYOUT_65_ansi_blocker": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -264,18 +279,92 @@ {"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, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4, 9], "x": 10, "y": 4}, - {"matrix": [4, 10], "x": 11, "y": 4}, - {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 11.25, "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_blocker_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": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 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": [1, 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, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "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.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 11.25, "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_blocker_tsangan": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -340,6 +429,540 @@ {"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": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_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": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 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": [1, 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, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "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": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso": { + "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, 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, 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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "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, 13], "x": 14, "y": 3}, + {"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, "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, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_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": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 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, 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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "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, 13], "x": 14, "y": 3}, + {"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, "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, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "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, 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, 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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "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, 13], "x": 14, "y": 3}, + {"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, "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, 9], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 11.25, "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_iso_blocker_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": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 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, 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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "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, 13], "x": 14, "y": 3}, + {"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, "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, 9], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 11.25, "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_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, 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, 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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "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, 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": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_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": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 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, 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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "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, 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}, diff --git a/keyboards/mechlovin/zed65/rev1/keymaps/default/keymap.c b/keyboards/mechlovin/zed65/rev1/keymaps/default/keymap.c index 7a922d6b850..1929a0084c2 100644 --- a/keyboards/mechlovin/zed65/rev1/keymaps/default/keymap.c +++ b/keyboards/mechlovin/zed65/rev1/keymaps/default/keymap.c @@ -18,11 +18,11 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_ansi_tsangan_split_bs( + [0] = 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_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, KC_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_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_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 ) -}; \ No newline at end of file +}; diff --git a/keyboards/mechlovin/zed65/rev1/keymaps/via/keymap.c b/keyboards/mechlovin/zed65/rev1/keymaps/via/keymap.c index 333f14ec70e..a3ab29005f8 100644 --- a/keyboards/mechlovin/zed65/rev1/keymaps/via/keymap.c +++ b/keyboards/mechlovin/zed65/rev1/keymaps/via/keymap.c @@ -18,11 +18,11 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_ansi_tsangan_split_bs( + [0] = 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_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, KC_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_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_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 ) }; diff --git a/keyboards/mechlovin/zed65/rev1/matrix_diagram.md b/keyboards/mechlovin/zed65/rev1/matrix_diagram.md new file mode 100644 index 00000000000..6af22df46c7 --- /dev/null +++ b/keyboards/mechlovin/zed65/rev1/matrix_diagram.md @@ -0,0 +1,36 @@ +# Matrix Diagram for Mechlovin Studio Zed65 Rev1 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │1E │ │1D │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2D ├───┤ ┌──┴─────┤ ANSI Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1D │ │2E │ │2D │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ └────────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ +│40 │41 │42 │46 │49 │4A │4B │4C │4D │4E │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┬─────┬───────────────────────────┬───┬───┬───┐ +│40 │41 │46 │49 │4A │4B │ LWKL +└─────┴─────┴───────────────────────────┴───┴───┴───┘ +┌────┬────┬────┬────────────────────────┬─────┬─────┐ +│40 │41 │42 │46 │49 │4A │ RWKL +└────┴────┴────┴────────────────────────┴─────┴─────┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│40 │41 │46 │49 │4A │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +┌────┬────┬────┬────────────────────────┬────┬────┐ +│40 │41 │42 │46 │49 │4A │ Blocker +└────┴────┴────┴────────────────────────┴────┴────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │46 │4A │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` diff --git a/keyboards/mechstudio/ud_40_ortho/config.h b/keyboards/mechstudio/ud_40_ortho/config.h index 4dea48a8782..2c35fe5fdb1 100644 --- a/keyboards/mechstudio/ud_40_ortho/config.h +++ b/keyboards/mechstudio/ud_40_ortho/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechstudio/ud_40_ortho/info.json b/keyboards/mechstudio/ud_40_ortho/info.json index fe386149659..e2eb8f36f9e 100644 --- a/keyboards/mechstudio/ud_40_ortho/info.json +++ b/keyboards/mechstudio/ud_40_ortho/info.json @@ -17,6 +17,12 @@ "esc_input": "B7", "esc_output": "F0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/mechwild/bde/rev2/keymaps/miketronic/config.h b/keyboards/mechwild/bde/rev2/keymaps/miketronic/config.h new file mode 100644 index 00000000000..658c829f048 --- /dev/null +++ b/keyboards/mechwild/bde/rev2/keymaps/miketronic/config.h @@ -0,0 +1,10 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once + +# define TAPPING_TERM 160 +# define TAPPING_TERM_PER_KEY +# define HOLD_ON_OTHER_KEY_PRESS +# define QUICK_TAP_TERM TAPPING_TERM / 2 +# define QUICK_TAP_TERM_PER_KEY diff --git a/keyboards/mechwild/bde/rev2/keymaps/miketronic/keymap.c b/keyboards/mechwild/bde/rev2/keymaps/miketronic/keymap.c new file mode 100644 index 00000000000..e8a26fd28a2 --- /dev/null +++ b/keyboards/mechwild/bde/rev2/keymaps/miketronic/keymap.c @@ -0,0 +1,221 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#include "miketronic.h" + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* WORKMAN + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + * │ Q │ D │ R │ W │ B │ 7 │ 8 │ 9 │ J │ F │ U │ P │ BSPC│BSPC │ + * │ ESC │ │ │ │ SYM │ │ │ │ SYM │ │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┼─────┼─────┼─────┼─────╆━━━━━╅─────┼─────┼─────┼─────┤ + * │ A │ S │ H ┃ T ┃ G │ 4 │ 5 │ 6 │ Y ┃ N ┃ E │ O │ I │UP │ + * │SHIFT│ │ ┃ EX ┃ │ │ │ │ ┃ ┃ │ │ │RIGHT│ + * ├─────┼─────┼─────╄━━━━━╃─────┼─────┼─────┼─────┼─────╄━━━━━╃─────┼─────┼─────┼─────┤ + * │ Z │ X │ M │ C │ V │ 1 │ 2 │ 3 │ K │ L │ SPC │ SPC │ENTER│DOWN │ + * │ FN │ CTRL│ OS │ ALT │LOWER│ │ 0 │ │RAISE│RAISE│ │ │ │LEFT │ + * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + * + */ + + [_WM] = LAYOUT_3x14_wrapper ( + _____________WORKMAN_310_001_L_____________, _________NUMBER_01__________, _____________WORKMAN_310_001_R_____________, KC_BSPC, + _____________WORKMAN_310_002_L_____________, _________NUMBER_02__________, _____________WORKMAN_310_002_R_____________, TD_UR, + _____________WORKMAN_310_003_L_____________, _________NUMBER_03__________, _____________WORKMAN_310_003_R_____________, TD_DL + ), + + [_QW] = LAYOUT_3x14_wrapper ( + _________________QWERTY_L1_________________, _________NUMBER_01__________, _________________QWERTY_R1_________________, KC_MUTE, + _________________QWERTY_L2_________________, _________NUMBER_02__________, _________________QWERTY_R2_________________, TD_UR, + _________________QWERTY_L3_________________, _________NUMBER_03__________, _________________QWERTY_R3_________________, TD_DL + ), + + + /* LOWER + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + * │ () │ [] │ /\ │ │ │ │ 7 │ 8 │ 9 │ 0 │ │ │ │LEAD │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┼─────╆━━━━━╅─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ @ # │ & % │ ┃ ┃ │ ┃ 4 ┃ 5 │ 6 │ │ │ │ │ │ + * │ │ │ ┃ ┃ │ ┃ ┃ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╄━━━━━╃─────┼─────╄━━━━━╃─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ 0 │ 1 │ 2 │ 3 │ . │ │ │ │ │ + * │ │ │ │ │LOWER│ │ │ 0 │ │ ENT │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + * + */ + + [_LOWER] = LAYOUT_3x14_wrapper ( + _______________LOWER_310_L1________________, _________NUMBER_01__________, _______________LOWER_310_R1________________, QK_LEAD, + _______________LOWER_310_L2________________, _________NUMBER_02__________, _______________LOWER_310_R2________________, TD_UR, + _______________LOWER_310_L3________________, _________NUMBER_03__________, _______________LOWER_310_R3________________, TD_DL + ), + + + /* RAISE + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + * │ BOOT│DEBUG│ │ │ MAKE│ │ F7 │ F8 │ F9 │ F10 │ │ │ │LEAD │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┼─────╆━━━━━╅─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ RGB │ RGB ┃ RGB ┃ RGB │ _ ┃ F4 ┃ F5 │ F6 │ F11 │ │ │ │ │ + * │ │ TOG │ MOD ┃ HUI ┃ HUD │ - ┃ ┃ _ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╄━━━━━╃─────┼─────╄━━━━━╃─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ RGB │ RGB │ RGB │ RGB │RAISE│ F1 │ F2 │ F3 │ F12 │ │ │ │ │ + * │ │ SAI │ SAD │ VAI │ VAD │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + * + */ + + [_RAISE] = LAYOUT_3x14_wrapper ( + _______________RAISE_310_L1________________, _________NUMBER_01__________, _______________RAISE_310_R1________________, QK_LEAD, + _______________RAISE_310_L2________________, _________NUMBER_02__________, _______________RAISE_310_R2________________, TD_UR, + _______________RAISE_310_L3________________, _________NUMBER_03__________, _______________RAISE_310_R3________________, TD_DL + ), + + + /* EXTRAS + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + * │ ! │ │ │ │ │ │ /\ | () | [] | ; │ │ │ │LEAD │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┼─────╆━━━━━╅─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ ┃EXTRA┃ │ ┃ @ # ┃ & % | | ' | │ │ │ │ + * │ │ │ ┃ ┃ │ ┃ ┃ _ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╄━━━━━╃─────┼─────╄━━━━━╃─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ , | . | ? │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + + [_EX] = LAYOUT_3x14_wrapper ( + ______________EXTRAS_310_L1________________, _________NUMBER_01__________, ______________EXTRAS_310_R1________________, QK_LEAD, + ______________EXTRAS_310_L2________________, _________NUMBER_02__________, ______________EXTRAS_310_R2________________, TD_UR, + ______________EXTRAS_310_L3________________, _________NUMBER_03__________, ______________EXTRAS_310_R3________________, TD_DL +), + + + /* FUNCTION + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + * │COPY │CLIP │ SS │ │ │ │ │ │ | /\ │ UP │ │ DEL │LEAD │ + * │PASTE│ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┼─────┼─────┼─────┼─────╆━━━━━╅─────┼─────┼─────┼─────┤ + * │SHIFT│ M05 │ M06 ┃ M07 ┃ M08 │ │ │ │ ┃ LEFT┃ DOWN│RIGHT│ │ UP │ + * │ │ │ ┃ ┃ │ │ │ │ ┃ ┃ │ │ │RIGHT│ + * ├─────┼─────┼─────╄━━━━━╃─────┼─────┼─────┼─────┼─────╄━━━━━╃─────┼─────┼─────┼─────┤ + * │ │ M01 │ M02 │ M03 │ M04 │ │ │ | | │ , │ . │ │DOWN │ + * │ FN │ │ │ │ │ │ │ │ │ │ │ │ │LEFT │ + * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + + [_FN] = LAYOUT_3x14_wrapper ( + _____________FUNCTION_310_L1_______________, _________NUMBER_01__________, _____________FUNCTION_310_R1_______________, QK_LEAD, + _____________FUNCTION_310_L2_______________, _________NUMBER_02__________, _____________FUNCTION_310_R2_______________, TD_UR, + _____________FUNCTION_310_L3_______________, _________NUMBER_03__________, _____________FUNCTION_310_R3_______________, TD_DL + ), + + + + /* SYMBOLS + * ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐ + * │ $ │ ^ │ < │ > │ │ │ │ | │ [ │ ] │ - │ + * │ │ │ │ │ SYMB│ │ SYMB│ │ │ │ │ + * ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤ + * │ % │ : │ ; ┃ + ┃ = │ │ ┃ ┃ ( │ ) │ _ │ + * │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ + * ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤ + * │ & │ ' │ " │ * │ # │ │ ! │ ? │ / │ \ │ @ │ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘ + */ + + [_SYMB] = LAYOUT_3x14_wrapper ( + _____________SYMBOLS_310_L1________________, _________NUMBER_01__________, _____________SYMBOLS_310_R1________________, QK_LEAD, + _____________SYMBOLS_310_L2________________, _________NUMBER_02__________, _____________SYMBOLS_310_R2________________, TD_UR, + _____________SYMBOLS_310_L3________________, _________NUMBER_03__________, _____________SYMBOLS_310_R3________________, TD_DL + ), + + + +}; + + +#ifndef NUM_DIRECTIONS +# define NUM_DIRECTIONS 2 +#endif +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_WM] = { ENCODER_CCW_CW(LCTL(KC_V), LCTL(KC_C)) }, + [_QW] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(____, ____) }, + [_RAISE] = { ENCODER_CCW_CW(____, ____) }, + [_EX] = { ENCODER_CCW_CW(____, ____) }, + [_FN] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) }, + [_SYMB] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif + +bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SFT_T(KC_A): + // Do not force the mod-tap key press to be handled as a modifier + // if any other key was pressed while the mod-tap key is held down. + return false; + case TEX: + return false; + case CTRLX: + return false; + case FNZ: + return false; + case MGUI: + return false; + case VLOWER: + return false; + case KRAISE: + return false; + default: + // Force the dual-role key press to be handled as a modifier if any + // other key was pressed while the mod-tap key is held down. + return true; + } +} + +#ifdef AUDIO_ENABLE +float leader_start_song[][2] = SONG(ONE_UP_SOUND); +float leader_succeed_song[][2] = SONG(ALL_STAR); +float leader_fail_song[][2] = SONG(RICK_ROLL); +#endif + +void matrix_scan_user(void); + +void leader_start_user(void) { +#ifdef AUDIO_ENABLE + PLAY_SONG(leader_start_song); +#endif +} + +bool did_leader_succeed; + +void leader_end_user(void) { + did_leader_succeed = false; + + if (leader_sequence_one_key(KC_E)) { + SEND_STRING(SS_LCTL(SS_LSFT("t"))); + did_leader_succeed = true; + } else if (leader_sequence_two_keys(KC_E, KC_D)) { + SEND_STRING(SS_LGUI("r") "cmd\n" SS_LCTL("c")); + did_leader_succeed = true; + } else if (leader_sequence_two_keys(KC_A, KC_T)) { + SEND_STRING("@guidehouse.com"); + did_leader_succeed = true; + } + + +#ifdef AUDIO_ENABLE + if (did_leader_succeed) { + PLAY_SONG(leader_succeed_song); + } else { + PLAY_SONG(leader_fail_song); + } +#endif +} \ No newline at end of file diff --git a/keyboards/mechwild/bde/rev2/keymaps/miketronic/rules.mk b/keyboards/mechwild/bde/rev2/keymaps/miketronic/rules.mk new file mode 100644 index 00000000000..540fbaecb22 --- /dev/null +++ b/keyboards/mechwild/bde/rev2/keymaps/miketronic/rules.mk @@ -0,0 +1,13 @@ +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +EXTRAKEY_ENABLE = yes # Audio control and System control +TAP_DANCE_ENABLE = yes # Tap Dance keys +NKRO_ENABLE = yes # Enable N-Key Rollover +MACROS_ENABLED = yes +LEADER_ENABLE = yes + +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes +OLED_ENABLE = yes # Enable OLED Screen +OLED_DRIVER = SSD1306 # Set OLED Driver + +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow \ No newline at end of file diff --git a/keyboards/mechwild/mercutio/config.h b/keyboards/mechwild/mercutio/config.h index f9f13d9ac0d..7a7d9cfd15b 100755 --- a/keyboards/mechwild/mercutio/config.h +++ b/keyboards/mechwild/mercutio/config.h @@ -17,8 +17,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - /* Define custom font */ #define OLED_FONT_H "lib/mercutiofont.c" diff --git a/keyboards/mechwild/mercutio/info.json b/keyboards/mechwild/mercutio/info.json index f4b1fa141a6..796d22e3639 100644 --- a/keyboards/mechwild/mercutio/info.json +++ b/keyboards/mechwild/mercutio/info.json @@ -18,6 +18,9 @@ {"pin_a": "B4", "pin_b": "B5"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega328p", "bootloader": "usbasploader", "layouts": { diff --git a/keyboards/mechwild/mokulua/mirrored/config.h b/keyboards/mechwild/mokulua/mirrored/config.h index 29100a303fa..3e746d86158 100644 --- a/keyboards/mechwild/mokulua/mirrored/config.h +++ b/keyboards/mechwild/mokulua/mirrored/config.h @@ -3,24 +3,16 @@ #pragma once -#define TAP_CODE_DELAY 10 - #define OLED_FONT_H "keyboards/mechwild/mokulua/glcdfont.c" #define MASTER_LEFT //#define MASTER_RIGHT -#define RGBLIGHT_SPLIT #define SPLIT_LAYER_STATE_ENABLE #define SPLIT_LED_STATE_ENABLE #define SPLIT_MODS_ENABLE #define SPLIT_OLED_ENABLE /* RGB options */ -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== choose RGB animations ==*/ //# define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/mechwild/mokulua/mirrored/info.json b/keyboards/mechwild/mokulua/mirrored/info.json index 4bba231daf7..efdab99de75 100644 --- a/keyboards/mechwild/mokulua/mirrored/info.json +++ b/keyboards/mechwild/mokulua/mirrored/info.json @@ -18,10 +18,17 @@ {"pin_a": "D2", "pin_b": "B2"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "split": { "soft_serial_pin": "D3" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true, "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/mechwild/mokulua/standard/config.h b/keyboards/mechwild/mokulua/standard/config.h index 14afeae3421..681c235764a 100644 --- a/keyboards/mechwild/mokulua/standard/config.h +++ b/keyboards/mechwild/mokulua/standard/config.h @@ -3,24 +3,16 @@ #pragma once -#define TAP_CODE_DELAY 10 - #define OLED_FONT_H "keyboards/mechwild/mokulua/glcdfont.c" #define MASTER_LEFT //#define MASTER_RIGHT -#define RGBLIGHT_SPLIT #define SPLIT_LAYER_STATE_ENABLE #define SPLIT_LED_STATE_ENABLE #define SPLIT_MODS_ENABLE #define SPLIT_OLED_ENABLE /* RGB options */ -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== choose RGB animations ==*/ //# define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/mechwild/mokulua/standard/info.json b/keyboards/mechwild/mokulua/standard/info.json index b6dbf6186be..d634df9ee79 100644 --- a/keyboards/mechwild/mokulua/standard/info.json +++ b/keyboards/mechwild/mokulua/standard/info.json @@ -18,10 +18,17 @@ {"pin_a": "D2", "pin_b": "B2"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "split": { "soft_serial_pin": "D3" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true, "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/mechwild/murphpad/config.h b/keyboards/mechwild/murphpad/config.h index 000ad097683..3f3be7d4848 100644 --- a/keyboards/mechwild/murphpad/config.h +++ b/keyboards/mechwild/murphpad/config.h @@ -17,15 +17,8 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 - #define OLED_FONT_H "keyboards/mechwild/murphpad/lib/murphpadfont.c" -# define RGBLED_NUM 8 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechwild/murphpad/info.json b/keyboards/mechwild/murphpad/info.json index 29247492cae..307cb5e13e6 100644 --- a/keyboards/mechwild/murphpad/info.json +++ b/keyboards/mechwild/murphpad/info.json @@ -19,9 +19,18 @@ {"pin_a": "D2", "pin_b": "D3"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "bootmagic": { "matrix": [0, 1] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/mechwild/obe/config.h b/keyboards/mechwild/obe/config.h index 300bb16ef56..98bad4a6157 100644 --- a/keyboards/mechwild/obe/config.h +++ b/keyboards/mechwild/obe/config.h @@ -17,14 +17,7 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 - /* RGB settings, uncomment this define to enable RGB */ -# define RGBLED_NUM 10 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechwild/obe/info.json b/keyboards/mechwild/obe/info.json index f529efd1e6a..dbf7e6ddafd 100644 --- a/keyboards/mechwild/obe/info.json +++ b/keyboards/mechwild/obe/info.json @@ -18,6 +18,9 @@ {"pin_a": "B5", "pin_b": "B4"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "indicators": { "caps_lock": "B9", "num_lock": "B8" @@ -25,6 +28,12 @@ "bootmagic": { "matrix": [5, 4] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "A0" }, diff --git a/keyboards/mechwild/puckbuddy/config.h b/keyboards/mechwild/puckbuddy/config.h index 1df6c97bea1..1ca7ed1204e 100644 --- a/keyboards/mechwild/puckbuddy/config.h +++ b/keyboards/mechwild/puckbuddy/config.h @@ -13,11 +13,6 @@ /* set the tapping term for glidepoint pad to register a tap click */ //#define CIRQUE_PINNACLE_TAPPING_TERM 0 // This is set to 0 to disable it -/* TAPPING_TERM value is used for the CIRQUE_PINNACLE_TAPPING_TERM as well by default - * defining it this way allows us to easily modify it with DYNAMIC_TAPPING_TERM_ENABLE - */ -#define TAPPING_TERM 0 - /* spi config */ #define SPI_DRIVER SPID1 #define SPI_SCK_PIN A5 @@ -29,14 +24,7 @@ #define CIRQUE_PINNACLE_SPI_DIVISOR 8 #define CIRQUE_PINNACLE_SPI_CS_PIN A4 -#define TAP_CODE_DELAY 10 - /* RGB settings, uncomment this define to enable RGB */ -# define RGBLED_NUM 3 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechwild/puckbuddy/info.json b/keyboards/mechwild/puckbuddy/info.json index b8e653be6be..9586cd075cb 100644 --- a/keyboards/mechwild/puckbuddy/info.json +++ b/keyboards/mechwild/puckbuddy/info.json @@ -19,10 +19,22 @@ {"pin_a": "B3", "pin_b": "A15"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "indicators": { "caps_lock": "C13", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 3, + "sleep": true + }, + "tapping": { + "term": 0 + }, "ws2812": { "pin": "A3" }, diff --git a/keyboards/mechwild/sugarglider/config.h b/keyboards/mechwild/sugarglider/config.h index 1512cc1528b..75aa26956cf 100644 --- a/keyboards/mechwild/sugarglider/config.h +++ b/keyboards/mechwild/sugarglider/config.h @@ -19,10 +19,6 @@ /* allows the "key" button on the blackpill to toggle caps lock for user testing before soldering */ #define DIP_SWITCH_PINS { A0 } -/* TAPPING_TERM value is used for the CIRQUE_PINNACLE_TAPPING_TERM as well by default - * defining it this way allows us to easily modify it with DYNAMIC_TAPPING_TERM_ENABLE - */ -#define TAPPING_TERM 0 #define CIRQUE_PINNACLE_TAP_ENABLE #define POINTING_DEVICE_GESTURES_SCROLL_ENABLE diff --git a/keyboards/mechwild/sugarglider/info.json b/keyboards/mechwild/sugarglider/info.json index 046776be491..f8439dde110 100644 --- a/keyboards/mechwild/sugarglider/info.json +++ b/keyboards/mechwild/sugarglider/info.json @@ -42,9 +42,15 @@ "twinkle": true } }, + "tapping": { + "term": 0 + }, "ws2812": { "pin": "B5" }, + "build": { + "debounce_type": "sym_eager_pk" + }, "encoder": { "rotary": [ {"pin_a": "B0", "pin_b": "A2", "resolution": 4}, diff --git a/keyboards/mechwild/sugarglider/rules.mk b/keyboards/mechwild/sugarglider/rules.mk index acf0b6f1f4c..05ac15827cf 100644 --- a/keyboards/mechwild/sugarglider/rules.mk +++ b/keyboards/mechwild/sugarglider/rules.mk @@ -11,7 +11,6 @@ DYNAMIC_TAPPING_TERM_ENABLE = yes # Enable Dynamic Tapping Term to # Custom matrix setup CUSTOM_MATRIX = lite -DEBOUNCE_TYPE = sym_eager_pk VPATH += drivers/gpio SRC += mcp23018.c matrix.c diff --git a/keyboards/mechwild/waka60/config.h b/keyboards/mechwild/waka60/config.h index 21e197df4cc..98bad4a6157 100644 --- a/keyboards/mechwild/waka60/config.h +++ b/keyboards/mechwild/waka60/config.h @@ -17,14 +17,7 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 - /* RGB settings, uncomment this define to enable RGB */ -# define RGBLED_NUM 3 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mechwild/waka60/info.json b/keyboards/mechwild/waka60/info.json index 1014411ba02..e33dd5a0102 100644 --- a/keyboards/mechwild/waka60/info.json +++ b/keyboards/mechwild/waka60/info.json @@ -8,6 +8,12 @@ "pid": "0x1709", "device_version": "1.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 3, + "sleep": true + }, "ws2812": { "pin": "A1" }, @@ -21,6 +27,9 @@ {"pin_a": "A3", "pin_b": "A2"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/mecxlabs/mp1/rules.mk b/keyboards/mecxlabs/mp1/rules.mk index ee2a7c0d6a9..0ab54aaaf71 100644 --- a/keyboards/mecxlabs/mp1/rules.mk +++ b/keyboards/mecxlabs/mp1/rules.mk @@ -1,4 +1,2 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/mehkee96/config.h b/keyboards/mehkee96/config.h index e5f456306d9..12e4413a7a6 100644 --- a/keyboards/mehkee96/config.h +++ b/keyboards/mehkee96/config.h @@ -1,6 +1,5 @@ #pragma once -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mehkee96/info.json b/keyboards/mehkee96/info.json index f192bb50363..45d6758a79d 100644 --- a/keyboards/mehkee96/info.json +++ b/keyboards/mehkee96/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/meletrix/zoom65/info.json b/keyboards/meletrix/zoom65/info.json index 30e4962a294..59de004989f 100644 --- a/keyboards/meletrix/zoom65/info.json +++ b/keyboards/meletrix/zoom65/info.json @@ -43,9 +43,7 @@ {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0}, {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [4, 3], "x": 15, "y": 0, "w": 0.5}, {"matrix": [0, 14], "x": 15.5, "y": 0}, - {"matrix": [4, 5], "x": 16.5, "y": 0, "w": 0.5}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, diff --git a/keyboards/meletrix/zoom65/keymaps/default/keymap.c b/keyboards/meletrix/zoom65/keymaps/default/keymap.c index 3eab5dabb07..b96eff2257f 100644 --- a/keyboards/meletrix/zoom65/keymaps/default/keymap.c +++ b/keyboards/meletrix/zoom65/keymaps/default/keymap.c @@ -18,14 +18,14 @@ 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_VOLD, KC_MUTE, KC_VOLU, + 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_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_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_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_SPC, 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_MPRV, KC_MPLY, KC_MNXT, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, diff --git a/keyboards/meletrix/zoom65/keymaps/via/keymap.c b/keyboards/meletrix/zoom65/keymaps/via/keymap.c index 62e10541c25..f593d408d51 100644 --- a/keyboards/meletrix/zoom65/keymaps/via/keymap.c +++ b/keyboards/meletrix/zoom65/keymaps/via/keymap.c @@ -18,31 +18,40 @@ 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_VOLD, KC_MUTE, KC_VOLU, + 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_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_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_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_SPC, 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_MPRV, KC_MPLY, KC_MNXT, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; + +#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(KC_MPRV, KC_MNXT) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/meletrix/zoom65/keymaps/via/rules.mk b/keyboards/meletrix/zoom65/keymaps/via/rules.mk index 43061db1dd4..1189f4ad192 100644 --- a/keyboards/meletrix/zoom65/keymaps/via/rules.mk +++ b/keyboards/meletrix/zoom65/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/meletrix/zoom65/zoom65.c b/keyboards/meletrix/zoom65/zoom65.c deleted file mode 100644 index 10b48c7b2db..00000000000 --- a/keyboards/meletrix/zoom65/zoom65.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright 2021 meletrix - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public 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" - -#ifdef VIA_ENABLE -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) -{ - for (int index = 0; index < NUM_ENCODERS; ++index) - { - if (encoder_state[index]) - { - keyevent_t encoder_event = (keyevent_t){ - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} -void encoder_action_register(uint8_t index, bool clockwise) -{ - keyevent_t encoder_event = (keyevent_t){ - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) -{ - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) -{ - encoder_action_register(index, clockwise); - return true; -}; -#endif diff --git a/keyboards/meletrix/zoom65_lite/config.h b/keyboards/meletrix/zoom65_lite/config.h deleted file mode 100644 index e5cc1f3e5b7..00000000000 --- a/keyboards/meletrix/zoom65_lite/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2021 meletrix - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -// Note: array is { col, row ) -#define ENCODERS_CW_KEY { { 5, 4 } } -#define ENCODERS_CCW_KEY { { 3, 4 } } diff --git a/keyboards/meletrix/zoom65_lite/info.json b/keyboards/meletrix/zoom65_lite/info.json index b8b59a487da..932dc8571e2 100644 --- a/keyboards/meletrix/zoom65_lite/info.json +++ b/keyboards/meletrix/zoom65_lite/info.json @@ -43,9 +43,7 @@ {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0}, {"matrix": [2, 13], "x": 14, "y": 0}, - {"matrix": [4, 3], "x": 15, "y": 0, "w": 0.5}, {"matrix": [0, 14], "x": 15.5, "y": 0}, - {"matrix": [4, 5], "x": 16.5, "y": 0, "w": 0.5}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, diff --git a/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c index 9d9aa675576..b96eff2257f 100644 --- a/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c +++ b/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c @@ -18,14 +18,14 @@ 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_VOLU, KC_MUTE, KC_VOLD, + 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_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_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_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_SPC, 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_MNXT, KC_MPLY, KC_MPRV, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, diff --git a/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c index 4adfaba69d7..f593d408d51 100644 --- a/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c +++ b/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c @@ -16,78 +16,42 @@ #include QMK_KEYBOARD_H -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) -{ - for (int index = 0; index < NUM_ENCODERS; ++index) - { - if (encoder_state[index]) - { - keyevent_t encoder_event = (keyevent_t){ - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} -void encoder_action_register(uint8_t index, bool clockwise) -{ - keyevent_t encoder_event = (keyevent_t){ - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) -{ - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) -{ - encoder_action_register(index, clockwise); - return true; -} - 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_VOLU, KC_MUTE, KC_VOLD, + 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_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_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_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_SPC, 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_MNXT, KC_MPLY, KC_MPRV, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; + +#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(KC_MPRV, KC_MNXT) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/meletrix/zoom65_lite/keymaps/via/rules.mk b/keyboards/meletrix/zoom65_lite/keymaps/via/rules.mk index 43061db1dd4..1189f4ad192 100644 --- a/keyboards/meletrix/zoom65_lite/keymaps/via/rules.mk +++ b/keyboards/meletrix/zoom65_lite/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/meletrix/zoom87/config.h b/keyboards/meletrix/zoom87/config.h index 3cc2858e75f..f5f2f63bb73 100644 --- a/keyboards/meletrix/zoom87/config.h +++ b/keyboards/meletrix/zoom87/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*======= RGB function=======*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/meletrix/zoom87/info.json b/keyboards/meletrix/zoom87/info.json index be54c6ccd30..126d2391dc4 100644 --- a/keyboards/meletrix/zoom87/info.json +++ b/keyboards/meletrix/zoom87/info.json @@ -21,7 +21,11 @@ "pin": "D2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/melgeek/mj6xy/rev3/config.h b/keyboards/melgeek/mj6xy/rev3/config.h index dbe73b7e3d7..415fc3f2aac 100755 --- a/keyboards/melgeek/mj6xy/rev3/config.h +++ b/keyboards/melgeek/mj6xy/rev3/config.h @@ -28,8 +28,3 @@ # define RGBLIGHT_EFFECT_TWINKLE # define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6) # define RGBLIGHT_DEFAULT_SPD 10 -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP diff --git a/keyboards/melgeek/mj6xy/rev3/info.json b/keyboards/melgeek/mj6xy/rev3/info.json index 5dd66001c51..3b5c7375a48 100644 --- a/keyboards/melgeek/mj6xy/rev3/info.json +++ b/keyboards/melgeek/mj6xy/rev3/info.json @@ -9,6 +9,12 @@ "pin": "B7", "levels": 10 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "C6" } diff --git a/keyboards/meow48/config.h b/keyboards/meow48/config.h index 2cd54cde397..8da2936acec 100644 --- a/keyboards/meow48/config.h +++ b/keyboards/meow48/config.h @@ -19,12 +19,6 @@ along with this program. If not, see . #define OLED_BRIGHTNESS 100 - #define RGBLED_NUM 48 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/meow48/info.json b/keyboards/meow48/info.json index b5d80286c77..9b498d63c3c 100644 --- a/keyboards/meow48/info.json +++ b/keyboards/meow48/info.json @@ -12,7 +12,11 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 100 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 48, + "max_brightness": 100, + "sleep": true }, "matrix_pins": { "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], diff --git a/keyboards/merge/uc1/config.h b/keyboards/merge/uc1/config.h index 945f7535995..28c5cab153a 100644 --- a/keyboards/merge/uc1/config.h +++ b/keyboards/merge/uc1/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -27,7 +26,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 -#define RGBLIGHT_SLEEP diff --git a/keyboards/merge/uc1/info.json b/keyboards/merge/uc1/info.json index 95de5a2e20d..6d3febd0c44 100644 --- a/keyboards/merge/uc1/info.json +++ b/keyboards/merge/uc1/info.json @@ -8,6 +8,13 @@ "pid": "0x5543", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/merge/um70/config.h b/keyboards/merge/um70/config.h index 1e13c06ed3e..04569dc9894 100644 --- a/keyboards/merge/um70/config.h +++ b/keyboards/merge/um70/config.h @@ -20,13 +20,10 @@ #define MASTER_LEFT #define SPLIT_MODS_ENABLE -#define RGBLIGHT_SPLIT -#define RGBLED_NUM 83 #ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 83 # define RGB_MATRIX_SPLIT { 39, 44 } #endif -#define RGBLIGHT_SLEEP #define B6_AUDIO diff --git a/keyboards/merge/um70/info.json b/keyboards/merge/um70/info.json index bc9d0683f25..95f3bb1cea2 100644 --- a/keyboards/merge/um70/info.json +++ b/keyboards/merge/um70/info.json @@ -25,7 +25,9 @@ "pin": "D3" }, "rgblight": { + "led_count": 83, "max_brightness": 150, + "sleep": true, "split_count": [39, 44] }, "processor": "atmega32u4", diff --git a/keyboards/merge/um80/config.h b/keyboards/merge/um80/config.h index c1fe7248799..70a5d7ba590 100644 --- a/keyboards/merge/um80/config.h +++ b/keyboards/merge/um80/config.h @@ -20,13 +20,10 @@ #define MASTER_LEFT #define SPLIT_MODS_ENABLE -#define RGBLIGHT_SPLIT -#define RGBLED_NUM 100 #ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 100 # define RGB_MATRIX_SPLIT { 48, 52 } #endif -#define RGBLIGHT_SLEEP #define AUDIO_PIN B6 diff --git a/keyboards/merge/um80/info.json b/keyboards/merge/um80/info.json index d91a4d93bac..554d1997a36 100644 --- a/keyboards/merge/um80/info.json +++ b/keyboards/merge/um80/info.json @@ -25,7 +25,9 @@ "pin": "D3" }, "rgblight": { + "led_count": 100, "max_brightness": 120, + "sleep": true, "split_count": [48, 52] }, "processor": "atmega32u4", diff --git a/keyboards/meson/config.h b/keyboards/meson/config.h index ff11830e6d2..da5125a9961 100644 --- a/keyboards/meson/config.h +++ b/keyboards/meson/config.h @@ -19,12 +19,6 @@ along with this program. If not, see . #define USE_I2C - #define RGBLED_NUM 10 - #define RGBLIGHT_SPLIT - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/meson/info.json b/keyboards/meson/info.json index 3346458e7cb..aad657ace5f 100644 --- a/keyboards/meson/info.json +++ b/keyboards/meson/info.json @@ -16,6 +16,10 @@ "soft_serial_pin": "D0" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true, "split_count": [5, 5] }, "ws2812": { diff --git a/keyboards/mexsistor/ludmila/config.h b/keyboards/mexsistor/ludmila/config.h index 8d8aaed5c7e..8596b47af3b 100644 --- a/keyboards/mexsistor/ludmila/config.h +++ b/keyboards/mexsistor/ludmila/config.h @@ -38,8 +38,6 @@ along with this program. If not, see . /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define RGBLED_NUM 4 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mexsistor/ludmila/info.json b/keyboards/mexsistor/ludmila/info.json index fcfecd0fd78..a270e76ade5 100644 --- a/keyboards/mexsistor/ludmila/info.json +++ b/keyboards/mexsistor/ludmila/info.json @@ -13,6 +13,10 @@ {"pin_a": "F6", "pin_b": "F5"} ] }, + "rgblight": { + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/mincedshon/ecila/config.h b/keyboards/mincedshon/ecila/config.h index 0b3c4eb59a0..69493aadfbf 100644 --- a/keyboards/mincedshon/ecila/config.h +++ b/keyboards/mincedshon/ecila/config.h @@ -13,8 +13,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/mincedshon/ecila/info.json b/keyboards/mincedshon/ecila/info.json index 9ca79d21867..fbe46999b59 100644 --- a/keyboards/mincedshon/ecila/info.json +++ b/keyboards/mincedshon/ecila/info.json @@ -11,7 +11,11 @@ "pin": "B0" }, "rgblight": { - "max_brightness": 150 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "max_brightness": 150, + "sleep": true }, "bootloader": "atmel-dfu", "features": { diff --git a/keyboards/miniaxe/config.h b/keyboards/miniaxe/config.h index 8d0955d7695..7ac79dcc6f0 100644 --- a/keyboards/miniaxe/config.h +++ b/keyboards/miniaxe/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/miniaxe/info.json b/keyboards/miniaxe/info.json index 6f6c68d8d09..3760528ffca 100644 --- a/keyboards/miniaxe/info.json +++ b/keyboards/miniaxe/info.json @@ -11,6 +11,11 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/minimacro5/config.h b/keyboards/minimacro5/config.h index 317e1509359..935f89491ec 100644 --- a/keyboards/minimacro5/config.h +++ b/keyboards/minimacro5/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once -//speed for double tap -#define TAPPING_TERM 200 - /* ws2812 RGB LED */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -31,4 +28,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 5 // Number of LEDs diff --git a/keyboards/minimacro5/info.json b/keyboards/minimacro5/info.json index e417a689ae4..a48527ee084 100644 --- a/keyboards/minimacro5/info.json +++ b/keyboards/minimacro5/info.json @@ -8,6 +8,9 @@ "pid": "0x0007", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 5 + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/minimon/index_tab/config.h b/keyboards/minimon/index_tab/config.h index 1d1616ee258..8d555dcf9f3 100644 --- a/keyboards/minimon/index_tab/config.h +++ b/keyboards/minimon/index_tab/config.h @@ -21,9 +21,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 10 -#define RGBLIGHT_SLEEP - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/minimon/index_tab/info.json b/keyboards/minimon/index_tab/info.json index c3867950249..0e60aa13278 100644 --- a/keyboards/minimon/index_tab/info.json +++ b/keyboards/minimon/index_tab/info.json @@ -9,6 +9,10 @@ "pid": "0x1306", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/mino_plus/hotswap/config.h b/keyboards/mino_plus/hotswap/config.h new file mode 100644 index 00000000000..b8c00079386 --- /dev/null +++ b/keyboards/mino_plus/hotswap/config.h @@ -0,0 +1,15 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define I2C_DRIVER I2CD1 +#define I2C1_SCL_PIN B6 +#define I2C1_SDA_PIN B7 +#define I2C1_SCL_PAL_MODE 1 +#define I2C1_SDA_PAL_MODE 1 +#define I2C1_TIMINGR_PRESC 0x00U +#define I2C1_TIMINGR_SCLDEL 0x03U +#define I2C1_TIMINGR_SDADEL 0x01U +#define I2C1_TIMINGR_SCLH 0x03U +#define I2C1_TIMINGR_SCLL 0x09U + diff --git a/keyboards/mino_plus/hotswap/halconf.h b/keyboards/mino_plus/hotswap/halconf.h new file mode 100644 index 00000000000..fb8ce45220b --- /dev/null +++ b/keyboards/mino_plus/hotswap/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/mino_plus/hotswap/hotswap.c b/keyboards/mino_plus/hotswap/hotswap.c new file mode 100644 index 00000000000..a5920b26173 --- /dev/null +++ b/keyboards/mino_plus/hotswap/hotswap.c @@ -0,0 +1,8 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +void board_init(void) { + SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; + SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); +} \ No newline at end of file diff --git a/keyboards/mino_plus/hotswap/info.json b/keyboards/mino_plus/hotswap/info.json new file mode 100644 index 00000000000..b7cda6d71ff --- /dev/null +++ b/keyboards/mino_plus/hotswap/info.json @@ -0,0 +1,100 @@ +{ + "manufacturer": "ShandonCodes", + "keyboard_name": "Mino Plus (Hotswap)", + "maintainer": "ShandonCodes", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B12", "A15", "B3", "B2", "B0", "A7", "A5", "A4", "A3", "A2", "A1", "F1", "A0", "A8", "A10"], + "rows": ["B14", "B10", "F0", "C15", "C14"] + }, + "processor": "STM32F072", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0004", + "vid": "0x7877" + }, + "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, "w": 2}, + {"label": "Del", "matrix": [0, 14], "x": 14, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Ins", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "Caps", "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": 10.75, "y": 2}, + {"label": "Enter", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Pgup", "matrix": [2, 14], "x": 14, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 2], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 3], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 4], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 5], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 6], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 7], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 8], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 9], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 10], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 12], "x": 14, "y": 3}, + {"label": "Pgdn", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Super", "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": "Meta", "matrix": [4, 9], "x": 10, "y": 4}, + {"label": "Win", "matrix": [4, 10], "x": 11, "y": 4}, + {"label": "Ctrl", "matrix": [4, 11], "x": 12, "y": 4}, + {"label": "Left", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "Down", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "Right", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/mino_plus/hotswap/keymaps/default/keymap.c b/keyboards/mino_plus/hotswap/keymaps/default/keymap.c new file mode 100644 index 00000000000..f068c662153 --- /dev/null +++ b/keyboards/mino_plus/hotswap/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [0] = LAYOUT( + KC_ESCAPE, KC_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_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_COMMA, KC_DOT, KC_SLASH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [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_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 + ) +}; \ No newline at end of file diff --git a/keyboards/mino_plus/hotswap/keymaps/via/keymap.c b/keyboards/mino_plus/hotswap/keymaps/via/keymap.c new file mode 100644 index 00000000000..901adcb3d27 --- /dev/null +++ b/keyboards/mino_plus/hotswap/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [0] = LAYOUT( + KC_ESCAPE, KC_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_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_COMMA, KC_DOT, KC_SLASH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [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_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 + ) +}; \ No newline at end of file diff --git a/keyboards/mino_plus/hotswap/keymaps/via/rules.mk b/keyboards/mino_plus/hotswap/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/mino_plus/hotswap/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mino_plus/hotswap/mcuconf.h b/keyboards/mino_plus/hotswap/mcuconf.h new file mode 100644 index 00000000000..7b8a66123e5 --- /dev/null +++ b/keyboards/mino_plus/hotswap/mcuconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE \ No newline at end of file diff --git a/keyboards/mino_plus/hotswap/rules.mk b/keyboards/mino_plus/hotswap/rules.mk new file mode 100644 index 00000000000..842350f40ea --- /dev/null +++ b/keyboards/mino_plus/hotswap/rules.mk @@ -0,0 +1,3 @@ +OLED_ENABLE = yes +WPM_ENABLE = yes +OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/mino_plus/mino_plus.c b/keyboards/mino_plus/mino_plus.c index 62434016f72..cd651b6d171 100644 --- a/keyboards/mino_plus/mino_plus.c +++ b/keyboards/mino_plus/mino_plus.c @@ -1,4 +1,4 @@ -// Copyright 2022 ShandonCodes (@ShandonCodes) +// Copyright 2023 ShandonCodes (@ShandonCodes) // SPDX-License-Identifier: GPL-2.0-or-later #include "quantum.h" diff --git a/keyboards/mino_plus/readme.md b/keyboards/mino_plus/readme.md index 0730e30d63a..0a85b6dc580 100644 --- a/keyboards/mino_plus/readme.md +++ b/keyboards/mino_plus/readme.md @@ -11,10 +11,12 @@ A 65% keyboard, inspried by tetrominos. Make example for this keyboard (after setting up your build environment): make mino_plus/soldered:default + make mino_plus/hotswap:default Flashing example for this keyboard: make mino_plus/soldered:default:flash + make mino_plus/hotswap: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/mino_plus/keymaps/default/keymap.c b/keyboards/mino_plus/soldered/keymaps/default/keymap.c similarity index 100% rename from keyboards/mino_plus/keymaps/default/keymap.c rename to keyboards/mino_plus/soldered/keymaps/default/keymap.c diff --git a/keyboards/mino_plus/keymaps/via/keymap.c b/keyboards/mino_plus/soldered/keymaps/via/keymap.c similarity index 100% rename from keyboards/mino_plus/keymaps/via/keymap.c rename to keyboards/mino_plus/soldered/keymaps/via/keymap.c diff --git a/keyboards/mino_plus/soldered/keymaps/via/rules.mk b/keyboards/mino_plus/soldered/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/mino_plus/soldered/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mint60/config.h b/keyboards/mint60/config.h index 41c0f7e8ebf..b10dbd854a2 100644 --- a/keyboards/mint60/config.h +++ b/keyboards/mint60/config.h @@ -22,12 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 8 -#define RGBLIGHT_SPLIT - -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mint60/info.json b/keyboards/mint60/info.json index bd51052853f..e7dc82f1b5c 100644 --- a/keyboards/mint60/info.json +++ b/keyboards/mint60/info.json @@ -16,6 +16,11 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "hue_steps": 10, + "led_count": 8, + "split": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/misonoworks/chocolatebar/config.h b/keyboards/misonoworks/chocolatebar/config.h index 55e57fb8728..3f7b2a040fc 100644 --- a/keyboards/misonoworks/chocolatebar/config.h +++ b/keyboards/misonoworks/chocolatebar/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/misonoworks/chocolatebar/info.json b/keyboards/misonoworks/chocolatebar/info.json index 65087ac4818..09a0c094e57 100644 --- a/keyboards/misonoworks/chocolatebar/info.json +++ b/keyboards/misonoworks/chocolatebar/info.json @@ -9,6 +9,9 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/misonoworks/karina/config.h b/keyboards/misonoworks/karina/config.h index eba5475d833..6ce2c3a7065 100644 --- a/keyboards/misonoworks/karina/config.h +++ b/keyboards/misonoworks/karina/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 19 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/misonoworks/karina/info.json b/keyboards/misonoworks/karina/info.json index 2fc140cba61..2b3d9230bdd 100644 --- a/keyboards/misonoworks/karina/info.json +++ b/keyboards/misonoworks/karina/info.json @@ -9,6 +9,9 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "led_count": 19 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/misterknife/knife66/config.h b/keyboards/misterknife/knife66/config.h index 167cffb9144..ba0d2a67c37 100644 --- a/keyboards/misterknife/knife66/config.h +++ b/keyboards/misterknife/knife66/config.h @@ -27,11 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define WS2812_PWM_DRIVER PWMD1 // default: PWMD1 #define WS2812_PWM_CHANNEL 2 // default: 2 diff --git a/keyboards/misterknife/knife66/info.json b/keyboards/misterknife/knife66/info.json index d0ecc011bfe..b3de97cfb2b 100644 --- a/keyboards/misterknife/knife66/info.json +++ b/keyboards/misterknife/knife66/info.json @@ -13,7 +13,11 @@ "driver": "pwm" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["B2", "B1", "B0", "A7", "A6", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15"], diff --git a/keyboards/misterknife/knife66/rules.mk b/keyboards/misterknife/knife66/rules.mk index 0f15f10b208..0098dc473ac 100644 --- a/keyboards/misterknife/knife66/rules.mk +++ b/keyboards/misterknife/knife66/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/misterknife/knife66_iso/config.h b/keyboards/misterknife/knife66_iso/config.h index bbe55dcc48f..910cc2a9171 100644 --- a/keyboards/misterknife/knife66_iso/config.h +++ b/keyboards/misterknife/knife66_iso/config.h @@ -27,11 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define WS2812_PWM_DRIVER PWMD1 // default: PWMD1 #define WS2812_PWM_CHANNEL 2 // default: 2 diff --git a/keyboards/misterknife/knife66_iso/info.json b/keyboards/misterknife/knife66_iso/info.json index 18d66368b57..d33ec0f484f 100644 --- a/keyboards/misterknife/knife66_iso/info.json +++ b/keyboards/misterknife/knife66_iso/info.json @@ -13,7 +13,11 @@ "driver": "pwm" }, "rgblight": { - "max_brightness": 160 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "max_brightness": 160, + "sleep": true }, "matrix_pins": { "cols": ["B2", "B1", "B0", "A7", "A6", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15"], diff --git a/keyboards/misterknife/knife66_iso/rules.mk b/keyboards/misterknife/knife66_iso/rules.mk index 0f15f10b208..0098dc473ac 100644 --- a/keyboards/misterknife/knife66_iso/rules.mk +++ b/keyboards/misterknife/knife66_iso/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/miuni32/config.h b/keyboards/miuni32/config.h index 76fa3df3f42..a2119b413fb 100644 --- a/keyboards/miuni32/config.h +++ b/keyboards/miuni32/config.h @@ -38,7 +38,6 @@ along with this program. If not, see . //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define RGBLED_NUM 17 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -49,6 +48,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/miuni32/info.json b/keyboards/miuni32/info.json index 0c1c5d7c44e..d55cfea85c7 100644 --- a/keyboards/miuni32/info.json +++ b/keyboards/miuni32/info.json @@ -8,6 +8,10 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 17 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/miuni32/keymaps/kifinnsson/keymap.c b/keyboards/miuni32/keymaps/kifinnsson/keymap.c index 3ce4e145757..51a0b6fefa1 100644 --- a/keyboards/miuni32/keymaps/kifinnsson/keymap.c +++ b/keyboards/miuni32/keymaps/kifinnsson/keymap.c @@ -74,12 +74,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - //planck like tri layer bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { @@ -112,37 +106,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/mixi/config.h b/keyboards/mixi/config.h index ad57ad01d6d..9b52398ae96 100644 --- a/keyboards/mixi/config.h +++ b/keyboards/mixi/config.h @@ -6,11 +6,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mixi/info.json b/keyboards/mixi/info.json index aa31b758e9a..ee02f06576f 100644 --- a/keyboards/mixi/info.json +++ b/keyboards/mixi/info.json @@ -8,6 +8,12 @@ "pid": "0x4D49", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "sleep": true + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/mk65/info.json b/keyboards/mk65/info.json index 0ad14764191..44a8e15f153 100644 --- a/keyboards/mk65/info.json +++ b/keyboards/mk65/info.json @@ -13,6 +13,9 @@ {"pin_a": "B1", "pin_b": "B2"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "matrix_pins": { diff --git a/keyboards/mkh_studio/bully/rules.mk b/keyboards/mkh_studio/bully/rules.mk index 10a3d3bfb41..84467251b04 100644 --- a/keyboards/mkh_studio/bully/rules.mk +++ b/keyboards/mkh_studio/bully/rules.mk @@ -1,2 +1 @@ DFU_SUFFIX_ARGS = -p FFFF -v FFFF # allow for APM32 MCU -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ml/gas75/info.json b/keyboards/ml/gas75/info.json index 990b45f1cec..a72db33f25f 100644 --- a/keyboards/ml/gas75/info.json +++ b/keyboards/ml/gas75/info.json @@ -49,9 +49,7 @@ {"matrix": [0, 13], "x": 14, "y": 0}, - {"matrix": [5, 4], "x": 15, "y": 0, "w": 0.5}, {"matrix": [0, 14], "x": 15.5, "y": 0}, - {"matrix": [5, 3], "x": 16.5, "y": 0, "w": 0.5}, {"matrix": [1, 0], "x": 0, "y": 1.25}, {"matrix": [1, 1], "x": 1, "y": 1.25}, diff --git a/keyboards/ml/gas75/keymaps/default/keymap.c b/keyboards/ml/gas75/keymaps/default/keymap.c index aa72a3c8531..7fe790e6015 100644 --- a/keyboards/ml/gas75/keymaps/default/keymap.c +++ b/keyboards/ml/gas75/keymaps/default/keymap.c @@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_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_DEL, _______, 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_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_ENT, KC_PGDN, @@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -158,25 +158,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (layer_state_is(_BASE)) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } else if (layer_state_is(_FN)) { - if (clockwise) { - rgb_matrix_step(); - } else { - rgb_matrix_step_reverse(); - } - } - } - return true; -} +#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) }, +}; #endif bool rgb_matrix_indicators_user(void) { diff --git a/keyboards/ml/gas75/keymaps/via/keymap.c b/keyboards/ml/gas75/keymaps/via/keymap.c index 615e36557a8..a533571bebe 100644 --- a/keyboards/ml/gas75/keymaps/via/keymap.c +++ b/keyboards/ml/gas75/keymaps/via/keymap.c @@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_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_DEL, KC_VOLD, KC_MUTE, KC_VOLU, + 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_ENT, KC_PGDN, @@ -110,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_FN] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -158,45 +158,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef ENCODER_ENABLE -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = {{3, 5}}; -static keypos_t encoder_ccw[NUM_ENCODERS] = {{4, 5}}; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_user(void) { - encoder_action_unregister(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return false; -} +#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) }, +}; #endif bool rgb_matrix_indicators_user(void) { diff --git a/keyboards/ml/gas75/keymaps/via/rules.mk b/keyboards/ml/gas75/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/ml/gas75/keymaps/via/rules.mk +++ b/keyboards/ml/gas75/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mlego/m48/rev1/config.h b/keyboards/mlego/m48/rev1/config.h index 303b7ae5b54..49860215fa0 100644 --- a/keyboards/mlego/m48/rev1/config.h +++ b/keyboards/mlego/m48/rev1/config.h @@ -18,7 +18,6 @@ #ifdef RGBLIGHT_ENABLE #define RGBLIGHT_LAYERS -#define RGBLED_NUM 20 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mlego/m48/rev1/info.json b/keyboards/mlego/m48/rev1/info.json index 4ccf9ede92b..99c71ad37ab 100644 --- a/keyboards/mlego/m48/rev1/info.json +++ b/keyboards/mlego/m48/rev1/info.json @@ -18,6 +18,9 @@ "num_lock": "B12", "scroll_lock": "B13" }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/mlego/m60/rev1/config.h b/keyboards/mlego/m60/rev1/config.h index dc6c4c225da..71050b6ad43 100644 --- a/keyboards/mlego/m60/rev1/config.h +++ b/keyboards/mlego/m60/rev1/config.h @@ -19,7 +19,6 @@ #define RGBLIGHT_LAYERS -#define RGBLED_NUM 20 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mlego/m60/rev1/info.json b/keyboards/mlego/m60/rev1/info.json index bbe9f861129..112b590f543 100644 --- a/keyboards/mlego/m60/rev1/info.json +++ b/keyboards/mlego/m60/rev1/info.json @@ -18,6 +18,9 @@ "num_lock": "B12", "scroll_lock": "B13" }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/mlego/m60_split/rev1/config.h b/keyboards/mlego/m60_split/rev1/config.h index 06da0e11dfb..6f08c76e46f 100644 --- a/keyboards/mlego/m60_split/rev1/config.h +++ b/keyboards/mlego/m60_split/rev1/config.h @@ -24,13 +24,10 @@ #define SERIAL_USART_SPEED 921600 #ifdef RGBLIGHT_ENABLE -#define RGBLIGHT_SPLIT #define RGBLIGHT_LAYERS #define RGBLIGHT_DEFAULT_HUE 213 -#define RGBLED_NUM 16 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mlego/m60_split/rev1/info.json b/keyboards/mlego/m60_split/rev1/info.json index 8d236baac16..deeffe77532 100644 --- a/keyboards/mlego/m60_split/rev1/info.json +++ b/keyboards/mlego/m60_split/rev1/info.json @@ -22,6 +22,7 @@ "pin": "B15" }, "rgblight": { + "led_count": 16, "max_brightness": 128, "split_count": [8, 8] }, diff --git a/keyboards/mlego/m60_split/rev2/config.h b/keyboards/mlego/m60_split/rev2/config.h index 061bc5c460d..7373aa2adf7 100644 --- a/keyboards/mlego/m60_split/rev2/config.h +++ b/keyboards/mlego/m60_split/rev2/config.h @@ -26,9 +26,7 @@ #ifdef RGBLIGHT_ENABLE -#define RGBLIGHT_SPLIT #define RGBLIGHT_LAYERS -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mlego/m60_split/rev2/info.json b/keyboards/mlego/m60_split/rev2/info.json index f0e64efb0be..bfa70ec0bdc 100644 --- a/keyboards/mlego/m60_split/rev2/info.json +++ b/keyboards/mlego/m60_split/rev2/info.json @@ -19,6 +19,7 @@ "scroll_lock": "B13" }, "rgblight": { + "led_count": 16, "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/mlego/m65/rev1/config.h b/keyboards/mlego/m65/rev1/config.h index 2ed846b1708..56c64846e51 100644 --- a/keyboards/mlego/m65/rev1/config.h +++ b/keyboards/mlego/m65/rev1/config.h @@ -19,8 +19,6 @@ along with this program. If not, see . #define RGBLIGHT_LAYERS -#undef RGBLED_NUM -#define RGBLED_NUM 20 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -31,5 +29,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/mlego/m65/rev1/info.json b/keyboards/mlego/m65/rev1/info.json index 3c939ef4c28..0736422499c 100644 --- a/keyboards/mlego/m65/rev1/info.json +++ b/keyboards/mlego/m65/rev1/info.json @@ -18,6 +18,10 @@ "num_lock": "B12", "scroll_lock": "B13" }, + "rgblight": { + "saturation_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/mlego/m65/rev2/config.h b/keyboards/mlego/m65/rev2/config.h index 791b73e2f6f..08e73f84066 100644 --- a/keyboards/mlego/m65/rev2/config.h +++ b/keyboards/mlego/m65/rev2/config.h @@ -19,8 +19,6 @@ along with this program. If not, see . #define RGBLIGHT_LAYERS -#undef RGBLED_NUM -#define RGBLED_NUM 20 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -31,8 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 #define EEPROM_PAGE_SIZE #define FEE_PAGE_SIZE 0x800 diff --git a/keyboards/mlego/m65/rev2/info.json b/keyboards/mlego/m65/rev2/info.json index 64df0a2ba6f..126e7c2e90c 100644 --- a/keyboards/mlego/m65/rev2/info.json +++ b/keyboards/mlego/m65/rev2/info.json @@ -18,6 +18,10 @@ "num_lock": "B12", "scroll_lock": "B13" }, + "rgblight": { + "saturation_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/mlego/m65/rev3/config.h b/keyboards/mlego/m65/rev3/config.h index 81f02bc4111..dfce22e674c 100644 --- a/keyboards/mlego/m65/rev3/config.h +++ b/keyboards/mlego/m65/rev3/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . #ifdef RGBLIGHT_ENABLE #define RGBLIGHT_LAYERS -#undef RGBLED_NUM -#define RGBLED_NUM 20 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -32,6 +30,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 #endif diff --git a/keyboards/mlego/m65/rev3/info.json b/keyboards/mlego/m65/rev3/info.json index b72b7065877..7b169cff903 100644 --- a/keyboards/mlego/m65/rev3/info.json +++ b/keyboards/mlego/m65/rev3/info.json @@ -18,6 +18,10 @@ "num_lock": "B12", "scroll_lock": "B13" }, + "rgblight": { + "saturation_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/mlego/m65/rev4/config.h b/keyboards/mlego/m65/rev4/config.h index 942f3606883..64e0d50b7fd 100644 --- a/keyboards/mlego/m65/rev4/config.h +++ b/keyboards/mlego/m65/rev4/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . #ifdef RGBLIGHT_ENABLE #define RGBLIGHT_LAYERS -#undef RGBLED_NUM -#define RGBLED_NUM 20 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -32,8 +30,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 #endif diff --git a/keyboards/mlego/m65/rev4/info.json b/keyboards/mlego/m65/rev4/info.json index d671845e626..fd53630fac7 100644 --- a/keyboards/mlego/m65/rev4/info.json +++ b/keyboards/mlego/m65/rev4/info.json @@ -18,6 +18,10 @@ "num_lock": "B12", "scroll_lock": "B13" }, + "rgblight": { + "saturation_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/mmkzoo65/config.h b/keyboards/mmkzoo65/config.h deleted file mode 100644 index 99f9e80b3ed..00000000000 --- a/keyboards/mmkzoo65/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 TW59420 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - -/* 将USB 轮询速率更改为 1000hz 并为精英游戏每次扫描使用更大的密钥*/ -#define USB_POLLING_INTERVAL_MS 2 diff --git a/keyboards/mmkzoo65/info.json b/keyboards/mmkzoo65/info.json index 558d1fa0dc7..504e7b10612 100644 --- a/keyboards/mmkzoo65/info.json +++ b/keyboards/mmkzoo65/info.json @@ -7,7 +7,8 @@ "vid": "0x7BA1", "pid": "0x6505", "device_version": "0.0.1", - "force_nkro": true + "force_nkro": true, + "polling_interval": 2 }, "matrix_pins": { "cols": ["B1", "F0", "F1", "F4", "F5", "F6", "F7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7"], diff --git a/keyboards/mnk1800s/rules.mk b/keyboards/mnk1800s/rules.mk old mode 100755 new mode 100644 index 7000bb65710..7c0709f41e6 --- a/keyboards/mnk1800s/rules.mk +++ b/keyboards/mnk1800s/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/mnk50/rules.mk b/keyboards/mnk50/rules.mk old mode 100755 new mode 100644 index 7000bb65710..7c0709f41e6 --- a/keyboards/mnk50/rules.mk +++ b/keyboards/mnk50/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/mnk75/rules.mk b/keyboards/mnk75/rules.mk old mode 100755 new mode 100644 index ae3dafb3deb..50f3a3d1511 --- a/keyboards/mnk75/rules.mk +++ b/keyboards/mnk75/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/mode/m65ha_alpha/m65ha_alpha.c b/keyboards/mode/m65ha_alpha/m65ha_alpha.c index 60a9a89927e..afb093058f7 100644 --- a/keyboards/mode/m65ha_alpha/m65ha_alpha.c +++ b/keyboards/mode/m65ha_alpha/m65ha_alpha.c @@ -21,7 +21,6 @@ void board_init(void) { setPinInput(B10); } -#define LED_PIN_ON_STATE 1 void led_init_ports(void) { /** If the OPENDRAIN_INDICATORS option is not defined in config.h, the indicator diff --git a/keyboards/mode/m65ha_alpha/rules.mk b/keyboards/mode/m65ha_alpha/rules.mk index 71de5b0a9fd..da4b493847f 100644 --- a/keyboards/mode/m65ha_alpha/rules.mk +++ b/keyboards/mode/m65ha_alpha/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/mode/m65hi_alpha/m65hi_alpha.c b/keyboards/mode/m65hi_alpha/m65hi_alpha.c index 60a9a89927e..afb093058f7 100644 --- a/keyboards/mode/m65hi_alpha/m65hi_alpha.c +++ b/keyboards/mode/m65hi_alpha/m65hi_alpha.c @@ -21,7 +21,6 @@ void board_init(void) { setPinInput(B10); } -#define LED_PIN_ON_STATE 1 void led_init_ports(void) { /** If the OPENDRAIN_INDICATORS option is not defined in config.h, the indicator diff --git a/keyboards/mode/m65hi_alpha/rules.mk b/keyboards/mode/m65hi_alpha/rules.mk index 71de5b0a9fd..da4b493847f 100644 --- a/keyboards/mode/m65hi_alpha/rules.mk +++ b/keyboards/mode/m65hi_alpha/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/mode/m65s/config.h b/keyboards/mode/m65s/config.h index ed3faacae0c..80d31d8d756 100644 --- a/keyboards/mode/m65s/config.h +++ b/keyboards/mode/m65s/config.h @@ -45,5 +45,3 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -#define TAP_CODE_DELAY 50 diff --git a/keyboards/mode/m65s/info.json b/keyboards/mode/m65s/info.json index 06e49f7667a..0a0c93f3f89 100644 --- a/keyboards/mode/m65s/info.json +++ b/keyboards/mode/m65s/info.json @@ -8,6 +8,9 @@ "pid": "0x6583", "device_version": "0.0.1" }, + "qmk": { + "tap_keycode_delay": 50 + }, "matrix_pins": { "cols": ["C7", "A8", "A10", "A4", "A5", "A6", "C10", "A7", "C4", "C5", "A15", "B0", "B1", "B12", "B10", "B13"], "rows": ["A3", "B14", "B15", "C9", "C6", "C11"] diff --git a/keyboards/mode/m65s/m65s.c b/keyboards/mode/m65s/m65s.c index 70aa52c4614..954644310be 100644 --- a/keyboards/mode/m65s/m65s.c +++ b/keyboards/mode/m65s/m65s.c @@ -21,7 +21,6 @@ void board_init(void) { setPinInput(B10); } -#define LED_PIN_ON_STATE 1 void led_init_ports(void) { /** If the OPENDRAIN_INDICATORS option is not defined in config.h, the indicator diff --git a/keyboards/mode/m65s/rules.mk b/keyboards/mode/m65s/rules.mk index 91bc99f944d..5dd8d547ab7 100644 --- a/keyboards/mode/m65s/rules.mk +++ b/keyboards/mode/m65s/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/mode/m75h/config.h b/keyboards/mode/m75h/config.h index 640cc43a5ac..c6d7d037ec8 100644 --- a/keyboards/mode/m75h/config.h +++ b/keyboards/mode/m75h/config.h @@ -17,33 +17,5 @@ along with this program. If not, see . #pragma once -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -#define EEPROM_I2C_24LC256 -//#define I2C1_CLOCK_SPEED 400000 -//#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 - -#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE - -/* - * 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 - -#define TAP_CODE_DELAY 50 - -#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 16383 // Overriding to use more EEPROM +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE 4096 diff --git a/keyboards/mode/m75h/halconf.h b/keyboards/mode/m75h/halconf.h index 6c53f594c76..d4831df0d73 100644 --- a/keyboards/mode/m75h/halconf.h +++ b/keyboards/mode/m75h/halconf.h @@ -21,6 +21,4 @@ #pragma once -#define HAL_USE_I2C TRUE - #include_next diff --git a/keyboards/mode/m75h/info.json b/keyboards/mode/m75h/info.json index 1ebbb8f29fa..f57aac383ef 100644 --- a/keyboards/mode/m75h/info.json +++ b/keyboards/mode/m75h/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "75H", + "keyboard_name": "M75H", "manufacturer": "Mode", "url": "", "maintainer": "Gondolindrim", diff --git a/keyboards/mode/m75h/rules.mk b/keyboards/mode/m75h/rules.mk index ee752a964b3..328eece1f91 100644 --- a/keyboards/mode/m75h/rules.mk +++ b/keyboards/mode/m75h/rules.mk @@ -1,17 +1,14 @@ # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover +NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -EEPROM_DRIVER = i2c +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/mode/m75s/config.h b/keyboards/mode/m75s/config.h index b8307f43960..7fdb18d26ab 100644 --- a/keyboards/mode/m75s/config.h +++ b/keyboards/mode/m75s/config.h @@ -17,15 +17,9 @@ along with this program. If not, see . #pragma once -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - #define BACKLIGHT_DEFAULT_LEVEL 20 #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define WEAR_LEVELING_LOGICAL_SIZE 2048 #define WEAR_LEVELING_BACKING_SIZE 4096 diff --git a/keyboards/mode/m75s/rules.mk b/keyboards/mode/m75s/rules.mk index bd7d6a84c5f..760b9cb9e61 100644 --- a/keyboards/mode/m75s/rules.mk +++ b/keyboards/mode/m75s/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/mode/m80v1/m80h/rules.mk b/keyboards/mode/m80v1/m80h/rules.mk index 8c9d2aea969..5742215e0a0 100644 --- a/keyboards/mode/m80v1/m80h/rules.mk +++ b/keyboards/mode/m80v1/m80h/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/mode/m80v1/m80s/rules.mk b/keyboards/mode/m80v1/m80s/rules.mk index 8c9d2aea969..5742215e0a0 100644 --- a/keyboards/mode/m80v1/m80s/rules.mk +++ b/keyboards/mode/m80v1/m80s/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/mode/m80v2/m80v2h/rules.mk b/keyboards/mode/m80v2/m80v2h/rules.mk index 113eb5ade88..475d3a239cf 100644 --- a/keyboards/mode/m80v2/m80v2h/rules.mk +++ b/keyboards/mode/m80v2/m80v2h/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/mode/m80v2/m80v2s/rules.mk b/keyboards/mode/m80v2/m80v2s/rules.mk index 113eb5ade88..475d3a239cf 100644 --- a/keyboards/mode/m80v2/m80v2s/rules.mk +++ b/keyboards/mode/m80v2/m80v2s/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/mokey/mokey12x2/info.json b/keyboards/mokey/mokey12x2/info.json new file mode 100644 index 00000000000..6f22429e72c --- /dev/null +++ b/keyboards/mokey/mokey12x2/info.json @@ -0,0 +1,47 @@ +{ + "keyboard_name": "Mokey12x2", + "manufacturer": "Mokey", + "url": "", + "maintainer": "Mokey", + "development_board": "bluepill", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["A6", "A5", "A4", "A3", "B9"], + "rows": ["A2", "A1", "A0", "A7"] + }, + "usb": { + "device_version": "0.0.1", + "vid": "0x6653", + "pid": "0x012A" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0,0], "x":0.25, "y":2.75}, + {"matrix": [0,1], "x":1.25, "y":2.75}, + {"matrix": [0,2], "x":2.25, "y":2.75}, + {"matrix": [0,3], "x":3.25, "y":2.75}, + {"matrix": [0,4], "x":0.25, "y":0, "w":1.5, "h":1.5}, + {"matrix": [1,0], "x":0.25, "y":3.75}, + {"matrix": [1,1], "x":1.25, "y":3.75}, + {"matrix": [1,2], "x":2.25, "y":3.75}, + {"matrix": [1,3], "x":3.25, "y":3.75}, + {"matrix": [1,4], "x":2.75, "y":0, "w":1.5, "h":1.5}, + {"matrix": [2,0], "x":0.25, "y":4.75}, + {"matrix": [2,1], "x":1.25, "y":4.75}, + {"matrix": [2,2], "x":2.25, "y":4.75}, + {"matrix": [2,3], "x":3.25, "y":4.75}, + {"matrix": [3,0], "x":0, "y":1.5}, + {"matrix": [3,1], "x":1, "y":1.5}, + {"matrix": [3,2], "x":2.5, "y":1.5}, + {"matrix": [3,3], "x":3.5, "y":1.5} + ] + } + } +} diff --git a/keyboards/nightly_boards/n60_s/n60_s.c b/keyboards/mokey/mokey12x2/keymaps/default/keymap.c similarity index 66% rename from keyboards/nightly_boards/n60_s/n60_s.c rename to keyboards/mokey/mokey12x2/keymaps/default/keymap.c index dd0d23425bf..74fbf1e9479 100644 --- a/keyboards/nightly_boards/n60_s/n60_s.c +++ b/keyboards/mokey/mokey12x2/keymaps/default/keymap.c @@ -1,4 +1,5 @@ -/* Copyright 2020 Neil Brian Ramirez +/* + * Copyright 2023 Mokey12×2 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,15 +15,12 @@ * along with this program. If not, see . */ -#include "n60_s.h" +#include QMK_KEYBOARD_H -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { -// if (!encoder_update_user(index, clockwise)) return false; - encoder_action_register(index, clockwise); - return true; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_A, KC_B, KC_C, KC_D, KC_1, + KC_E, KC_F, KC_G, KC_H, KC_2, + KC_I, KC_J, KC_K, KC_L, + KC_I, KC_J, KC_K, KC_L) }; diff --git a/keyboards/nightly_boards/octopad/octopad.c b/keyboards/mokey/mokey12x2/keymaps/via/keymap.c similarity index 66% rename from keyboards/nightly_boards/octopad/octopad.c rename to keyboards/mokey/mokey12x2/keymaps/via/keymap.c index e05782677e6..74fbf1e9479 100644 --- a/keyboards/nightly_boards/octopad/octopad.c +++ b/keyboards/mokey/mokey12x2/keymaps/via/keymap.c @@ -1,4 +1,5 @@ -/* Copyright 2020 Neil Brian Ramirez +/* + * Copyright 2023 Mokey12×2 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,15 +15,12 @@ * along with this program. If not, see . */ -#include "octopad.h" +#include QMK_KEYBOARD_H -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { -// if (!encoder_update_user(index, clockwise)) return false; - encoder_action_register(index, clockwise); - return true; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_A, KC_B, KC_C, KC_D, KC_1, + KC_E, KC_F, KC_G, KC_H, KC_2, + KC_I, KC_J, KC_K, KC_L, + KC_I, KC_J, KC_K, KC_L) }; diff --git a/keyboards/mokey/mokey12x2/keymaps/via/rules.mk b/keyboards/mokey/mokey12x2/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/mokey/mokey12x2/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/mokey/mokey12x2/readme.md b/keyboards/mokey/mokey12x2/readme.md new file mode 100644 index 00000000000..75a87062c98 --- /dev/null +++ b/keyboards/mokey/mokey12x2/readme.md @@ -0,0 +1,23 @@ +# mokey12x2 + +A Blue Pill STM32F103C8T6-based keyboard. + +* Keyboard Maintainer: [rhmokey](https://github.com/rhmokey) +* Hardware Supported: [rhmokey](https://github.com/rhmokey) + +Make example for this keyboard (after setting up your build environment): + + make mokey/mokey12x2:default + +Flashing example for this keyboard: + + make mokey/mokey12x2: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 button**: Briefly press the button: [boot] first, then press button: [reset] on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/mokey/mokey12x2/rules.mk b/keyboards/mokey/mokey12x2/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/mokey/mokey12x2/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/momoka_ergo/config.h b/keyboards/momoka_ergo/config.h index 9f4cc586e4c..38217890474 100644 --- a/keyboards/momoka_ergo/config.h +++ b/keyboards/momoka_ergo/config.h @@ -19,16 +19,12 @@ along with this program. If not, see . #define SELECT_SOFT_SERIAL_SPEED 5 -#define RGBLED_NUM 22 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_CHRISTMAS #define RGBLIGHT_EFFECT_KNIGHT #define RGBLIGHT_EFFECT_RAINBOW_SWIRL #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/momoka_ergo/info.json b/keyboards/momoka_ergo/info.json index 99f8dbd51a4..7245ef0e904 100644 --- a/keyboards/momoka_ergo/info.json +++ b/keyboards/momoka_ergo/info.json @@ -17,6 +17,9 @@ "soft_serial_pin": "D1" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, "split_count": [11, 11] }, "ws2812": { diff --git a/keyboards/monarch/info.json b/keyboards/monarch/info.json index 95daea5cdbe..ff47a1be3e1 100644 --- a/keyboards/monarch/info.json +++ b/keyboards/monarch/info.json @@ -262,10 +262,7 @@ {"matrix": [4, 13], "x": 13.25, "y": 4.25}, {"matrix": [4, 14], "x": 14.25, "y": 4.25}, - {"matrix": [4, 15], "x": 15.25, "y": 4.25}, - - {"matrix": [5, 0], "x": 0, "y": 5}, - {"matrix": [5, 1], "x": 1, "y": 5} + {"matrix": [4, 15], "x": 15.25, "y": 4.25} ] } } diff --git a/keyboards/monarch/keymaps/default/keymap.c b/keyboards/monarch/keymaps/default/keymap.c index a9f67ee904a..76d64c35635 100644 --- a/keyboards/monarch/keymaps/default/keymap.c +++ b/keyboards/monarch/keymaps/default/keymap.c @@ -33,12 +33,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, BL_TOGG, _______, BL_DOWN, BL_OFF, BL_UP ) }; - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return true; -} diff --git a/keyboards/monarch/keymaps/iso/keymap.c b/keyboards/monarch/keymaps/iso/keymap.c index e707b2104b5..5df9e560d0c 100644 --- a/keyboards/monarch/keymaps/iso/keymap.c +++ b/keyboards/monarch/keymaps/iso/keymap.c @@ -33,12 +33,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, BL_TOGG, _______, BL_DOWN, BL_OFF, BL_UP ) }; - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return true; -} diff --git a/keyboards/monarch/keymaps/via/keymap.c b/keyboards/monarch/keymaps/via/keymap.c index c70f9c213b9..39ad94fb8eb 100644 --- a/keyboards/monarch/keymaps/via/keymap.c +++ b/keyboards/monarch/keymaps/via/keymap.c @@ -23,70 +23,35 @@ 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_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_NO, 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_LEFT, KC_DOWN, KC_RGHT, - KC_VOLD, KC_VOLU + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_ON, - _______, _______, _______, BL_TOGG, _______, BL_DOWN, BL_OFF, BL_UP, - _______, _______ + _______, _______, _______, BL_TOGG, _______, BL_DOWN, BL_OFF, BL_UP ), [2] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______ ) }; - -keyevent_t encoder_ccw = { - .key = (keypos_t){.row = 5, .col = 0}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder_cw = { - .key = (keypos_t){.row = 5, .col = 1}, - .pressed = false, - .type = KEY_EVENT +#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(_______, _______) }, }; - -void matrix_scan_user(void) { - if (encoder_ccw.pressed) { - encoder_ccw.pressed = false; - encoder_ccw.time = timer_read(); - action_exec(encoder_ccw); - } - - if (encoder_cw.pressed) { - encoder_cw.pressed = false; - encoder_cw.time = timer_read(); - action_exec(encoder_cw); - } -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - encoder_cw.pressed = true; - encoder_cw.time = timer_read(); - action_exec(encoder_cw); - } else { - encoder_ccw.pressed = true; - encoder_ccw.time = timer_read(); - action_exec(encoder_ccw); - } - return true; -} +#endif diff --git a/keyboards/monarch/keymaps/via/rules.mk b/keyboards/monarch/keymaps/via/rules.mk index 1e5b99807cb..f1adcab005e 100644 --- a/keyboards/monarch/keymaps/via/rules.mk +++ b/keyboards/monarch/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/monarch/rules.mk b/keyboards/monarch/rules.mk index 5a2c15a821f..195a2958ce7 100644 --- a/keyboards/monarch/rules.mk +++ b/keyboards/monarch/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output SLEEP_LED_ENABLE = yes ENCODER_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/monsgeek/m5/config.h b/keyboards/monsgeek/m5/config.h new file mode 100644 index 00000000000..6d43bd4f267 --- /dev/null +++ b/keyboards/monsgeek/m5/config.h @@ -0,0 +1,54 @@ +/* Copyright (C) 2022 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 . + */ + +#pragma once + +/* Use 5 dynamic keymap layers */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 + +/* LED Indicators */ +#define LED_WIN_LOCK_PIN C11 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* SPI Config for spi flash*/ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 +#define SPI_MOSI_PAL_MODE 5 + +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 +#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) + +/* I2C Config for LED Driver */ +#define DRIVER_COUNT 2 +#define DRIVER_ADDR_1 0b1110100 +#define DRIVER_ADDR_2 0b1110111 +#define I2C1_OPMODE OPMODE_I2C +#define I2C1_CLOCK_SPEED 400000 /* 400000 */ +#define I2C1_SCL_PAL_MODE 4 + +#define RGB_MATRIX_LED_COUNT 108 + +#define RGB_TRIGGER_ON_KEYDOWN +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/monsgeek/m5/halconf.h b/keyboards/monsgeek/m5/halconf.h new file mode 100644 index 00000000000..2f64e65393a --- /dev/null +++ b/keyboards/monsgeek/m5/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2022 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 . + */ +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/monsgeek/m5/info.json b/keyboards/monsgeek/m5/info.json new file mode 100644 index 00000000000..03711c9a1b6 --- /dev/null +++ b/keyboards/monsgeek/m5/info.json @@ -0,0 +1,290 @@ +{ + "keyboard_name": "M5", + "manufacturer": "MonsGeek", + "maintainer": "jonylee@hfd", + "usb": { + "vid": "0xFFFE", + "pid": "0x000A", + "device_version": "1.0.4", + "suspend_wakeup_delay": 400, + "force_nkro": true + }, + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["C1","C2","C3","A0","A1","A2","A3","A4","A5","A6","A7","C4","C5","B0","B1","B2","B10","B11","B12","B13","B14"], + "rows": ["B15", "C6", "C7", "C8", "C9", "A8"] + }, + "diode_direction": "ROW2COL", + "indicators": { + "num_lock":"A15", + "caps_lock": "C10" + }, + "rgb_matrix": { + "driver": "IS31FL3733", + "max_brightness": 180, + "animations": { + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "raindrops": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "multisplash": true + }, + "layout":[ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 30, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 40, "y": 0 }, + { "flags": 4, "matrix": [0, 4], "x": 50, "y": 0 }, + { "flags": 4, "matrix": [0, 5], "x": 70, "y": 0 }, + { "flags": 4, "matrix": [0, 6], "x": 80, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 90, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x": 100, "y": 0 }, + { "flags": 4, "matrix": [0, 9], "x": 110, "y": 0 }, + { "flags": 4, "matrix": [0, 10], "x": 120, "y": 0 }, + { "flags": 4, "matrix": [0, 11], "x": 130, "y": 0 }, + { "flags": 4, "matrix": [0, 12], "x": 140, "y": 0 }, + { "flags": 4, "matrix": [0, 14], "x": 156, "y": 0 }, + { "flags": 4, "matrix": [0, 15], "x": 166, "y": 0 }, + { "flags": 4, "matrix": [0, 16], "x": 176, "y": 0 }, + { "flags": 4, "matrix": [0, 17], "x": 194, "y": 0 }, + { "flags": 4, "matrix": [0, 18], "x": 204, "y": 0 }, + { "flags": 4, "matrix": [0, 19], "x": 214, "y": 0 }, + { "flags": 4, "matrix": [0, 20], "x": 224, "y": 0 }, + + + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 13 }, + { "flags": 4, "matrix": [1, 1], "x": 10, "y": 13 }, + { "flags": 4, "matrix": [1, 2], "x": 20, "y": 13 }, + { "flags": 4, "matrix": [1, 3], "x": 30, "y": 13 }, + { "flags": 4, "matrix": [1, 4], "x": 40, "y": 13 }, + { "flags": 4, "matrix": [1, 5], "x": 50, "y": 13 }, + { "flags": 4, "matrix": [1, 6], "x": 60, "y": 13 }, + { "flags": 4, "matrix": [1, 7], "x": 70, "y": 13 }, + { "flags": 4, "matrix": [1, 8], "x": 80, "y": 13 }, + { "flags": 4, "matrix": [1, 9], "x": 90, "y": 13 }, + { "flags": 4, "matrix": [1, 10], "x": 100, "y": 13 }, + { "flags": 4, "matrix": [1, 11], "x": 110, "y": 13 }, + { "flags": 4, "matrix": [1, 12], "x": 120, "y": 13 }, + { "flags": 4, "matrix": [1, 13], "x": 140, "y": 13 }, + { "flags": 4, "matrix": [1, 14], "x": 156, "y": 13 }, + { "flags": 4, "matrix": [1, 15], "x": 166, "y": 13 }, + { "flags": 4, "matrix": [1, 16], "x": 176, "y": 13 }, + { "flags": 4, "matrix": [1, 17], "x": 194, "y": 13 }, + { "flags": 4, "matrix": [1, 18], "x": 204, "y": 13 }, + { "flags": 4, "matrix": [1, 19], "x": 214, "y": 13 }, + { "flags": 4, "matrix": [1, 20], "x": 224, "y": 13 }, + + { "flags": 4, "matrix": [2, 0], "x": 0, "y": 26 }, + { "flags": 4, "matrix": [2, 1], "x": 10, "y": 26 }, + { "flags": 4, "matrix": [2, 2], "x": 20, "y": 26 }, + { "flags": 4, "matrix": [2, 3], "x": 30, "y": 26 }, + { "flags": 4, "matrix": [2, 4], "x": 40, "y": 26 }, + { "flags": 4, "matrix": [2, 5], "x": 50, "y": 26 }, + { "flags": 4, "matrix": [2, 6], "x": 60, "y": 26 }, + { "flags": 4, "matrix": [2, 7], "x": 70, "y": 26 }, + { "flags": 4, "matrix": [2, 8], "x": 80, "y": 26 }, + { "flags": 4, "matrix": [2, 9], "x": 90, "y": 26 }, + { "flags": 4, "matrix": [2, 10], "x": 100, "y": 26 }, + { "flags": 4, "matrix": [2, 11], "x": 110, "y": 26 }, + { "flags": 4, "matrix": [2, 12], "x": 128, "y": 26 }, + { "flags": 4, "matrix": [2, 13], "x": 140, "y": 26 }, + { "flags": 4, "matrix": [2, 14], "x": 156, "y": 26 }, + { "flags": 4, "matrix": [2, 15], "x": 166, "y": 26 }, + { "flags": 4, "matrix": [2, 16], "x": 176, "y": 26 }, + { "flags": 4, "matrix": [2, 17], "x": 194, "y": 26 }, + { "flags": 4, "matrix": [2, 18], "x": 204, "y": 26 }, + { "flags": 4, "matrix": [2, 19], "x": 214, "y": 26 }, + { "flags": 4, "matrix": [2, 20], "x": 224, "y": 26 }, + + { "flags": 4, "matrix": [3, 0], "x": 0, "y": 38 }, + { "flags": 4, "matrix": [3, 1], "x": 10, "y": 38 }, + { "flags": 4, "matrix": [3, 2], "x": 20, "y": 38 }, + { "flags": 4, "matrix": [3, 3], "x": 30, "y": 38 }, + { "flags": 4, "matrix": [3, 4], "x": 40, "y": 38 }, + { "flags": 4, "matrix": [3, 5], "x": 50, "y": 38 }, + { "flags": 4, "matrix": [3, 6], "x": 60, "y": 38 }, + { "flags": 4, "matrix": [3, 7], "x": 70, "y": 38 }, + { "flags": 4, "matrix": [3, 8], "x": 80, "y": 38 }, + { "flags": 4, "matrix": [3, 9], "x": 90, "y": 38 }, + { "flags": 4, "matrix": [3, 10], "x": 100, "y": 38 }, + { "flags": 4, "matrix": [3, 11], "x": 110, "y": 38 }, + { "flags": 4, "matrix": [3, 13], "x": 135, "y": 38 }, + { "flags": 4, "matrix": [3, 17], "x": 194, "y": 38 }, + { "flags": 4, "matrix": [3, 18], "x": 204, "y": 38 }, + { "flags": 4, "matrix": [3, 19], "x": 214, "y": 38 }, + + { "flags": 4, "matrix": [4, 0], "x": 5, "y": 51 }, + { "flags": 4, "matrix": [4, 1], "x": 20, "y": 51 }, + { "flags": 4, "matrix": [4, 2], "x": 30, "y": 51 }, + { "flags": 4, "matrix": [4, 3], "x": 40, "y": 51 }, + { "flags": 4, "matrix": [4, 4], "x": 50, "y": 51 }, + { "flags": 4, "matrix": [4, 5], "x": 60, "y": 51 }, + { "flags": 4, "matrix": [4, 6], "x": 70, "y": 51 }, + { "flags": 4, "matrix": [4, 7], "x": 80, "y": 51 }, + { "flags": 4, "matrix": [4, 8], "x": 90, "y": 51 }, + { "flags": 4, "matrix": [4, 9], "x": 100, "y": 51 }, + { "flags": 4, "matrix": [4, 10], "x": 110, "y": 51 }, + { "flags": 4, "matrix": [4, 13], "x": 135, "y": 51 }, + { "flags": 4, "matrix": [4, 15], "x": 166, "y": 51 }, + { "flags": 4, "matrix": [4, 17], "x": 194, "y": 51 }, + { "flags": 4, "matrix": [4, 18], "x": 204, "y": 51 }, + { "flags": 4, "matrix": [4, 19], "x": 214, "y": 51 }, + { "flags": 4, "matrix": [4, 20], "x": 224, "y": 51 }, + + { "flags": 4, "matrix": [5, 0], "x": 0, "y": 64 }, + { "flags": 4, "matrix": [5, 1], "x": 10, "y": 64 }, + { "flags": 4, "matrix": [5, 2], "x": 20, "y": 64 }, + { "flags": 4, "matrix": [5, 5], "x": 60, "y": 64 }, + { "flags": 4, "matrix": [5, 9], "x": 100, "y": 64 }, + { "flags": 4, "matrix": [5, 10], "x": 110, "y": 64 }, + { "flags": 4, "matrix": [5, 11], "x": 130, "y": 64 }, + { "flags": 4, "matrix": [5, 13], "x": 140, "y": 64 }, + { "flags": 4, "matrix": [5, 14], "x": 156, "y": 64 }, + { "flags": 4, "matrix": [5, 15], "x": 166, "y": 64 }, + { "flags": 4, "matrix": [5, 16], "x": 176, "y": 64 }, + { "flags": 4, "matrix": [5, 18], "x": 199, "y": 64 }, + { "flags": 4, "matrix": [5, 19], "x": 214, "y": 64 } + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 1], "x": 2, "y": 0 }, + { "label": "F2", "matrix": [0, 2], "x": 3, "y": 0 }, + { "label": "F3", "matrix": [0, 3], "x": 4, "y": 0 }, + { "label": "F4", "matrix": [0, 4], "x": 5, "y": 0 }, + { "label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0 }, + { "label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0 }, + { "label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0 }, + { "label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0 }, + { "label": "F9", "matrix": [0, 9], "x": 11, "y": 0 }, + { "label": "F10", "matrix": [0, 10], "x": 12, "y": 0 }, + { "label": "F11", "matrix": [0, 11], "x": 13, "y": 0 }, + { "label": "F12", "matrix": [0, 12], "x": 14, "y": 0 }, + { "label": "PrtSc", "matrix": [0, 14], "x": 15.25, "y": 0 }, + { "label": "ScrLk", "matrix": [0, 15], "x": 16.25, "y": 0 }, + { "label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0 }, + { "label": "Cal", "matrix": [0, 17], "x": 18.5, "y": 0 }, + { "label": "Mute", "matrix": [0, 18], "x": 19.5, "y": 0 }, + { "label": "Vold", "matrix": [0, 19], "x": 20.5, "y": 0 }, + { "label": "Volu", "matrix": [0, 20], "x": 21.5, "y": 0 }, + + { "label": "~", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "!", "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "label": "@", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "#", "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "label": "$", "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "label": "%", "matrix": [1, 5], "x": 5, "y": 1.25 }, + { "label": "^", "matrix": [1, 6], "x": 6, "y": 1.25 }, + { "label": "&", "matrix": [1, 7], "x": 7, "y": 1.25 }, + { "label": "*", "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "label": "(", "matrix": [1, 9], "x": 9, "y": 1.25 }, + { "label": ")", "matrix": [1, 10], "x": 10, "y": 1.25 }, + { "label": "_", "matrix": [1, 11], "x": 11, "y": 1.25 }, + { "label": "+", "matrix": [1, 12], "x": 12, "y": 1.25 }, + { "label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2 }, + { "label": "Ins", "matrix": [1, 14], "x": 15.25, "y": 1.25 }, + { "label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25 }, + { "label": "PgUp", "matrix": [1, 16], "x": 17.25, "y": 1.25 }, + { "label": "Num", "matrix": [1, 17], "x": 18.5, "y": 1.25 }, + { "label": "/", "matrix": [1, 18], "x": 19.5, "y": 1.25 }, + { "label": "*", "matrix": [1, 19], "x": 20.5, "y": 1.25 }, + { "label": "-", "matrix": [1, 20], "x": 21.5, "y": 1.25 }, + + { "label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5 }, + { "label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25 }, + { "label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25 }, + { "label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25 }, + { "label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25 }, + { "label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25 }, + { "label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25 }, + { "label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25 }, + { "label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25 }, + { "label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25 }, + { "label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25 }, + { "label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25 }, + { "label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25 }, + { "label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5 }, + { "label": "Del", "matrix": [2, 14], "x": 15.25, "y": 2.25 }, + { "label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25 }, + { "label": "PgDn", "matrix": [2, 16], "x": 17.25, "y": 2.25 }, + { "label": "7", "matrix": [2, 17], "x": 18.5, "y": 2.25 }, + { "label": "8", "matrix": [2, 18], "x": 19.5, "y": 2.25 }, + { "label": "9", "matrix": [2, 19], "x": 20.5, "y": 2.25 }, + { "label": "+", "matrix": [2, 20], "x": 21.5, "y": 2.25, "h": 2 }, + + { "label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75 }, + { "label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25 }, + { "label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25 }, + { "label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25 }, + { "label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25 }, + { "label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25 }, + { "label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25 }, + { "label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25 }, + { "label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25 }, + { "label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25 }, + { "label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25 }, + { "label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25 }, + { "label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25 }, + { "label": "4", "matrix": [3, 17], "x": 18.5, "y": 3.25 }, + { "label": "5", "matrix": [3, 18], "x": 19.5, "y": 3.25 }, + { "label": "6", "matrix": [3, 19], "x": 20.5, "y": 3.25 }, + + { "label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25 }, + { "label": "Z", "matrix": [4, 1], "x": 2.25, "y": 4.25 }, + { "label": "X", "matrix": [4, 2], "x": 3.25, "y": 4.25 }, + { "label": "C", "matrix": [4, 3], "x": 4.25, "y": 4.25 }, + { "label": "V", "matrix": [4, 4], "x": 5.25, "y": 4.25 }, + { "label": "B", "matrix": [4, 5], "x": 6.25, "y": 4.25 }, + { "label": "N", "matrix": [4, 6], "x": 7.25, "y": 4.25 }, + { "label": "M", "matrix": [4, 7], "x": 8.25, "y": 4.25 }, + { "label": "<", "matrix": [4, 8], "x": 9.25, "y": 4.25 }, + { "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, + { "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, + { "label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75 }, + { "label": "Up", "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "label": "1", "matrix": [4, 17], "x": 18.5, "y": 4.25 }, + { "label": "2", "matrix": [4, 18], "x": 19.5, "y": 4.25 }, + { "label": "3", "matrix": [4, 19], "x": 20.5, "y": 4.25 }, + { "label": "Enter", "matrix": [4, 20], "x": 21.5, "y": 4.25, "h": 2 }, + + { "label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25 }, + { "label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25 }, + { "label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25 }, + { "label": "Space", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25 }, + { "label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25 }, + { "label": "Win", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25 }, + { "label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25 }, + { "label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25 }, + { "label": "Left", "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "label": "Down", "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "label": "Right", "matrix": [5, 16], "x": 17.25, "y": 5.25 }, + { "label": "0", "matrix": [5, 18], "x": 18.5, "y": 5.25, "w": 2 }, + { "label": ".", "matrix": [5, 19], "x": 20.5, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/monsgeek/m5/keymaps/default/keymap.c b/keyboards/monsgeek/m5/keymaps/default/keymap.c new file mode 100644 index 00000000000..28c433736cc --- /dev/null +++ b/keyboards/monsgeek/m5/keymaps/default/keymap.c @@ -0,0 +1,79 @@ +/* Copyright (C) 2022 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_WASD, + WIN_FN, + MAC_B, + MAC_WASD, + 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_WASD] = 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_WASD),_______,_______,_______,_______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, + _______, GUI_TOG, _______, _______, _______, _______, _______, _______, 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_WASD] = 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_WASD),_______,_______,_______,_______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______) +}; +// clang-format on diff --git a/keyboards/monsgeek/m5/keymaps/via/keymap.c b/keyboards/monsgeek/m5/keymaps/via/keymap.c new file mode 100644 index 00000000000..12c20087058 --- /dev/null +++ b/keyboards/monsgeek/m5/keymaps/via/keymap.c @@ -0,0 +1,79 @@ +/* Copyright (C) 2022 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/monsgeek/m5/keymaps/via/rules.mk b/keyboards/monsgeek/m5/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/monsgeek/m5/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/monsgeek/m5/m5.c b/keyboards/monsgeek/m5/m5.c new file mode 100644 index 00000000000..7dbc3111bf0 --- /dev/null +++ b/keyboards/monsgeek/m5/m5.c @@ -0,0 +1,163 @@ +/* Copyright (C) 2022 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 "quantum.h" +// clang-format off +#ifdef RGB_MATRIX_ENABLE +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 + * | | | | */ + /*row0*/ + {1, A_1, B_1, C_1}, + {1, A_2, B_2, C_2}, + {1, A_3, B_3, C_3}, + {1, A_4, B_4, C_4}, + {1, A_5, B_5, C_5}, + {1, A_6, B_6, C_6}, + {1, A_7, B_7, C_7}, + {1, A_8, B_8, C_8}, + {1, A_9, B_9, C_9}, + {1, A_10, B_10, C_10}, + {1, A_11, B_11, C_11}, + {1, A_12, B_12, C_12}, + {1, A_13, B_13, C_13}, + {1, A_14, B_14, C_14}, + {1, A_15, B_15, C_15}, + {1, A_16, B_16, C_16}, + {1, D_11, E_11, F_11}, + {1, D_12, E_12, F_12}, + {1, D_13, E_13, F_13}, + {1, D_14, E_14, F_14}, + + /*row1*/ + {0, A_1, B_1, C_1}, + {0, A_2, B_2, C_2}, + {0, A_3, B_3, C_3}, + {0, A_4, B_4, C_4}, + {0, A_5, B_5, C_5}, + {0, A_6, B_6, C_6}, + {0, A_7, B_7, C_7}, + {0, A_8, B_8, C_8}, + {0, A_9, B_9, C_9}, + {0, A_10, B_10, C_10}, + {0, A_11, B_11, C_11}, + {0, A_12, B_12, C_12}, + {0, A_13, B_13, C_13}, + {0, A_14, B_14, C_14}, + {1, D_1, E_1, F_1 }, + {1, D_2, E_2, F_2}, + {1, D_3, E_3, F_3}, + {1, D_4, E_4, F_4}, + {1, D_5, E_5, F_5}, + {1, D_6, E_6, F_6}, + {1, D_7, E_7, F_7}, + + /*row2*/ + {0, D_1, E_1, F_1}, + {0, D_2, E_2, F_2}, + {0, D_3, E_3, F_3}, + {0, D_4, E_4, F_4}, + {0, D_5, E_5, F_5}, + {0, D_6, E_6, F_6}, + {0, D_7, E_7, F_7}, + {0, D_8, E_8, F_8}, + {0, D_9, E_9, F_9}, + {0, D_10, E_10, F_10}, + {0, D_11, E_11, F_11}, + {0, D_12, E_12, F_12}, + {0, D_13, E_13, F_13}, + {0, D_14, E_14, F_14}, + {1, G_1, H_1, I_1}, + {1, G_2, H_2, I_2}, + {1, G_3, H_3, I_3}, + {1, D_8, E_8, F_8}, + {1, D_9, E_9, F_9}, + {1, D_10, E_10, F_10}, + {1, G_7, H_7, I_7}, + + /*row3*/ + {0, G_1, H_1, I_1}, + {0, G_2, H_2, I_2}, + {0, G_3, H_3, I_3}, + {0, G_4, H_4, I_4}, + {0, G_5, H_5, I_5}, + {0, G_6, H_6, I_6}, + {0, G_7, H_7, I_7}, + {0, G_8, H_8, I_8}, + {0, G_9, H_9, I_9}, + {0, G_10, H_10, I_10}, + {0, G_11, H_11, I_11}, + {0, G_12, H_12, I_12}, + {0, G_13, H_13, I_13}, + {1, G_4, H_4, I_4}, + {1, G_5, H_5, I_5}, + {1, G_6, H_6, I_6}, + + + /*row4*/ + {0, J_1, K_1, L_1}, + {0, J_2, K_2, L_2}, + {0, J_3, K_3, L_3}, + {0, J_4, K_4, L_4}, + {0, J_5, K_5, L_5}, + {0, J_6, K_6, L_6}, + {0, J_7, K_7, L_7}, + {0, J_8, K_8, L_8}, + {0, J_9, K_9, L_9}, + {0, J_10, K_10, L_10}, + {0, J_11, K_11, L_11}, + {0, J_12, K_12, L_12}, + {1, J_4, K_4, L_4}, + {1, J_7, K_7, L_7}, + {1, J_8, K_8, L_8}, + {1, J_9, K_9, L_9}, + {1, J_10, K_10, L_10}, + + /*row5*/ + {0, J_13, K_13, L_13}, + {0, J_14, K_14, L_14}, + {0, J_15, K_15, L_15}, + {0, J_16, K_16, L_16}, + {0, G_14, H_14, I_14}, + {0, G_15, H_15, I_15}, + {0, G_16, H_16, I_16}, + {0, D_15, E_15, F_15}, + {1, J_1, K_1, L_1}, + {1, J_2, K_2, L_2}, + {1, J_3, K_3, L_3}, + {1, J_5, K_5, L_5}, + {1, J_6, K_6, L_6}, + +}; +#endif + +void keyboard_pre_init_kb(void) { + setPinOutput(LED_WIN_LOCK_PIN); // LED3 Win Lock + writePinLow(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) { + writePin(LED_WIN_LOCK_PIN, keymap_config.no_gui); + } + return res; +} diff --git a/keyboards/monsgeek/m5/mcuconf.h b/keyboards/monsgeek/m5/mcuconf.h new file mode 100644 index 00000000000..0d16f4f04e4 --- /dev/null +++ b/keyboards/monsgeek/m5/mcuconf.h @@ -0,0 +1,24 @@ +/* Copyright (C) 2022 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 . + */ +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE + +#undef WB32_I2C_USE_I2C1 +#define WB32_I2C_USE_I2C1 TRUE diff --git a/keyboards/monsgeek/m5/readme.md b/keyboards/monsgeek/m5/readme.md new file mode 100644 index 00000000000..6574b3d6631 --- /dev/null +++ b/keyboards/monsgeek/m5/readme.md @@ -0,0 +1,20 @@ +# m5 + +A customizable 100% keyboard. + +* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) +* Hardware Supported: m5 +* Hardware Availability: [monsgeek](https://www.monsgeek.com/) + +Make example for this keyboard (after setting up your build environment): + + make monsgeek/m5:default + +Flashing example for this keyboard: + + make monsgeek/m5:default:flash + +## Bootloader +**Reset Key**: Hold down the key located at *K000*, which programmed as *Esc* while plugging in the keyboard. + +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/monsgeek/m5/rules.mk b/keyboards/monsgeek/m5/rules.mk new file mode 100644 index 00000000000..24d5f6f52ec --- /dev/null +++ b/keyboards/monsgeek/m5/rules.mk @@ -0,0 +1,2 @@ +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/monsgeek/m6/config.h b/keyboards/monsgeek/m6/config.h new file mode 100644 index 00000000000..5fcd897429a --- /dev/null +++ b/keyboards/monsgeek/m6/config.h @@ -0,0 +1,51 @@ +/* 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 . + */ + +#pragma once + +/* Use 6 dynamic keymap layers */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 6 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* SPI Config for spi flash*/ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 +#define SPI_MOSI_PAL_MODE 5 + +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 +#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) + +/* I2C Config for LED Driver */ +#define DRIVER_COUNT 2 +#define DRIVER_ADDR_1 0b1110100 +#define DRIVER_ADDR_2 0b1110111 +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_OPMODE OPMODE_I2C +#define I2C1_CLOCK_SPEED 400000 /* 400000 */ + +#define RGB_MATRIX_LED_COUNT 92 + +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_TRIGGER_ON_KEYDOWN +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/monsgeek/m6/halconf.h b/keyboards/monsgeek/m6/halconf.h new file mode 100644 index 00000000000..2f64e65393a --- /dev/null +++ b/keyboards/monsgeek/m6/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2022 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 . + */ +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/monsgeek/m6/info.json b/keyboards/monsgeek/m6/info.json new file mode 100644 index 00000000000..78d6c1bf943 --- /dev/null +++ b/keyboards/monsgeek/m6/info.json @@ -0,0 +1,232 @@ +{ + "keyboard_name": "M6", + "manufacturer": "MonsGeek", + "maintainer": "jonylee@hfd", + "usb": { + "force_nkro": true, + "vid": "0xFFFE", + "pid": "0x0011", + "device_version": "1.0.0", + "suspend_wakeup_delay": 400 + }, + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B2"], + "rows": ["C6", "C7", "C8", "C9", "A8"] + }, + "diode_direction": "ROW2COL", + "rgb_matrix": { + "driver": "IS31FL3733", + "max_brightness": 200, + "val_steps": 20, + "animations": { + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "raindrops": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "multisplash": true + }, + "layout":[ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, + { "flags": 4, "matrix": [0, 1], "x": 13, "y": 0}, + { "flags": 4, "matrix": [0, 2], "x": 26, "y": 0}, + { "flags": 4, "matrix": [0, 3], "x": 39, "y": 0}, + { "flags": 4, "matrix": [0, 4], "x": 52, "y": 0}, + { "flags": 4, "matrix": [0, 5], "x": 65, "y": 0}, + { "flags": 4, "matrix": [0, 6], "x": 78, "y": 0}, + { "flags": 4, "matrix": [0, 7], "x":115, "y": 0}, + { "flags": 4, "matrix": [0, 8], "x":128, "y": 0}, + { "flags": 4, "matrix": [0, 9], "x":141, "y": 0}, + { "flags": 4, "matrix": [0, 10], "x":154, "y": 0}, + { "flags": 4, "matrix": [0, 11], "x":167, "y": 0}, + { "flags": 4, "matrix": [0, 12], "x":180, "y": 0}, + { "flags": 4, "matrix": [0, 13], "x":193, "y": 0}, + { "flags": 4, "matrix": [0, 15], "x":224, "y": 0}, + + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 16}, + { "flags": 4, "matrix": [1, 1], "x": 19, "y": 16}, + { "flags": 4, "matrix": [1, 2], "x": 33, "y": 16}, + { "flags": 4, "matrix": [1, 3], "x": 46, "y": 16}, + { "flags": 4, "matrix": [1, 4], "x": 59, "y": 16}, + { "flags": 4, "matrix": [1, 5], "x": 72, "y": 16}, + { "flags": 4, "matrix": [1, 6], "x":108, "y": 16}, + { "flags": 4, "matrix": [1, 7], "x":122, "y": 16}, + { "flags": 4, "matrix": [1, 8], "x":135, "y": 16}, + { "flags": 4, "matrix": [1, 9], "x":148, "y": 16}, + { "flags": 4, "matrix": [1, 10], "x":161, "y": 16}, + { "flags": 4, "matrix": [1, 11], "x":174, "y": 16}, + { "flags": 4, "matrix": [1, 12], "x":187, "y": 16}, + { "flags": 4, "matrix": [1, 13], "x":200, "y": 16}, + { "flags": 4, "matrix": [1, 15], "x":224, "y": 16}, + + { "flags": 4, "matrix": [2, 0], "x": 0, "y": 32}, + { "flags": 4, "matrix": [2, 1], "x": 23, "y": 32}, + { "flags": 4, "matrix": [2, 2], "x": 36, "y": 32}, + { "flags": 4, "matrix": [2, 3], "x": 49, "y": 32}, + { "flags": 4, "matrix": [2, 4], "x": 62, "y": 32}, + { "flags": 4, "matrix": [2, 5], "x": 75, "y": 32}, + { "flags": 4, "matrix": [2, 6], "x":112, "y": 32}, + { "flags": 4, "matrix": [2, 7], "x":125, "y": 32}, + { "flags": 4, "matrix": [2, 8], "x":138, "y": 32}, + { "flags": 4, "matrix": [2, 9], "x":151, "y": 32}, + { "flags": 4, "matrix": [2, 10], "x":164, "y": 32}, + { "flags": 4, "matrix": [2, 11], "x":177, "y": 32}, + { "flags": 4, "matrix": [2, 12], "x":190, "y": 32}, + { "flags": 4, "matrix": [2, 13], "x":203, "y": 32}, + { "flags": 4, "matrix": [2, 15], "x":224, "y": 32}, + + { "flags": 4, "matrix": [3, 0], "x": 0, "y": 48}, + { "flags": 4, "matrix": [3, 11], "x": 16, "y": 48}, + { "flags": 4, "matrix": [3, 1], "x": 29, "y": 48}, + { "flags": 4, "matrix": [3, 2], "x": 42, "y": 48}, + { "flags": 4, "matrix": [3, 3], "x": 65, "y": 48}, + { "flags": 4, "matrix": [3, 4], "x": 78, "y": 48}, + { "flags": 4, "matrix": [3, 5], "x": 91, "y": 48}, + { "flags": 4, "matrix": [3, 6], "x":105, "y": 48}, + { "flags": 4, "matrix": [3, 7], "x":118, "y": 48}, + { "flags": 4, "matrix": [3, 8], "x":131, "y": 48}, + { "flags": 4, "matrix": [3, 9], "x":144, "y": 48}, + { "flags": 4, "matrix": [3, 10], "x":158, "y": 48}, + { "flags": 4, "matrix": [3, 13], "x":171, "y": 48}, + { "flags": 4, "matrix": [3, 14], "x":184, "y": 48}, + { "flags": 4, "matrix": [3, 15], "x":210, "y": 48}, + + { "flags": 4, "matrix": [4, 0], "x": 0, "y": 64}, + { "flags": 4, "matrix": [4, 1], "x": 37, "y": 64}, + { "flags": 4, "matrix": [4, 2], "x": 59, "y": 64}, + { "flags": 4, "matrix": [4, 5], "x": 85, "y": 64}, + { "flags": 4, "matrix": [4, 9], "x":105, "y": 64}, + { "flags": 4, "matrix": [4, 10], "x":138, "y": 64}, + { "flags": 4, "matrix": [4, 11], "x":158, "y": 64}, + { "flags": 4, "matrix": [4, 13], "x":196, "y": 64}, + { "flags": 4, "matrix": [4, 14], "x":210, "y": 64}, + { "flags": 4, "matrix": [4, 15], "x":224, "y": 64}, + + { "flags": 2, "x":0, "y":0}, + { "flags": 2, "x":0, "y":6}, + { "flags": 2, "x":0, "y":13}, + { "flags": 2, "x":0, "y":19}, + { "flags": 2, "x":0, "y":25}, + { "flags": 2, "x":0, "y":32}, + { "flags": 2, "x":0, "y":38}, + { "flags": 2, "x":0, "y":45}, + { "flags": 2, "x":0, "y":51}, + { "flags": 2, "x":0, "y":57}, + { "flags": 2, "x":0, "y":64}, + + { "flags": 2, "x":224, "y":0}, + { "flags": 2, "x":224, "y":6}, + { "flags": 2, "x":224, "y":13}, + { "flags": 2, "x":224, "y":19}, + { "flags": 2, "x":224, "y":25}, + { "flags": 2, "x":224, "y":32}, + { "flags": 2, "x":224, "y":38}, + { "flags": 2, "x":224, "y":45}, + { "flags": 2, "x":224, "y":51}, + { "flags": 2, "x":224, "y":57}, + { "flags": 2, "x":224, "y":64} + ] + }, + "layouts": { + "LAYOUT": { + "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": 8.75, "y": 0 }, + { "label": "*", "matrix": [0, 8], "x": 9.75, "y": 0 }, + { "label": "(", "matrix": [0, 9], "x": 10.75, "y": 0 }, + { "label": ")", "matrix": [0, 10], "x": 11.75, "y": 0 }, + { "label": "_", "matrix": [0, 11], "x": 12.75, "y": 0 }, + { "label": "+", "matrix": [0, 12], "x": 13.75, "y": 0 }, + { "label": "Bksp", "matrix": [0, 13], "w": 2, "x": 14.75, "y": 0 }, + { "label": "Del", "matrix": [0, 15], "x": 17, "y": 0 }, + + { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1.25 }, + { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1.25 }, + { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1.25 }, + { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1.25 }, + { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1.25 }, + { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1.25 }, + { "label": "Y", "matrix": [1, 6], "x": 8.25, "y": 1.25 }, + { "label": "U", "matrix": [1, 7], "x": 9.25, "y": 1.25 }, + { "label": "I", "matrix": [1, 8], "x": 10.25, "y": 1.25 }, + { "label": "O", "matrix": [1, 9], "x": 11.25, "y": 1.25 }, + { "label": "P", "matrix": [1, 10], "x": 12.25, "y": 1.25 }, + { "label": "{", "matrix": [1, 11], "x": 13.25, "y": 1.25 }, + { "label": "}", "matrix": [1, 12], "x": 14.25, "y": 1.25 }, + { "label": "|", "matrix": [1, 13], "w": 1.5, "x": 15.25, "y": 1.25 }, + { "label": "PageUp", "matrix": [1, 15], "x": 17, "y": 1.25 }, + + { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2.25 }, + { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2.25 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2.25 }, + { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2.25 }, + { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2.25 }, + { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2.25 }, + { "label": "H", "matrix": [2, 6], "x": 8.5, "y": 2.25 }, + { "label": "J", "matrix": [2, 7], "x": 9.5, "y": 2.25 }, + { "label": "K", "matrix": [2, 8], "x": 10.5, "y": 2.25 }, + { "label": "L", "matrix": [2, 9], "x": 11.5, "y": 2.25 }, + { "label": ":", "matrix": [2, 10], "x": 12.5, "y": 2.25 }, + { "label": "'", "matrix": [2, 11], "x": 13.5, "y": 2.25 }, + { "label": ":", "matrix": [2, 12], "x": 14.5, "y": 2.25 }, + { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 14.5, "y": 2.25 }, + { "label": "PageDn", "matrix": [2, 15], "x": 17, "y": 2.25 }, + + { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3.25 }, + { "label": ":", "matrix": [3, 11], "x": 1.25, "y": 3.25 }, + { "label": "Z", "matrix": [3, 1], "x": 2.25, "y": 3.25 }, + { "label": "X", "matrix": [3, 2], "x": 3.25, "y": 3.25 }, + { "label": "C", "matrix": [3, 3], "x": 4.25, "y": 3.25 }, + { "label": "V", "matrix": [3, 4], "x": 5.25, "y": 3.25 }, + { "label": "B", "matrix": [3, 5], "x": 6.25, "y": 3.25 }, + { "label": "B", "matrix": [3, 6], "x": 8, "y": 3.25 }, + { "label": "N", "matrix": [3, 7], "x": 9, "y": 3.25 }, + { "label": "M", "matrix": [3, 8], "x": 10, "y": 3.25 }, + { "label": "<", "matrix": [3, 9], "x": 11, "y": 3.25 }, + { "label": ">", "matrix": [3, 10], "x": 12, "y": 3.25 }, + { "label": "?", "matrix": [3, 13], "x": 13, "y": 3.25 }, + { "label": "Shift", "matrix": [3, 14], "w": 1.75, "x": 14, "y": 3.25 }, + { "label": "Up", "matrix": [3, 15], "x": 16, "y": 3.25 }, + + { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4.25 }, + { "label": "Alt", "matrix": [4, 1], "w": 1.5, "x": 3, "y": 4.25 }, + { "label": "Space", "matrix": [4, 2], "w": 2, "x": 4.5, "y": 4.25 }, + { "label": "Win", "matrix": [4, 5], "w": 1.25, "x": 6.5, "y": 4.25 }, + { "label": "Space", "matrix": [4, 9], "w": 2.5, "x": 8, "y": 4.25 }, + { "label": "Alt", "matrix": [4, 10], "w":1.5, "x": 10.5, "y": 4.25 }, + { "label": "Fn", "matrix": [4, 11], "w":1.5, "x": 12, "y": 4.25 }, + { "label": "Left", "matrix": [4, 13], "x": 15, "y": 4.25 }, + { "label": "Down", "matrix": [4, 14], "x": 16, "y": 4.25 }, + { "label": "Right", "matrix": [4, 15], "x": 17, "y": 4.25 } + ] + } + } +} diff --git a/keyboards/monsgeek/m6/keymaps/default/keymap.c b/keyboards/monsgeek/m6/keymaps/default/keymap.c new file mode 100644 index 00000000000..8a03db1790b --- /dev/null +++ b/keyboards/monsgeek/m6/keymaps/default/keymap.c @@ -0,0 +1,76 @@ +/* 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 +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [WIN_B] = 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_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_NUHS, KC_ENT, KC_PGDN, + 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, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, MO(WIN_FN), KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_W] = LAYOUT( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, + _______, _______, _______, _______, _______, _______, _______, KC_A, KC_S, KC_D), + + [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, _______, RGB_MOD, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, DF(MAC_B),KC_PSCR,_______, _______, _______, KC_HOME, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SPD, RGB_SPI, _______, RGB_HUI, KC_END, + _______, _______, _______, _______, 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_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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_SPC, KC_LALT, KC_SPC, KC_RGUI, MO(WIN_FN), KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_W] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, + _______, _______, _______, _______, _______, _______, _______, KC_A, KC_S, KC_D), + + [MAC_FN] = LAYOUT( /* FN */ + KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, _______, RGB_MOD, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, DF(WIN_B),KC_PSCR,_______, _______, _______, KC_HOME, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SPD, RGB_SPI, _______, RGB_HUI, KC_END, + _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, + _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), +}; + diff --git a/keyboards/monsgeek/m6/keymaps/via/keymap.c b/keyboards/monsgeek/m6/keymaps/via/keymap.c new file mode 100644 index 00000000000..b7e8cecd71d --- /dev/null +++ b/keyboards/monsgeek/m6/keymaps/via/keymap.c @@ -0,0 +1,76 @@ +/* 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 +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) +#define KC_SIRI LCMD(KC_SPC) +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [WIN_B] = 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_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_NUHS, KC_ENT, KC_PGDN, + 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, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, MO(WIN_FN), KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_W] = LAYOUT( /* Base */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, + _______, _______, _______, _______, _______, _______, _______, KC_A, KC_S, KC_D), + + [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, _______, RGB_MOD, + _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, KC_INS, DF(MAC_B),KC_PSCR,_______, _______, _______, KC_HOME, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SPD, RGB_SPI, _______, RGB_HUI, KC_END, + _______, _______, _______, _______, 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_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_NUHS, KC_ENT, KC_PGDN, + 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, KC_UP, + KC_LCTL, KC_LGUI, KC_SPC, KC_LALT, KC_SPC, KC_RGUI, MO(MAC_FN), KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_W] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, + _______, _______, _______, _______, _______, _______, _______, KC_A, KC_S, KC_D), + + [MAC_FN] = LAYOUT( /* FN */ + KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_SIRI, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, _______, RGB_MOD, + _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, KC_INS, DF(WIN_B),KC_PSCR,_______, _______, _______, KC_HOME, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SPD, RGB_SPI, _______, RGB_HUI, KC_END, + _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI, + _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI), +}; + diff --git a/keyboards/monsgeek/m6/keymaps/via/rules.mk b/keyboards/monsgeek/m6/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/monsgeek/m6/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/monsgeek/m6/m6.c b/keyboards/monsgeek/m6/m6.c new file mode 100644 index 00000000000..1823d865cce --- /dev/null +++ b/keyboards/monsgeek/m6/m6.c @@ -0,0 +1,197 @@ +/* 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 "quantum.h" +// clang-format off +#ifdef RGB_MATRIX_ENABLE +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, A_1, B_1, C_1}, + {0, A_2, B_2, C_2}, + {0, A_3, B_3, C_3}, + {0, A_4, B_4, C_4}, + {0, A_5, B_5, C_5}, + {0, A_6, B_6, C_6}, + {0, A_7, B_7, C_7}, + {0, A_8, B_8, C_8}, + {0, A_9, B_9, C_9}, + {0, A_10, B_10, C_10}, + {0, A_11, B_11, C_11}, + {0, A_12, B_12, C_12}, + {0, A_13, B_13, C_13}, + {0, A_14, B_14, C_14}, + {1, D_1, E_1, F_1}, + + {0, D_1, E_1, F_1}, + {0, D_2, E_2, F_2}, + {0, D_3, E_3, F_3}, + {0, D_4, E_4, F_4}, + {0, D_5, E_5, F_5}, + {0, D_6, E_6, F_6}, + {0, D_7, E_7, F_7}, + {0, D_8, E_8, F_8}, + {0, D_9, E_9, F_9}, + {0, D_10, E_10, F_10}, + {0, D_11, E_11, F_11}, + {0, D_12, E_12, F_12}, + {0, D_13, E_13, F_13}, + {0, D_14, E_14, F_14}, + {1, D_2, E_2, F_2}, + + {0, G_1, H_1, I_1}, + {0, G_2, H_2, I_2}, + {0, G_3, H_3, I_3}, + {0, G_4, H_4, I_4}, + {0, G_5, H_5, I_5}, + {0, G_6, H_6, I_6}, + {0, G_7, H_7, I_7}, + {0, G_8, H_8, I_8}, + {0, G_9, H_9, I_9}, + {0, G_10, H_10, I_10}, + {0, G_11, H_11, I_11}, + {0, G_12, H_12, I_12}, + {0, A_15, B_15, C_15}, + {0, G_13, H_13, I_13}, + {1, D_3, E_3, F_3}, + + {0, J_1, K_1, L_1}, + {0, A_16, B_16, C_16}, + {0, J_2, K_2, L_2}, + {0, J_3, K_3, L_3}, + {0, J_4, K_4, L_4}, + {0, J_5, K_5, L_5}, + {0, J_6, K_6, L_6}, + {0, J_7, K_7, L_7}, + {0, J_8, K_8, L_8}, + {0, J_9, K_9, L_9}, + {0, J_10, K_10, L_10}, + {0, J_11, K_11, L_11}, + {0, J_12, K_12, L_12}, + {1, D_7, E_7, F_7}, + {1, D_4, E_4, F_4}, + + {0, J_13, K_13, L_13}, + {0, J_14, K_14, L_14}, + {0, J_15, K_15, L_15}, + {0, J_16, K_16, L_16}, + {0, G_14, H_14, I_14}, + {0, G_15, H_15, I_15}, + {0, G_16, H_16, I_16}, + {0, D_15, E_15, F_15}, + {1, D_6, E_6, F_6}, + {1, D_5, E_5, F_5}, + + + {1, G_1, H_1, I_1}, + {1, G_2, H_2, I_2}, + {1, G_3, H_3, I_3}, + {1, G_4, H_4, I_4}, + {1, G_5, H_5, I_5}, + {1, G_6, H_6, I_6}, + {1, G_7, H_7, I_7}, + {1, G_8, H_8, I_8}, + {1, G_9, H_9, I_9}, + {1, G_10, H_10, I_10}, + {1, G_11, H_11, I_11}, + + {1, J_1, K_1, L_1}, + {1, J_2, K_2, L_2}, + {1, J_3, K_3, L_3}, + {1, J_4, K_4, L_4}, + {1, J_5, K_5, L_5}, + {1, J_6, K_6, L_6}, + {1, J_7, K_7, L_7}, + {1, J_8, K_8, L_8}, + {1, J_9, K_9, L_9}, + {1, J_10, K_10, L_10}, + {1, J_11, K_11, L_11}, +}; + +// clang-format on +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) +{ + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) + { + return false; + } + + if (host_keyboard_led_state().caps_lock) + { + RGB_MATRIX_INDICATOR_SET_COLOR(30, 255, 255, 255); + } + else + { + if (!rgb_matrix_get_flags()) + { + RGB_MATRIX_INDICATOR_SET_COLOR(30, 0, 0, 0); + } + } + if (keymap_config.no_gui) + { + RGB_MATRIX_INDICATOR_SET_COLOR(63, 255, 255, 255); + } + else + { + if (!rgb_matrix_get_flags()) + { + RGB_MATRIX_INDICATOR_SET_COLOR(63, 0, 0, 0); + } + } + return true; +} + +#endif +bool process_record_kb(uint16_t keycode, keyrecord_t *record) +{ + if (!process_record_user(keycode, record)) + { + return false; + } + switch (keycode) + { + case RGB_TOG: + if (record->event.pressed) + { + switch (rgb_matrix_get_flags()) + { + case LED_FLAG_ALL: + { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: + { + rgb_matrix_set_flags(LED_FLAG_ALL); + } + break; + } + } + if (!rgb_matrix_is_enabled()) + { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + default: + return true; + } +} \ No newline at end of file diff --git a/keyboards/monsgeek/m6/mcuconf.h b/keyboards/monsgeek/m6/mcuconf.h new file mode 100644 index 00000000000..e2884f3828f --- /dev/null +++ b/keyboards/monsgeek/m6/mcuconf.h @@ -0,0 +1,24 @@ +/* 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 . + */ +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE + +#undef WB32_I2C_USE_I2C1 +#define WB32_I2C_USE_I2C1 TRUE diff --git a/keyboards/monsgeek/m6/readme.md b/keyboards/monsgeek/m6/readme.md new file mode 100644 index 00000000000..ca30e5da204 --- /dev/null +++ b/keyboards/monsgeek/m6/readme.md @@ -0,0 +1,19 @@ +# monsgeek m6 keyboard + +A customizable 60% keyboard. + +* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) +* Hardware Supported: m6 +* Hardware Availability: [monsgeek](https://www.monsgeek.com/) + +Make example for this keyboard (after setting up your build environment): + + make monsgeek/m6:default + +Flashing example for this keyboard: + + make monsgeek/m6:default:flash + +**Reset Key**: Hold down the key located at *K00*, which programmed as *Esc* while plugging in the keyboard. + +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/monsgeek/m6/rules.mk b/keyboards/monsgeek/m6/rules.mk new file mode 100644 index 00000000000..24d5f6f52ec --- /dev/null +++ b/keyboards/monsgeek/m6/rules.mk @@ -0,0 +1,2 @@ +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = spi_flash diff --git a/keyboards/monstargear/xo87/rgb/config.h b/keyboards/monstargear/xo87/rgb/config.h index 34d301311b9..770c20f0194 100644 --- a/keyboards/monstargear/xo87/rgb/config.h +++ b/keyboards/monstargear/xo87/rgb/config.h @@ -22,7 +22,6 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 100 out of 255. #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGBLED_NUM 110 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/monstargear/xo87/solderable/config.h b/keyboards/monstargear/xo87/solderable/config.h index f8e73dccb85..1725018300a 100644 --- a/keyboards/monstargear/xo87/solderable/config.h +++ b/keyboards/monstargear/xo87/solderable/config.h @@ -24,9 +24,6 @@ #define KEYLED_ROW_PINS { E5,B4,B5,F0,C6,D5 } #define KEYLED_COL_PINS { C4,C2,C0,E0,D4,E4,B6,B2,F4,A0,F2,A4,F1,A7,D3,A3 } -#define RGB_MATRIX_LED_COUNT 21 -#define DRIVER_COUNT 2 -#define RGBLED_NUM 21 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/monstargear/xo87/solderable/info.json b/keyboards/monstargear/xo87/solderable/info.json index 9a389686180..98afa6e228e 100644 --- a/keyboards/monstargear/xo87/solderable/info.json +++ b/keyboards/monstargear/xo87/solderable/info.json @@ -17,6 +17,9 @@ "driver": "custom", "pin": "F0" }, + "rgblight": { + "led_count": 21 + }, "ws2812": { "pin": "D7" }, diff --git a/keyboards/montsinger/rebound/rev4/config.h b/keyboards/montsinger/rebound/rev4/config.h index b0b9bb6c179..274c715a937 100644 --- a/keyboards/montsinger/rebound/rev4/config.h +++ b/keyboards/montsinger/rebound/rev4/config.h @@ -18,6 +18,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -#define RGBLED_NUM 17 diff --git a/keyboards/montsinger/rebound/rev4/info.json b/keyboards/montsinger/rebound/rev4/info.json index 9f4e89497e0..565e56701f9 100644 --- a/keyboards/montsinger/rebound/rev4/info.json +++ b/keyboards/montsinger/rebound/rev4/info.json @@ -18,6 +18,9 @@ {"pin_a": "D2", "pin_b": "D3"} ] }, + "rgblight": { + "led_count": 17 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/moonlander/moonlander.h b/keyboards/moonlander/moonlander.h index f68b60379c2..0e5282c511a 100644 --- a/keyboards/moonlander/moonlander.h +++ b/keyboards/moonlander/moonlander.h @@ -34,37 +34,6 @@ extern bool mcp23018_leds[]; #define ML_LED_5(status) mcp23018_leds[1] = (bool)status #define ML_LED_6(status) mcp23018_leds[2] = (bool)status - -// clang-format off -#define LED_LAYOUT_moonlander( \ - l00, l01, l02, l03, l04, l05, l06, l60, l61, l62, l63, l64, l65, l66, \ - l10, l11, l12, l13, l14, l15, l16, l70, l71, l72, l73, l74, l75, l76, \ - l20, l21, l22, l23, l24, l25, l26, l80, l81, l82, l83, l84, l85, l86, \ - l30, l31, l32, l33, l34, l35, l91, l92, l93, l94, l95, l96, \ - l40, l41, l42, l43, l44, l53, lb3, la2, la3, la4, la5, la6, \ - l50, l51, l52, lb4, lb5, lb6 \ -) \ -{ \ - l00, l10, l20, l30, l40, \ - l01, l11, l21, l31, l41, \ - l02, l12, l22, l32, l42, \ - l03, l13, l23, l33, l43, \ - l04, l14, l24, l34, l44, \ - l05, l15, l25, l35, \ - l06, l16, l26, \ - l50, l51, l52, l53, \ -\ - l66, l76, l86, l96, la6, \ - l65, l75, l85, l95, la5, \ - l64, l74, l84, l94, la4, \ - l63, l73, l83, l93, la3, \ - l62, l72, l82, l92, la2, \ - l61, l71, l81, l91, \ - l60, l70, l80, \ - lb6, lb5, lb4, lb3 \ -} -// clang-format on - enum planck_ez_keycodes { TOGGLE_LAYER_COLOR = QK_KB_0, LED_LEVEL, diff --git a/keyboards/ms_sculpt/info.json b/keyboards/ms_sculpt/info.json index 7afd13d96df..3536d4501f1 100644 --- a/keyboards/ms_sculpt/info.json +++ b/keyboards/ms_sculpt/info.json @@ -12,12 +12,16 @@ "mousekey": false, "nkro": false }, + "build": { + "debounce_type": "sym_eager_pk" + }, "matrix_pins": { "rows": ["B10", "B1", "B0", "A7", "A6", "A5", "A4", "A3"], "cols": ["A2", "B8", "A0", "C15", "C14", "A14", "A13", "B7", "B6", "B5", "B4", "B3", "A15", "A10", "A8", "B15", "B14", "B12"], "ghost": true, "io_delay": 5 }, + "debounce": 3, "processor": "STM32F401", "url": "", "usb": { diff --git a/keyboards/ms_sculpt/rules.mk b/keyboards/ms_sculpt/rules.mk index d64abe822d7..6e7633bfe01 100644 --- a/keyboards/ms_sculpt/rules.mk +++ b/keyboards/ms_sculpt/rules.mk @@ -1,3 +1 @@ # This file intentionally left blank -DEBOUNCE_TYPE = sym_eager_pk -DEBOUNCE = 3 diff --git a/keyboards/mt/blocked65/config.h b/keyboards/mt/blocked65/config.h index b61be3ea8f5..cfa335c00b7 100644 --- a/keyboards/mt/blocked65/config.h +++ b/keyboards/mt/blocked65/config.h @@ -34,4 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 diff --git a/keyboards/mt/blocked65/info.json b/keyboards/mt/blocked65/info.json index db328f8dadc..ceb71d1efad 100644 --- a/keyboards/mt/blocked65/info.json +++ b/keyboards/mt/blocked65/info.json @@ -8,6 +8,9 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/mt/mt40/config.h b/keyboards/mt/mt40/config.h index bb901374362..32e880e6a22 100644 --- a/keyboards/mt/mt40/config.h +++ b/keyboards/mt/mt40/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/mt/mt40/info.json b/keyboards/mt/mt40/info.json index 4d3cab4ebab..f53e9f60d46 100644 --- a/keyboards/mt/mt40/info.json +++ b/keyboards/mt/mt40/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D2" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/mt/mt64rgb/config.h b/keyboards/mt/mt64rgb/config.h index afcb90c5d27..04a301456af 100644 --- a/keyboards/mt/mt64rgb/config.h +++ b/keyboards/mt/mt64rgb/config.h @@ -90,11 +90,6 @@ // #define RGBLIGHT_EFFECT_RGB_TEST // #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 5 -#define RGBLIGHT_SAT_STEP 5 -#define RGBLIGHT_VAL_STEP 5 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/mt/mt64rgb/info.json b/keyboards/mt/mt64rgb/info.json index 58ded7742c1..fe3be4503cc 100644 --- a/keyboards/mt/mt64rgb/info.json +++ b/keyboards/mt/mt64rgb/info.json @@ -8,6 +8,13 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 5, + "saturation_steps": 5, + "brightness_steps": 5, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/mt/mt84/config.h b/keyboards/mt/mt84/config.h index 1a2d49d7344..a915281a802 100644 --- a/keyboards/mt/mt84/config.h +++ b/keyboards/mt/mt84/config.h @@ -86,11 +86,6 @@ # define RGBLIGHT_EFFECT_STATIC_GRADIENT # define RGBLIGHT_EFFECT_RAINBOW_SWIRL # define RGBLIGHT_EFFECT_BREATHING -# define RGBLED_NUM 18 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/mt/mt84/info.json b/keyboards/mt/mt84/info.json index e7a7507d7ee..95131d535ab 100644 --- a/keyboards/mt/mt84/info.json +++ b/keyboards/mt/mt84/info.json @@ -8,6 +8,12 @@ "pid": "0x0002", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/mt/mt980/config.h b/keyboards/mt/mt980/config.h index eff34dc5217..d702489ee7a 100644 --- a/keyboards/mt/mt980/config.h +++ b/keyboards/mt/mt980/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/mt/mt980/info.json b/keyboards/mt/mt980/info.json index 809474914fe..7f4d9b060fa 100644 --- a/keyboards/mt/mt980/info.json +++ b/keyboards/mt/mt980/info.json @@ -26,6 +26,9 @@ "pin": "E2" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, "max_brightness": 185 }, "bootmagic": { diff --git a/keyboards/mt/mt980/keymaps/walker/keymap.c b/keyboards/mt/mt980/keymaps/walker/keymap.c index e98a1d71de4..f0817dd33d5 100644 --- a/keyboards/mt/mt980/keymaps/walker/keymap.c +++ b/keyboards/mt/mt980/keymaps/walker/keymap.c @@ -89,8 +89,8 @@ tap_dance_action_t tap_dance_actions[] = { [ALT_L1] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,alt_finished, alt_reset) }; -void led_set_keymap(uint8_t usb_led) { - if (usb_led & (1<. #pragma once -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* Turn RGB light off when the host goes to sleep */ # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_CHRISTMAS diff --git a/keyboards/mtbkeys/mtb60/hotswap/info.json b/keyboards/mtbkeys/mtb60/hotswap/info.json index c1acbc3b86a..c4397f95a6e 100644 --- a/keyboards/mtbkeys/mtb60/hotswap/info.json +++ b/keyboards/mtbkeys/mtb60/hotswap/info.json @@ -8,6 +8,12 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/mtbkeys/mtb60/solder/config.h b/keyboards/mtbkeys/mtb60/solder/config.h index 8d174123138..8d57a9ebd61 100644 --- a/keyboards/mtbkeys/mtb60/solder/config.h +++ b/keyboards/mtbkeys/mtb60/solder/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* Turn RGB light off when the host goes to sleep */ # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_CHRISTMAS diff --git a/keyboards/mtbkeys/mtb60/solder/info.json b/keyboards/mtbkeys/mtb60/solder/info.json index 5cf3a327a1b..a7a3a9a9517 100644 --- a/keyboards/mtbkeys/mtb60/solder/info.json +++ b/keyboards/mtbkeys/mtb60/solder/info.json @@ -8,6 +8,12 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/mwstudio/alicekk/config.h b/keyboards/mwstudio/alicekk/config.h index 2e8b3f3bec2..79ceffd3065 100644 --- a/keyboards/mwstudio/alicekk/config.h +++ b/keyboards/mwstudio/alicekk/config.h @@ -18,7 +18,6 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#define RGBLED_NUM 87 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -30,7 +29,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/mwstudio/alicekk/info.json b/keyboards/mwstudio/alicekk/info.json index b77bbd8bdfe..4a29fd7135b 100644 --- a/keyboards/mwstudio/alicekk/info.json +++ b/keyboards/mwstudio/alicekk/info.json @@ -21,6 +21,9 @@ "pin": "B1" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 87, "max_brightness": 200 }, "processor": "STM32F103", diff --git a/keyboards/mwstudio/alicekk/keymaps/via/keymap.c b/keyboards/mwstudio/alicekk/keymaps/via/keymap.c index 92e893d5c52..5c3ae235b14 100644 --- a/keyboards/mwstudio/alicekk/keymaps/via/keymap.c +++ b/keyboards/mwstudio/alicekk/keymaps/via/keymap.c @@ -51,44 +51,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; - -#ifdef ENCODER_ENABLE -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = {{6, 4}}; -static keypos_t encoder_ccw[NUM_ENCODERS] = {{7, 4}}; - -void encoder_action_unregister(void) { - for (uint8_t index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_user(void) { - encoder_action_unregister(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return false; +#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 diff --git a/keyboards/mwstudio/alicekk/keymaps/via/rules.mk b/keyboards/mwstudio/alicekk/keymaps/via/rules.mk index 541a15608ae..f1adcab005e 100644 --- a/keyboards/mwstudio/alicekk/keymaps/via/rules.mk +++ b/keyboards/mwstudio/alicekk/keymaps/via/rules.mk @@ -1,2 +1,2 @@ VIA_ENABLE = yes -LTO_ENABLE = no +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mwstudio/mw65_black/config.h b/keyboards/mwstudio/mw65_black/config.h deleted file mode 100644 index f987360d4a4..00000000000 --- a/keyboards/mwstudio/mw65_black/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2021 TW59420 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 RGBLED_NUM 21 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/mwstudio/mw65_black/info.json b/keyboards/mwstudio/mw65_black/info.json index baa73a6e3bf..26463406587 100644 --- a/keyboards/mwstudio/mw65_black/info.json +++ b/keyboards/mwstudio/mw65_black/info.json @@ -8,6 +8,11 @@ "pid": "0x6500", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 21 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/mwstudio/mw65_rgb/info.json b/keyboards/mwstudio/mw65_rgb/info.json index c2a8a6c1882..cb2e62c6e96 100644 --- a/keyboards/mwstudio/mw65_rgb/info.json +++ b/keyboards/mwstudio/mw65_rgb/info.json @@ -43,10 +43,7 @@ {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, - - {"matrix": [4, 4], "x": 15, "y": 0, "w": 0.5}, {"matrix": [0, 14], "x": 15.5, "y": 0}, - {"matrix": [4, 3], "x": 16.5, "y": 0, "w": 0.5}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/default/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/default/keymap.c index 8153790b143..77750b51743 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/default/keymap.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/default/keymap.c @@ -18,7 +18,7 @@ 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_VOLD, KC_DEL, KC_VOLU, + 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_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, RGB_TOG, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [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, _______, _______, RGB_HUI, _______, + 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_HUI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_SAD, diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap.c index ef5ea90b611..6179d4cdc1c 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_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_VOLD, KC_HOME, KC_VOLU, + 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_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, @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_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_HOME, _______, _______, _______, + 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_PAUSE, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h index 7fadbdc39c8..bd979e9c818 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h @@ -273,19 +273,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 3)); - } else { - tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 4)); - } - } - return true; -} -#endif - bool rgb_matrix_indicators_user(void) { switch (biton32(layer_state)) { case _FN: diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c index f4625bf7a7c..e51a5e3ab8a 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_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_VOLD, KC_HOME, KC_VOLU, + 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_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, @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ [_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_HOME, _______, _______, _______, + 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, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, KC_PAUSE, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, _______, KC_PSCR, KC_DEL, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, RGB_VAI, RGB_TOG, @@ -168,19 +168,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 3)); - } else { - tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 4)); - } - } - return true; -} -#endif - bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c index a1b54a8411c..827cd0db382 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c @@ -34,7 +34,7 @@ enum custom_keycodes { 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_VOLD, KC_DEL, KC_VOLU, + 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_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, RGB_TOG, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [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, _______, _______, RGB_HUI, _______, + 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_HUI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, USER00, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, USER01, RGB_VAI, RGB_SAD, @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -96,17 +96,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code(dynamic_keymap_get_keycode(get_highest_layer(layer_state), 4, 3)); - } else { - tap_code(dynamic_keymap_get_keycode(get_highest_layer(layer_state), 4, 4)); - } - } - return true; -} +#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 bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/via/rules.mk b/keyboards/mwstudio/mw65_rgb/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/via/rules.mk +++ b/keyboards/mwstudio/mw65_rgb/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mwstudio/mw660/config.h b/keyboards/mwstudio/mw660/config.h index 8c5cad9beff..87659c1f67c 100644 --- a/keyboards/mwstudio/mw660/config.h +++ b/keyboards/mwstudio/mw660/config.h @@ -16,9 +16,6 @@ #pragma once -#define DRIVER_LED_TOTAL 34 -#define RGBLED_NUM 34 - #define WS2812_PWM_DRIVER PWMD4 // default: PWMD2 #define WS2812_PWM_CHANNEL 3 // default: 2 //#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). diff --git a/keyboards/mwstudio/mw660/info.json b/keyboards/mwstudio/mw660/info.json index 5d1edb296f5..fdbd7564a7b 100644 --- a/keyboards/mwstudio/mw660/info.json +++ b/keyboards/mwstudio/mw660/info.json @@ -12,6 +12,9 @@ "nkro": true, "rgblight": true }, + "rgblight": { + "led_count": 34 + }, "ws2812": { "pin": "B8" }, diff --git a/keyboards/mwstudio/mw75/config.h b/keyboards/mwstudio/mw75/config.h index 0a9b073ce18..e5dd4fd03c6 100644 --- a/keyboards/mwstudio/mw75/config.h +++ b/keyboards/mwstudio/mw75/config.h @@ -16,12 +16,9 @@ #pragma once -#define RGBLIGHT_SLEEP - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_LED_COUNT 97 -#define RGBLED_NUM 97 #define RGB_MATRIX_KEYPRESSES #define ENABLE_RGB_MATRIX_ALPHAS_MODS @@ -68,7 +65,3 @@ #define ENABLE_RGB_MATRIX_MULTISPLASH #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/mwstudio/mw75/info.json b/keyboards/mwstudio/mw75/info.json index cc2e3dc4081..95e536a57e7 100644 --- a/keyboards/mwstudio/mw75/info.json +++ b/keyboards/mwstudio/mw75/info.json @@ -24,6 +24,12 @@ "bootmagic": { "matrix": [0, 1] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 97, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/mwstudio/mw75r2/config.h b/keyboards/mwstudio/mw75r2/config.h index ded31181aa6..863a090d47e 100644 --- a/keyboards/mwstudio/mw75r2/config.h +++ b/keyboards/mwstudio/mw75r2/config.h @@ -16,12 +16,9 @@ #pragma once -#define RGBLIGHT_SLEEP - #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_LED_COUNT 21 -#define RGBLED_NUM 21 #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_BREATHING @@ -43,7 +40,3 @@ #define ENABLE_RGB_MATRIX_HUE_WAVE #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL #define ENABLE_RGB_MATRIX_PIXEL_RAIN - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/mwstudio/mw75r2/info.json b/keyboards/mwstudio/mw75r2/info.json index f86df57fe5a..44850a86555 100644 --- a/keyboards/mwstudio/mw75r2/info.json +++ b/keyboards/mwstudio/mw75r2/info.json @@ -8,6 +8,12 @@ "pid": "0x7502", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 21, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c b/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c index 633629abc79..777a0dd6f47 100644 --- a/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c @@ -104,48 +104,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } -#ifdef ENCODER_ENABLE -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = {{3, 5}}; -static keypos_t encoder_ccw[NUM_ENCODERS] = {{4, 5}}; - -void encoder_action_unregister(void) { - for (uint8_t index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_user(void) { - encoder_action_unregister(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return true; +#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 - bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (user_config.top_rgb_change) diff --git a/keyboards/mwstudio/mw75r2/keymaps/via/rules.mk b/keyboards/mwstudio/mw75r2/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/mwstudio/mw75r2/keymaps/via/rules.mk +++ b/keyboards/mwstudio/mw75r2/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/mxss/config.h b/keyboards/mxss/config.h index d33ee88ce81..001b7f28a42 100644 --- a/keyboards/mxss/config.h +++ b/keyboards/mxss/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/mxss/info.json b/keyboards/mxss/info.json index 7828803ae18..fbd9b7f6ca1 100644 --- a/keyboards/mxss/info.json +++ b/keyboards/mxss/info.json @@ -8,6 +8,11 @@ "pid": "0x5353", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/nack/config.h b/keyboards/nack/config.h index 7240672afe7..adb2cf5d877 100644 --- a/keyboards/nack/config.h +++ b/keyboards/nack/config.h @@ -17,18 +17,12 @@ along with this program. If not, see . #pragma once -#define TAPPING_TOGGLE 2 - #ifdef RGB_MATRIX_ENABLE #define WS2812_SPI SPID1 #define WS2812_SPI_MOSI_PAL_MODE 5 - #define RGBLED_NUM 52 - #define RGB_MATRIX_LED_COUNT RGBLED_NUM + #define RGB_MATRIX_LED_COUNT 52 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 // Max brightness of LEDs #define RGB_MATRIX_DEFAULT_VAL 64 - #define RGB_MATRIX_HUE_STEP 10 - #define RGB_MATRIX_SAT_STEP 10 - #define RGB_MATRIX_VAL_STEP 10 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/nack/info.json b/keyboards/nack/info.json index 827e0fec0e7..0c65f819615 100644 --- a/keyboards/nack/info.json +++ b/keyboards/nack/info.json @@ -13,7 +13,10 @@ "driver": "spi" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "hue_steps": 10, + "sat_steps": 10, + "val_steps": 10 }, "matrix_pins": { "cols": ["A6", "A7", "A8", "A9", "A10", "B0", "B1", "B2", "B6", "B7", "C13", "C14", "C15"], @@ -23,6 +26,9 @@ "processor": "STM32F303", "bootloader": "stm32-dfu", "board": "QMK_PROTON_C", + "tapping": { + "toggle": 2 + }, "layout_aliases": { "LAYOUT": "LAYOUT_ortho_4x13" }, diff --git a/keyboards/gl516/n51gl/keymaps/salicylic/config.h b/keyboards/nacly/bigsmoothknob/config.h similarity index 81% rename from keyboards/gl516/n51gl/keymaps/salicylic/config.h rename to keyboards/nacly/bigsmoothknob/config.h index 0e221d844d5..a6e9a6c480f 100644 --- a/keyboards/gl516/n51gl/keymaps/salicylic/config.h +++ b/keyboards/nacly/bigsmoothknob/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Salicylic_acid3 +/* Copyright 2023 nacly (https://github.com/Na-Cly) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,8 +15,5 @@ */ #pragma once - -/* Select hand configuration */ - -#define QUICK_TAP_TERM 0 -#define TAPPING_TERM 180 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U diff --git a/keyboards/nacly/bigsmoothknob/info.json b/keyboards/nacly/bigsmoothknob/info.json new file mode 100644 index 00000000000..85f1431b29d --- /dev/null +++ b/keyboards/nacly/bigsmoothknob/info.json @@ -0,0 +1,44 @@ +{ + "keyboard_name": "bigsmoothknob", + "name":"bigsmoothknob", + "url": "https://nacly.net", + "maintainer": "na-cly", + "manufacturer": "na-cly", + "usb": { + "pid": "0x6273", + "vid": "0x6B70", + "device_version": "1.0.0" + }, + "encoder": { + "rotary": [ + { "pin_a": "GP26", "pin_b": "GP27" } + ] + }, + "matrix_pins": { + "cols":["GP18","GP15","GP14","GP13"], + "rows":["GP12","GP11"] + }, + "diode_direction": "COL2ROW", + "processor": "RP2040", + "bootloader": "rp2040", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "encoder": true + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "1", "x": 0, "y": 0, "matrix": [0, 0]}, + {"label": "2", "x": 1, "y": 0, "matrix": [0, 1]}, + {"label": "3", "x": 2, "y": 0, "matrix": [0, 2]}, + {"label": "4", "x": 3, "y": 0, "matrix": [0, 3]}, + {"label": "5", "x": 0, "y": 1, "matrix": [1, 0]}, + {"label": "6", "x": 1, "y": 1, "matrix": [1, 1]}, + {"label": "7", "x": 2, "y": 1, "matrix": [1, 2]}, + {"label": "8", "x": 3, "y": 1, "matrix": [1, 3]} + ] + } + } +} diff --git a/keyboards/woodkeys/meira/keymaps/takmiya/config.h b/keyboards/nacly/bigsmoothknob/keymaps/default/keymap.c similarity index 63% rename from keyboards/woodkeys/meira/keymaps/takmiya/config.h rename to keyboards/nacly/bigsmoothknob/keymaps/default/keymap.c index 97210115b9e..dab8a50c458 100644 --- a/keyboards/woodkeys/meira/keymaps/takmiya/config.h +++ b/keyboards/nacly/bigsmoothknob/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2017 Cole Markham, WoodKeys.click +/* Copyright 2023 nacly (https://github.com/Na-Cly) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,11 +14,17 @@ * along with this program. If not, see . */ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H +#include QMK_KEYBOARD_H -#include "../../config.h" - -// place overrides here +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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(KC_VOLD, KC_VOLU) } +}; #endif diff --git a/keyboards/nacly/bigsmoothknob/keymaps/default/rules.mk b/keyboards/nacly/bigsmoothknob/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/nacly/bigsmoothknob/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nacly/bigsmoothknob/keymaps/via/keymap.c b/keyboards/nacly/bigsmoothknob/keymaps/via/keymap.c new file mode 100644 index 00000000000..dab8a50c458 --- /dev/null +++ b/keyboards/nacly/bigsmoothknob/keymaps/via/keymap.c @@ -0,0 +1,30 @@ +/* Copyright 2023 nacly (https://github.com/Na-Cly) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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(KC_VOLD, KC_VOLU) } +}; +#endif diff --git a/keyboards/nacly/bigsmoothknob/keymaps/via/rules.mk b/keyboards/nacly/bigsmoothknob/keymaps/via/rules.mk new file mode 100644 index 00000000000..1189f4ad192 --- /dev/null +++ b/keyboards/nacly/bigsmoothknob/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nacly/bigsmoothknob/readme.md b/keyboards/nacly/bigsmoothknob/readme.md new file mode 100644 index 00000000000..0a928205c72 --- /dev/null +++ b/keyboards/nacly/bigsmoothknob/readme.md @@ -0,0 +1,22 @@ +# Big Smooth Knob +8 key macro pad with a gigantic knob. + + +* Keyboard Maintainer: [na-cly](https://github.com/na-cly) +* Hardware Supported: Big Smooth Knob + +Make example for this keyboard (after setting up your build environment): + + make nacly/bigsmoothknob:default + +Flashing example for this keyboard: + + make nacly/bigsmoothknob: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: + +* **boot button**: Hold the BOOT button on the back of the PCB while plug in usb cable diff --git a/keyboards/nacly/bigsmoothknob/rules.mk b/keyboards/nacly/bigsmoothknob/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/nacly/bigsmoothknob/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/nacly/splitreus62/config.h b/keyboards/nacly/splitreus62/config.h index 7a5962801c0..fe1acecf248 100644 --- a/keyboards/nacly/splitreus62/config.h +++ b/keyboards/nacly/splitreus62/config.h @@ -25,8 +25,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 12 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/nacly/splitreus62/info.json b/keyboards/nacly/splitreus62/info.json index 775f3c2497c..c4992778890 100644 --- a/keyboards/nacly/splitreus62/info.json +++ b/keyboards/nacly/splitreus62/info.json @@ -17,6 +17,7 @@ "soft_serial_pin": "D0" }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/nacly/ua62/config.h b/keyboards/nacly/ua62/config.h index 0391f174c95..643a3b52db9 100644 --- a/keyboards/nacly/ua62/config.h +++ b/keyboards/nacly/ua62/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAPPING_TERM 200 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/nasu/rules.mk b/keyboards/nasu/rules.mk index 7000bb65710..7c0709f41e6 100644 --- a/keyboards/nasu/rules.mk +++ b/keyboards/nasu/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/ncc1701kb/config.h b/keyboards/ncc1701kb/config.h deleted file mode 100644 index bd03d32227f..00000000000 --- a/keyboards/ncc1701kb/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2012 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 . -*/ - -#pragma once - -#define TAPPING_TERM 200 diff --git a/keyboards/neito/config.h b/keyboards/neito/config.h index ef9b5189200..7117516afb8 100644 --- a/keyboards/neito/config.h +++ b/keyboards/neito/config.h @@ -29,12 +29,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 11 -#define RGBLIGHT_LED_MAP { 4, 3, 2, 1, 0, 10, 9, 8, 7, 6, 5 } -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - -/* Handle volume control issue with rotary encoder */ - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/neito/info.json b/keyboards/neito/info.json index a226d236c31..98b135756b5 100644 --- a/keyboards/neito/info.json +++ b/keyboards/neito/info.json @@ -18,6 +18,9 @@ {"pin_a": "B7", "pin_b": "B0"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "backlight": { "pin": "B5", "levels": 5, @@ -30,7 +33,11 @@ "pin": "D5" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 11, + "max_brightness": 200, + "led_map": [4, 3, 2, 1, 0, 10, 9, 8, 7, 6, 5] }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/nemui/rules.mk b/keyboards/nemui/rules.mk index 0aeca0dd9f3..7f4f202a1b7 100644 --- a/keyboards/nemui/rules.mk +++ b/keyboards/nemui/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/neokeys/g67/element_hs/config.h b/keyboards/neokeys/g67/element_hs/config.h index e71dda27815..ca462e41c02 100644 --- a/keyboards/neokeys/g67/element_hs/config.h +++ b/keyboards/neokeys/g67/element_hs/config.h @@ -17,11 +17,6 @@ #pragma once #if defined(RGBLIGHT_ENABLE) - #define RGBLED_NUM 77 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/neokeys/g67/element_hs/info.json b/keyboards/neokeys/g67/element_hs/info.json index b744c334b58..7cfe898edca 100644 --- a/keyboards/neokeys/g67/element_hs/info.json +++ b/keyboards/neokeys/g67/element_hs/info.json @@ -17,7 +17,11 @@ "pin": "F0" }, "rgblight": { - "max_brightness": 150 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 77, + "max_brightness": 150, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/neokeys/g67/hotswap/config.h b/keyboards/neokeys/g67/hotswap/config.h index 3165d58b2f3..8bb96c992fd 100644 --- a/keyboards/neokeys/g67/hotswap/config.h +++ b/keyboards/neokeys/g67/hotswap/config.h @@ -17,11 +17,6 @@ #pragma once #if defined(RGBLIGHT_ENABLE) - #define RGBLED_NUM 77 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/neokeys/g67/hotswap/info.json b/keyboards/neokeys/g67/hotswap/info.json index 1ae8869ee9f..1d6fc432aea 100644 --- a/keyboards/neokeys/g67/hotswap/info.json +++ b/keyboards/neokeys/g67/hotswap/info.json @@ -17,7 +17,11 @@ "pin": "F0" }, "rgblight": { - "max_brightness": 150 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 77, + "max_brightness": 150, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/neokeys/g67/soldered/config.h b/keyboards/neokeys/g67/soldered/config.h index 1dfb4e03acf..8bb96c992fd 100644 --- a/keyboards/neokeys/g67/soldered/config.h +++ b/keyboards/neokeys/g67/soldered/config.h @@ -17,11 +17,6 @@ #pragma once #if defined(RGBLIGHT_ENABLE) - #define RGBLED_NUM 18 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/neokeys/g67/soldered/info.json b/keyboards/neokeys/g67/soldered/info.json index 87c4d0c03f9..111d7212543 100644 --- a/keyboards/neokeys/g67/soldered/info.json +++ b/keyboards/neokeys/g67/soldered/info.json @@ -22,7 +22,11 @@ "pin": "F0" }, "rgblight": { - "max_brightness": 150 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "max_brightness": 150, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/neopad/config.h b/keyboards/neopad/config.h deleted file mode 100755 index 6200d5a594a..00000000000 --- a/keyboards/neopad/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2021 rookiebwoy - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 - -/* Reduce tapdance required taps from 5 to 2 */ -#define TAPPING_TOGGLE 2 diff --git a/keyboards/neopad/rev1/info.json b/keyboards/neopad/rev1/info.json index 8a8f357c96f..0a0340c06df 100755 --- a/keyboards/neopad/rev1/info.json +++ b/keyboards/neopad/rev1/info.json @@ -21,6 +21,9 @@ }, "processor": "atmega32u4", "bootloader": "caterina", + "tapping": { + "toggle": 2 + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/neson_design/700e/config.h b/keyboards/neson_design/700e/config.h index e35f0c4d0a4..9a175566104 100644 --- a/keyboards/neson_design/700e/config.h +++ b/keyboards/neson_design/700e/config.h @@ -38,7 +38,6 @@ #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) //rgb light setting -#define RGBLED_NUM 68 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -48,8 +47,5 @@ #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define USB_SUSPEND_WAKEUP_DELAY 1000 diff --git a/keyboards/neson_design/700e/info.json b/keyboards/neson_design/700e/info.json index 3f339ad5548..addeafdaea9 100644 --- a/keyboards/neson_design/700e/info.json +++ b/keyboards/neson_design/700e/info.json @@ -16,6 +16,11 @@ "indicators": { "caps_lock": "F5" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 68 + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/neson_design/n6/config.h b/keyboards/neson_design/n6/config.h index 9a4c8240c06..f9e1463f64c 100644 --- a/keyboards/neson_design/n6/config.h +++ b/keyboards/neson_design/n6/config.h @@ -38,7 +38,6 @@ #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) //rgb light setting -#define RGBLED_NUM 65 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -49,6 +48,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/neson_design/n6/info.json b/keyboards/neson_design/n6/info.json index 770748fa29d..b6dd5eba41a 100644 --- a/keyboards/neson_design/n6/info.json +++ b/keyboards/neson_design/n6/info.json @@ -20,6 +20,9 @@ "pin": "B3" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 65, "max_brightness": 192 }, "processor": "atmega32u4", diff --git a/keyboards/newgame40/config.h b/keyboards/newgame40/config.h index 18c605eb622..e599136062b 100644 --- a/keyboards/newgame40/config.h +++ b/keyboards/newgame40/config.h @@ -28,27 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 25 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 - -#ifndef IOS_DEVICE_ENABLE - #if RGBLED_NUM <= 6 - #define RGBLIGHT_LIMIT_VAL 255 - #else - #define RGBLIGHT_LIMIT_VAL 130 - #endif - #define RGBLIGHT_VAL_STEP 17 -#else - #if RGBLED_NUM <= 6 - #define RGBLIGHT_LIMIT_VAL 90 - #else - #define RGBLIGHT_LIMIT_VAL 45 - #endif - #define RGBLIGHT_VAL_STEP 4 -#endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 400 @@ -57,5 +36,3 @@ along with this program. If not, see . // iOS device need lessthan 100 #define USB_MAX_POWER_CONSUMPTION 100 #endif - -#define TAPPING_TERM 200 diff --git a/keyboards/newgame40/info.json b/keyboards/newgame40/info.json index 2cbb4c117d1..fd33fd18226 100644 --- a/keyboards/newgame40/info.json +++ b/keyboards/newgame40/info.json @@ -13,6 +13,10 @@ "rows": ["F7", "B1", "B3", "B2"] }, "diode_direction": "COL2ROW", + "rgblight": { + "hue_steps": 10, + "led_count": 25 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/newgame40/post_config.h b/keyboards/newgame40/post_config.h new file mode 100644 index 00000000000..247178beec9 --- /dev/null +++ b/keyboards/newgame40/post_config.h @@ -0,0 +1,17 @@ +#pragma once + +#ifndef IOS_DEVICE_ENABLE +# if RGBLED_NUM <= 6 +# define RGBLIGHT_LIMIT_VAL 255 +# else +# define RGBLIGHT_LIMIT_VAL 130 +# endif +# define RGBLIGHT_VAL_STEP 17 +#else +# if RGBLED_NUM <= 6 +# define RGBLIGHT_LIMIT_VAL 90 +# else +# define RGBLIGHT_LIMIT_VAL 45 +# endif +# define RGBLIGHT_VAL_STEP 4 +#endif diff --git a/keyboards/nibiria/stream15/rules.mk b/keyboards/nibiria/stream15/rules.mk index 9e42693cb69..c3b8e77d77a 100644 --- a/keyboards/nibiria/stream15/rules.mk +++ b/keyboards/nibiria/stream15/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/nightly_boards/adellein/config.h b/keyboards/nightly_boards/adellein/config.h index d1703c1c80f..6bcd3aafa38 100644 --- a/keyboards/nightly_boards/adellein/config.h +++ b/keyboards/nightly_boards/adellein/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 14 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -29,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -/* Encoders */ -#define ENCODERS_CW_KEY { { 3, 3 } } -#define ENCODERS_CCW_KEY { { 1, 3 } } - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/nightly_boards/adellein/encoder_action.c b/keyboards/nightly_boards/adellein/encoder_action.c deleted file mode 100644 index 522fb58d5a0..00000000000 --- a/keyboards/nightly_boards/adellein/encoder_action.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "encoder_action.h" - -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} diff --git a/keyboards/nightly_boards/adellein/encoder_action.h b/keyboards/nightly_boards/adellein/encoder_action.h deleted file mode 100644 index fb226326324..00000000000 --- a/keyboards/nightly_boards/adellein/encoder_action.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "quantum.h" - -void encoder_action_unregister(void); - -void encoder_action_register(uint8_t index, bool clockwise); \ No newline at end of file diff --git a/keyboards/nightly_boards/adellein/info.json b/keyboards/nightly_boards/adellein/info.json index 81e21e93771..8d29f871637 100644 --- a/keyboards/nightly_boards/adellein/info.json +++ b/keyboards/nightly_boards/adellein/info.json @@ -18,6 +18,9 @@ {"pin_a": "C7", "pin_b": "C6"} ] }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "D5" }, @@ -80,66 +83,6 @@ {"matrix": [3, 9], "x": 10.75, "y": 3, "w": 1.25}, {"matrix": [3, 12], "x": 14.75, "y": 3, "w": 1.25} ] - }, - "LAYOUT_40ergo_split_ent_encoder": { - "layout": [ - {"matrix": [0, 0], "x": 0.5, "y": 0}, - {"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": 8.25, "y": 0}, - {"matrix": [0, 7], "x": 9.25, "y": 0}, - {"matrix": [0, 8], "x": 10.25, "y": 0}, - {"matrix": [0, 9], "x": 11.25, "y": 0}, - {"matrix": [0, 10], "x": 12.25, "y": 0}, - {"matrix": [0, 11], "x": 13.25, "y": 0}, - {"matrix": [0, 12], "x": 14.25, "y": 0, "w": 1.5}, - - {"matrix": [1, 0], "x": 0.25, "y": 1, "w": 1.25}, - {"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": 8.75, "y": 1}, - {"matrix": [1, 7], "x": 9.75, "y": 1}, - {"matrix": [1, 8], "x": 10.75, "y": 1}, - {"matrix": [1, 9], "x": 11.75, "y": 1}, - {"matrix": [1, 10], "x": 12.75, "y": 1}, - {"matrix": [1, 11], "x": 13.75, "y": 1}, - {"matrix": [1, 12], "x": 14.75, "y": 1, "w": 1.25}, - - {"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": 8.5, "y": 2}, - {"matrix": [2, 7], "x": 9.5, "y": 2}, - {"matrix": [2, 8], "x": 10.5, "y": 2}, - {"matrix": [2, 9], "x": 11.5, "y": 2}, - {"matrix": [2, 10], "x": 12.5, "y": 2}, - {"matrix": [2, 11], "x": 13.5, "y": 2}, - {"matrix": [2, 12], "x": 14.5, "y": 2, "w": 1.75}, - - {"matrix": [3, 0], "x": 0.25, "y": 3, "w": 1.25}, - {"matrix": [3, 2], "x": 2.75, "y": 3, "w": 1.25}, - {"matrix": [3, 4], "x": 4, "y": 3, "w": 2.25}, - {"matrix": [3, 5], "x": 6.25, "y": 3}, - - {"matrix": [3, 7], "x": 8, "y": 3, "w": 2.75}, - {"matrix": [3, 9], "x": 10.75, "y": 3, "w": 1.25}, - {"matrix": [3, 12], "x": 14.75, "y": 3, "w": 1.25}, - - {"matrix": [3, 1], "x": 5.75, "y": 4}, - {"matrix": [3, 3], "x": 6.75, "y": 4} - ] } } } diff --git a/keyboards/nightly_boards/adellein/keymaps/via/keymap.c b/keyboards/nightly_boards/adellein/keymaps/via/keymap.c index c4c0adffe35..acfac215a4a 100644 --- a/keyboards/nightly_boards/adellein/keymaps/via/keymap.c +++ b/keyboards/nightly_boards/adellein/keymaps/via/keymap.c @@ -15,35 +15,39 @@ */ #include QMK_KEYBOARD_H - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_40ergo_split_ent_encoder( + [0] = LAYOUT_40ergo_split_ent( 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_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_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_SPC, KC_SPC, KC_RALT, KC_RCTL, - KC_VOLD, KC_VOLU + KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL ), - [1] = LAYOUT_40ergo_split_ent_encoder( + [1] = LAYOUT_40ergo_split_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_40ergo_split_ent_encoder( + [2] = LAYOUT_40ergo_split_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_40ergo_split_ent_encoder( + [3] = LAYOUT_40ergo_split_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/nightly_boards/adellein/keymaps/via/rules.mk b/keyboards/nightly_boards/adellein/keymaps/via/rules.mk index 43061db1dd4..1189f4ad192 100644 --- a/keyboards/nightly_boards/adellein/keymaps/via/rules.mk +++ b/keyboards/nightly_boards/adellein/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nightly_boards/adellein/rules.mk b/keyboards/nightly_boards/adellein/rules.mk index 8daf6a353a6..aa619121b98 100644 --- a/keyboards/nightly_boards/adellein/rules.mk +++ b/keyboards/nightly_boards/adellein/rules.mk @@ -11,6 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow ENCODER_ENABLE = yes # Enable Rotary Encoders LTO_ENABLE = yes - -# Added encoder Action -SRC += encoder_action.c \ No newline at end of file diff --git a/keyboards/nightly_boards/alter/rev1/config.h b/keyboards/nightly_boards/alter/rev1/config.h index 65886338905..03c7b48e8ec 100644 --- a/keyboards/nightly_boards/alter/rev1/config.h +++ b/keyboards/nightly_boards/alter/rev1/config.h @@ -14,11 +14,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/nightly_boards/alter/rev1/info.json b/keyboards/nightly_boards/alter/rev1/info.json index e0ea3294e9b..3fcbc36a0b4 100644 --- a/keyboards/nightly_boards/alter/rev1/info.json +++ b/keyboards/nightly_boards/alter/rev1/info.json @@ -18,6 +18,12 @@ "num_lock": "D7", "scroll_lock": "B4" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "F1" }, diff --git a/keyboards/nightly_boards/conde60/config.h b/keyboards/nightly_boards/conde60/config.h index 541d2e289e3..3204c5492b6 100644 --- a/keyboards/nightly_boards/conde60/config.h +++ b/keyboards/nightly_boards/conde60/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/nightly_boards/conde60/info.json b/keyboards/nightly_boards/conde60/info.json index e318151c8c8..3c6369c2434 100644 --- a/keyboards/nightly_boards/conde60/info.json +++ b/keyboards/nightly_boards/conde60/info.json @@ -13,6 +13,9 @@ "rows": ["B1", "B2", "F0", "F1", "F4"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/nightly_boards/n2/config.h b/keyboards/nightly_boards/n2/config.h index 0fec21c752d..03c7b48e8ec 100644 --- a/keyboards/nightly_boards/n2/config.h +++ b/keyboards/nightly_boards/n2/config.h @@ -14,11 +14,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 2 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/nightly_boards/n2/info.json b/keyboards/nightly_boards/n2/info.json index f925eba5774..ed30ba981fe 100644 --- a/keyboards/nightly_boards/n2/info.json +++ b/keyboards/nightly_boards/n2/info.json @@ -13,6 +13,12 @@ "rows": ["F1", "C7"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2, + "sleep": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/nightly_boards/n40_o/config.h b/keyboards/nightly_boards/n40_o/config.h index 474742b6af1..27a82c8acda 100644 --- a/keyboards/nightly_boards/n40_o/config.h +++ b/keyboards/nightly_boards/n40_o/config.h @@ -17,26 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 12 -#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 - -/* Encoders */ -#define ENCODERS_CW_KEY { { 2, 4 },{ 4, 4 },{ 6, 4 } } -#define ENCODERS_CCW_KEY { { 1, 4 },{ 3, 4 },{ 5, 4 } } - -/* Audio */ - -#define AUDIO_PIN B7 - #define AUDIO_CLICKY /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/nightly_boards/n40_o/encoder_action.c b/keyboards/nightly_boards/n40_o/encoder_action.c deleted file mode 100644 index 522fb58d5a0..00000000000 --- a/keyboards/nightly_boards/n40_o/encoder_action.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "encoder_action.h" - -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} diff --git a/keyboards/nightly_boards/n40_o/encoder_action.h b/keyboards/nightly_boards/n40_o/encoder_action.h deleted file mode 100644 index fb226326324..00000000000 --- a/keyboards/nightly_boards/n40_o/encoder_action.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "quantum.h" - -void encoder_action_unregister(void); - -void encoder_action_register(uint8_t index, bool clockwise); \ No newline at end of file diff --git a/keyboards/nightly_boards/n40_o/info.json b/keyboards/nightly_boards/n40_o/info.json index ec403fb6470..1f341441a4e 100644 --- a/keyboards/nightly_boards/n40_o/info.json +++ b/keyboards/nightly_boards/n40_o/info.json @@ -3,6 +3,16 @@ "manufacturer": "Neil Brian Ramirez", "url": "", "maintainer": "Neil Brian Ramirez", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "rgblight": true, + "encoder": true + }, + "build": { + "lto": true + }, "usb": { "vid": "0xD812", "pid": "0x0009", @@ -10,7 +20,7 @@ }, "matrix_pins": { "cols": ["B5", "C7", "D6", "D4", "B3", "B2", "B1", "B0", "D5", "D3", "D2", "D1", "D0"], - "rows": ["E6", "F0", "F1", "D7", null] + "rows": ["E6", "F0", "F1", "D7"] }, "diode_direction": "COL2ROW", "encoder": { @@ -20,77 +30,30 @@ {"pin_a": "B6", "pin_b": "C6"} ] }, + "rgblight": { + "led_count": 12, + "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 + } + }, "ws2812": { "pin": "B4" }, + "audio": { + "pins": ["B7"] + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { - "LAYOUT_ortho_4x13_encoders": { - "layout": [ - {"matrix": [4, 1], "x": 0, "y": 0}, - {"matrix": [4, 2], "x": 1, "y": 0}, - {"matrix": [0, 0], "x": 2.25, "y": 0}, - {"matrix": [0, 1], "x": 3.5, "y": 0}, - {"matrix": [0, 2], "x": 4.5, "y": 0}, - {"matrix": [0, 3], "x": 5.5, "y": 0}, - {"matrix": [0, 4], "x": 6.5, "y": 0}, - {"matrix": [0, 5], "x": 7.5, "y": 0}, - {"matrix": [0, 6], "x": 8.5, "y": 0}, - {"matrix": [0, 7], "x": 9.5, "y": 0}, - {"matrix": [0, 8], "x": 10.5, "y": 0}, - {"matrix": [0, 9], "x": 11.5, "y": 0}, - {"matrix": [0, 10], "x": 12.5, "y": 0}, - {"matrix": [0, 11], "x": 13.5, "y": 0}, - {"matrix": [0, 12], "x": 14.5, "y": 0}, - - {"matrix": [4, 3], "x": 0, "y": 1}, - {"matrix": [4, 4], "x": 1, "y": 1}, - {"matrix": [1, 0], "x": 2.25, "y": 1}, - {"matrix": [1, 1], "x": 3.5, "y": 1}, - {"matrix": [1, 2], "x": 4.5, "y": 1}, - {"matrix": [1, 3], "x": 5.5, "y": 1}, - {"matrix": [1, 4], "x": 6.5, "y": 1}, - {"matrix": [1, 5], "x": 7.5, "y": 1}, - {"matrix": [1, 6], "x": 8.5, "y": 1}, - {"matrix": [1, 7], "x": 9.5, "y": 1}, - {"matrix": [1, 8], "x": 10.5, "y": 1}, - {"matrix": [1, 9], "x": 11.5, "y": 1}, - {"matrix": [1, 10], "x": 12.5, "y": 1}, - {"matrix": [1, 11], "x": 13.5, "y": 1}, - {"matrix": [1, 12], "x": 14.5, "y": 1}, - - {"matrix": [4, 5], "x": 0, "y": 2}, - {"matrix": [4, 6], "x": 1, "y": 2}, - {"matrix": [2, 0], "x": 2.25, "y": 2}, - {"matrix": [2, 1], "x": 3.5, "y": 2}, - {"matrix": [2, 2], "x": 4.5, "y": 2}, - {"matrix": [2, 3], "x": 5.5, "y": 2}, - {"matrix": [2, 4], "x": 6.5, "y": 2}, - {"matrix": [2, 5], "x": 7.5, "y": 2}, - {"matrix": [2, 6], "x": 8.5, "y": 2}, - {"matrix": [2, 7], "x": 9.5, "y": 2}, - {"matrix": [2, 8], "x": 10.5, "y": 2}, - {"matrix": [2, 9], "x": 11.5, "y": 2}, - {"matrix": [2, 10], "x": 12.5, "y": 2}, - {"matrix": [2, 11], "x": 13.5, "y": 2}, - {"matrix": [2, 12], "x": 14.5, "y": 2}, - - {"matrix": [3, 0], "x": 2.25, "y": 3}, - {"matrix": [3, 1], "x": 3.5, "y": 3}, - {"matrix": [3, 2], "x": 4.5, "y": 3}, - {"matrix": [3, 3], "x": 5.5, "y": 3}, - {"matrix": [3, 4], "x": 6.5, "y": 3}, - {"matrix": [3, 5], "x": 7.5, "y": 3}, - {"matrix": [3, 6], "x": 8.5, "y": 3}, - {"matrix": [3, 7], "x": 9.5, "y": 3}, - {"matrix": [3, 8], "x": 10.5, "y": 3}, - {"matrix": [3, 9], "x": 11.5, "y": 3}, - {"matrix": [3, 10], "x": 12.5, "y": 3}, - {"matrix": [3, 11], "x": 13.5, "y": 3}, - {"matrix": [3, 12], "x": 14.5, "y": 3} - ] - }, "LAYOUT_ortho_4x13": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/nightly_boards/n40_o/keymaps/default/keymap.c b/keyboards/nightly_boards/n40_o/keymaps/default/keymap.c index 658b43689a2..bd57f61055c 100644 --- a/keyboards/nightly_boards/n40_o/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/n40_o/keymaps/default/keymap.c @@ -15,12 +15,11 @@ */ #include QMK_KEYBOARD_H - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ortho_4x13( 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_BSPC, KC_SPC, 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_SPC, 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_SPC, KC_SPC, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), + KC_SPC, KC_SPC, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ) }; diff --git a/keyboards/nightly_boards/n40_o/keymaps/ortho_4x13_1x2u_c/keymap.c b/keyboards/nightly_boards/n40_o/keymaps/ortho_4x13_1x2u_c/keymap.c index 55f22cdc498..cda2bb60508 100644 --- a/keyboards/nightly_boards/n40_o/keymaps/ortho_4x13_1x2u_c/keymap.c +++ b/keyboards/nightly_boards/n40_o/keymaps/ortho_4x13_1x2u_c/keymap.c @@ -15,12 +15,11 @@ */ #include QMK_KEYBOARD_H - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ortho_4x13_1x2u_c( 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_BSPC, KC_SPC, 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_SPC, 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_SPC, KC_SPC, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), + KC_SPC, KC_SPC, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ) }; diff --git a/keyboards/nightly_boards/n40_o/keymaps/ortho_4x13_encoders/keymap.c b/keyboards/nightly_boards/n40_o/keymaps/ortho_4x13_encoders/keymap.c deleted file mode 100644 index f6e0dc23ee2..00000000000 --- a/keyboards/nightly_boards/n40_o/keymaps/ortho_4x13_encoders/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2020 Neil Brian 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_ortho_4x13_encoders( - KC_SPC, KC_SPC, 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_BSPC, - KC_SPC, KC_SPC, KC_SPC, 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_SPC, KC_SPC, KC_SPC, 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_SPC, KC_SPC, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), -}; diff --git a/keyboards/nightly_boards/n40_o/keymaps/via/config.h b/keyboards/nightly_boards/n40_o/keymaps/via/config.h deleted file mode 100644 index 1208e2769f0..00000000000 --- a/keyboards/nightly_boards/n40_o/keymaps/via/config.h +++ /dev/null @@ -1 +0,0 @@ -#define LAYER_STATE_8BIT \ No newline at end of file diff --git a/keyboards/nightly_boards/n40_o/keymaps/via/keymap.c b/keyboards/nightly_boards/n40_o/keymaps/via/keymap.c index 830d8d87826..e9ddb714017 100644 --- a/keyboards/nightly_boards/n40_o/keymaps/via/keymap.c +++ b/keyboards/nightly_boards/n40_o/keymaps/via/keymap.c @@ -15,34 +15,24 @@ */ #include QMK_KEYBOARD_H - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_ortho_4x13_encoders( - KC_SPC, KC_SPC, 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_BSPC, - KC_SPC, KC_SPC, KC_SPC, 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_SPC, KC_SPC, KC_SPC, 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_SPC, KC_SPC, 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_4x13_encoders( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, 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_4x13_encoders( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, 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_4x13_encoders( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - - ), + [0] = LAYOUT_ortho_4x13( + 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_BSPC, + KC_SPC, 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_SPC, 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_SPC, KC_SPC, 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_4x13( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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] = { + [0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } }; +#endif diff --git a/keyboards/nightly_boards/n40_o/keymaps/via/rules.mk b/keyboards/nightly_boards/n40_o/keymaps/via/rules.mk index 43061db1dd4..f1adcab005e 100644 --- a/keyboards/nightly_boards/n40_o/keymaps/via/rules.mk +++ b/keyboards/nightly_boards/n40_o/keymaps/via/rules.mk @@ -1,2 +1,2 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nightly_boards/n40_o/rules.mk b/keyboards/nightly_boards/n40_o/rules.mk index f1189a87d2d..6e7633bfe01 100644 --- a/keyboards/nightly_boards/n40_o/rules.mk +++ b/keyboards/nightly_boards/n40_o/rules.mk @@ -1,17 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = yes # Audio output -ENCODER_ENABLE = yes # Enable Rotary Encoders -LTO_ENABLE = yes - -# Added encoder Action -SRC += encoder_action.c \ No newline at end of file +# This file intentionally left blank diff --git a/keyboards/nightly_boards/n60_s/config.h b/keyboards/nightly_boards/n60_s/config.h index 75f803f5487..26f02e471fd 100644 --- a/keyboards/nightly_boards/n60_s/config.h +++ b/keyboards/nightly_boards/n60_s/config.h @@ -17,10 +17,6 @@ along with this program. If not, see . #pragma once -/* Encoders */ -#define ENCODERS_CW_KEY { { 1, 5 } } -#define ENCODERS_CCW_KEY { { 0, 5 } } - /* Audio */ #define B7_AUDIO @@ -28,12 +24,6 @@ along with this program. If not, see . /* Underglow */ -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/nightly_boards/n60_s/encoder_action.c b/keyboards/nightly_boards/n60_s/encoder_action.c deleted file mode 100644 index 522fb58d5a0..00000000000 --- a/keyboards/nightly_boards/n60_s/encoder_action.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "encoder_action.h" - -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} diff --git a/keyboards/nightly_boards/n60_s/encoder_action.h b/keyboards/nightly_boards/n60_s/encoder_action.h deleted file mode 100644 index fb226326324..00000000000 --- a/keyboards/nightly_boards/n60_s/encoder_action.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "quantum.h" - -void encoder_action_unregister(void); - -void encoder_action_register(uint8_t index, bool clockwise); \ No newline at end of file diff --git a/keyboards/nightly_boards/n60_s/info.json b/keyboards/nightly_boards/n60_s/info.json index 2e491343005..c17db5701b8 100644 --- a/keyboards/nightly_boards/n60_s/info.json +++ b/keyboards/nightly_boards/n60_s/info.json @@ -10,7 +10,7 @@ }, "matrix_pins": { "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3", "B5", "B6", "C6", "C7"], - "rows": ["B4", "D7", "D6", "D0", "E6", null] + "rows": ["B4", "D7", "D6", "D0", "E6"] }, "diode_direction": "COL2ROW", "encoder": { @@ -18,6 +18,12 @@ {"pin_a": "D3", "pin_b": "D5"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "D1" }, @@ -95,80 +101,6 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_ansi_split_bs_rshift_encoder": { - "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": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"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": [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": [5, 0], "x": 15.25, "y": 3}, - {"matrix": [5, 1], "x": 16.25, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4, 7], "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": 12.5, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} - ] - }, "LAYOUT_60_ansi_split_bs_rshift_tsangan": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -230,79 +162,6 @@ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 13], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 1.5, "y": 4}, - {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, - {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_60_ansi_split_bs_rshift_tsangan_encoder": { - "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": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, - - {"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": [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": [5, 0], "x": 15.25, "y": 3}, - {"matrix": [5, 1], "x": 16.25, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, {"matrix": [4, 2], "x": 1.5, "y": 4}, {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, diff --git a/keyboards/nightly_boards/n60_s/keymaps/ansi_encoder/keymap.c b/keyboards/nightly_boards/n60_s/keymaps/ansi_encoder/keymap.c deleted file mode 100644 index 9316b20c75f..00000000000 --- a/keyboards/nightly_boards/n60_s/keymaps/ansi_encoder/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2020 Neil Brian 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] = { - /* Base */ - [0] = LAYOUT_60_ansi_split_bs_rshift_encoder( - 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_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_VOLD, KC_VOLU, - KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL - ), - [1] = LAYOUT_60_ansi_split_bs_rshift_encoder( - 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_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_PGUP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, 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 - ) -}; diff --git a/keyboards/nightly_boards/n60_s/keymaps/tsangan_encoder/keymap.c b/keyboards/nightly_boards/n60_s/keymaps/tsangan_encoder/keymap.c deleted file mode 100644 index cc25ac42e73..00000000000 --- a/keyboards/nightly_boards/n60_s/keymaps/tsangan_encoder/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2020 Neil Brian 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] = { - /* Base */ - [0] = LAYOUT_60_ansi_split_bs_rshift_tsangan_encoder( - 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_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_VOLD, KC_VOLU, - KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL - ), - [1] = LAYOUT_60_ansi_split_bs_rshift_tsangan_encoder( - 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_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_PGUP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, 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 - ) -}; diff --git a/keyboards/nightly_boards/n60_s/keymaps/via/keymap.c b/keyboards/nightly_boards/n60_s/keymaps/via/keymap.c index d76c7347826..04078c784ef 100644 --- a/keyboards/nightly_boards/n60_s/keymaps/via/keymap.c +++ b/keyboards/nightly_boards/n60_s/keymaps/via/keymap.c @@ -17,32 +17,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [0] = LAYOUT_60_ansi_split_bs_rshift_encoder( + [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_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_LSFT, KC_LSFT, KC_VOLD, 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_LSFT, KC_LSFT, KC_LCTL, MO(1), KC_LALT, KC_SPC, KC_LALT, KC_APP, KC_RGUI, KC_LCTL ), - [1] = LAYOUT_60_ansi_split_bs_rshift_encoder( + [1] = 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_F12, KC_F12, 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_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_PGUP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, 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_HOME, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS - ), - [2] = LAYOUT_60_ansi_split_bs_rshift_encoder( + ), + [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_split_bs_rshift_encoder( + [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, KC_TRNS, KC_TRNS, KC_TRNS, 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] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/nightly_boards/n60_s/keymaps/via/rules.mk b/keyboards/nightly_boards/n60_s/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/nightly_boards/n60_s/keymaps/via/rules.mk +++ b/keyboards/nightly_boards/n60_s/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nightly_boards/n60_s/rules.mk b/keyboards/nightly_boards/n60_s/rules.mk index a37378959e0..f404ad01632 100644 --- a/keyboards/nightly_boards/n60_s/rules.mk +++ b/keyboards/nightly_boards/n60_s/rules.mk @@ -12,6 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output ENCODER_ENABLE = yes # Enable Rotary Encoders LTO_ENABLE = yes - -# Added encoder Action -SRC += encoder_action.c \ No newline at end of file diff --git a/keyboards/nightly_boards/n87/config.h b/keyboards/nightly_boards/n87/config.h index 3ba7c40ea64..66fefbb2ef5 100644 --- a/keyboards/nightly_boards/n87/config.h +++ b/keyboards/nightly_boards/n87/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/nightly_boards/n87/info.json b/keyboards/nightly_boards/n87/info.json index 1be9d83f1c9..352719c253b 100644 --- a/keyboards/nightly_boards/n87/info.json +++ b/keyboards/nightly_boards/n87/info.json @@ -13,6 +13,12 @@ "rows": ["B0", "B1", "B2", "B3", "F1", "F0", "D7", "B4", "D1", "D2", "D3", "D5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/nightly_boards/n9/config.h b/keyboards/nightly_boards/n9/config.h index 30f781e6008..03c7b48e8ec 100644 --- a/keyboards/nightly_boards/n9/config.h +++ b/keyboards/nightly_boards/n9/config.h @@ -14,11 +14,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/nightly_boards/n9/info.json b/keyboards/nightly_boards/n9/info.json index 1dfd4f6fda9..0e26ab27afe 100644 --- a/keyboards/nightly_boards/n9/info.json +++ b/keyboards/nightly_boards/n9/info.json @@ -13,6 +13,12 @@ "rows": ["F4", "B1", "B3"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "F5" }, diff --git a/keyboards/nightly_boards/octopad/config.h b/keyboards/nightly_boards/octopad/config.h index 27c3d4bd024..b8b9535fb03 100644 --- a/keyboards/nightly_boards/octopad/config.h +++ b/keyboards/nightly_boards/octopad/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -29,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -/* Encoders */ -#define ENCODERS_CW_KEY { { 3, 2 },{ 1, 2 } } -#define ENCODERS_CCW_KEY { { 2, 2 },{ 0, 2 } } - /* Audio */ #define AUDIO_PIN B5 diff --git a/keyboards/nightly_boards/octopad/encoder_action.c b/keyboards/nightly_boards/octopad/encoder_action.c deleted file mode 100644 index 522fb58d5a0..00000000000 --- a/keyboards/nightly_boards/octopad/encoder_action.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "encoder_action.h" - -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} diff --git a/keyboards/nightly_boards/octopad/encoder_action.h b/keyboards/nightly_boards/octopad/encoder_action.h deleted file mode 100644 index fb226326324..00000000000 --- a/keyboards/nightly_boards/octopad/encoder_action.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "quantum.h" - -void encoder_action_unregister(void); - -void encoder_action_register(uint8_t index, bool clockwise); \ No newline at end of file diff --git a/keyboards/nightly_boards/octopad/info.json b/keyboards/nightly_boards/octopad/info.json index c78a58937d8..0f1463e9865 100644 --- a/keyboards/nightly_boards/octopad/info.json +++ b/keyboards/nightly_boards/octopad/info.json @@ -10,7 +10,7 @@ }, "matrix_pins": { "cols": ["F1", "F0", "D0", "D1", "B1"], - "rows": ["B2", "B3", null] + "rows": ["B2", "B3"] }, "diode_direction": "COL2ROW", "encoder": { @@ -19,6 +19,9 @@ {"pin_a": "F4", "pin_b": "F5"} ] }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "F7" }, @@ -27,13 +30,9 @@ "layouts": { "LAYOUT": { "layout": [ - {"matrix": [2, 0], "x": 0, "y": 0}, {"matrix": [0, 4], "x": 1, "y": 0}, - {"matrix": [2, 1], "x": 2, "y": 0}, - {"matrix": [2, 2], "x": 3.5, "y": 0}, {"matrix": [1, 4], "x": 4.5, "y": 0}, - {"matrix": [2, 3], "x": 5.5, "y": 0}, {"matrix": [0, 0], "x": 1.25, "y": 1.25}, {"matrix": [0, 1], "x": 2.25, "y": 1.25}, diff --git a/keyboards/nightly_boards/octopad/keymaps/default/keymap.c b/keyboards/nightly_boards/octopad/keymaps/default/keymap.c index 7025c893756..94d8dc34f43 100644 --- a/keyboards/nightly_boards/octopad/keymaps/default/keymap.c +++ b/keyboards/nightly_boards/octopad/keymaps/default/keymap.c @@ -17,16 +17,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - /* ENC1_CCW, ENC1_P, ENC1_CW, ENC2_CCW, ENC2_P, ENC2_CW, - MACRO1, MACRO2, MACRO3, MACRO4, - MACRO5, MACRO6, MACRO7, MACRO8 - */ [0] = LAYOUT( - KC_VOLD, KC_ESC, KC_VOLU, KC_BRID, QK_BOOT, KC_BRIU, + KC_ESC, QK_BOOT, KC_Q, KC_W, KC_E, KC_R, KC_A, KC_S, KC_D, KC_F - - ), + ) }; +#ifdef 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_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/nightly_boards/octopad/keymaps/default/rules.mk b/keyboards/nightly_boards/octopad/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/nightly_boards/octopad/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nightly_boards/octopad/keymaps/via/keymap.c b/keyboards/nightly_boards/octopad/keymaps/via/keymap.c index 44c2d63cc75..2f831466fcd 100644 --- a/keyboards/nightly_boards/octopad/keymaps/via/keymap.c +++ b/keyboards/nightly_boards/octopad/keymaps/via/keymap.c @@ -17,57 +17,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - /* ENC1_CCW, ENC1_P, ENC1_CW, ENC2_CCW, ENC2_P, ENC2_CW, - MACRO1, MACRO2, MACRO3, MACRO4, - MACRO5, MACRO6, MACRO7, MACRO8 - */ [0] = LAYOUT( - KC_VOLD, KC_ESC, KC_VOLU, KC_BRID, QK_BOOT, KC_BRIU, + KC_ESC, QK_BOOT, KC_Q, KC_W, KC_E, KC_R, KC_A, KC_S, KC_D, KC_F - - ), - [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 - - ), - [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 - - ), - [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 - - ), - [4] = 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 - - ), - [5] = 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 - - ), - [6] = 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 - - ), - [7] = 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 - ), + [1 ... 7] = LAYOUT( + _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ) +}; + +#ifdef 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_BRID, KC_BRIU) }, + [1 ... 7] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } }; +#endif diff --git a/keyboards/nightly_boards/octopad/keymaps/via/rules.mk b/keyboards/nightly_boards/octopad/keymaps/via/rules.mk index 43061db1dd4..1189f4ad192 100644 --- a/keyboards/nightly_boards/octopad/keymaps/via/rules.mk +++ b/keyboards/nightly_boards/octopad/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nightly_boards/octopad/octopad.h b/keyboards/nightly_boards/octopad/octopad.h deleted file mode 100644 index 33cf8e0b689..00000000000 --- a/keyboards/nightly_boards/octopad/octopad.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2020 Neil Brian 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 . - */ - -#pragma once - -#include "quantum.h" -#include "encoder_action.h" diff --git a/keyboards/nightly_boards/octopad/rules.mk b/keyboards/nightly_boards/octopad/rules.mk index d36fbdc8600..660f9344997 100644 --- a/keyboards/nightly_boards/octopad/rules.mk +++ b/keyboards/nightly_boards/octopad/rules.mk @@ -12,6 +12,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output ENCODER_ENABLE = yes # Enable Rotary Encoders - -# Added encoder Action -SRC += encoder_action.c diff --git a/keyboards/nightly_boards/octopadplus/config.h b/keyboards/nightly_boards/octopadplus/config.h index 7547d5a97bb..3d0b7f438c8 100644 --- a/keyboards/nightly_boards/octopadplus/config.h +++ b/keyboards/nightly_boards/octopadplus/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/nightly_boards/octopadplus/info.json b/keyboards/nightly_boards/octopadplus/info.json index 533cefc3c1b..7a27cef0208 100644 --- a/keyboards/nightly_boards/octopadplus/info.json +++ b/keyboards/nightly_boards/octopadplus/info.json @@ -19,6 +19,9 @@ {"pin_a": "D1", "pin_b": "D0", "resolution": 5} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "rgblight": { diff --git a/keyboards/nix_studio/oxalys80/config.h b/keyboards/nix_studio/oxalys80/config.h index 52b5d011d98..9103d6e5d28 100644 --- a/keyboards/nix_studio/oxalys80/config.h +++ b/keyboards/nix_studio/oxalys80/config.h @@ -31,8 +31,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP // RGB will turn off when PC is put to sleep diff --git a/keyboards/nix_studio/oxalys80/info.json b/keyboards/nix_studio/oxalys80/info.json index 5c804d7182b..cc1ea8c948d 100644 --- a/keyboards/nix_studio/oxalys80/info.json +++ b/keyboards/nix_studio/oxalys80/info.json @@ -20,7 +20,11 @@ "pin": "B3" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "max_brightness": 200, + "sleep": true }, "indicators": { "caps_lock": "E6", diff --git a/keyboards/novelkeys/nk1/config.h b/keyboards/novelkeys/nk1/config.h index c4cc79e6240..a92c3b72116 100644 --- a/keyboards/novelkeys/nk1/config.h +++ b/keyboards/novelkeys/nk1/config.h @@ -17,11 +17,6 @@ #pragma once - #define RGBLED_NUM 9 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/novelkeys/nk1/info.json b/keyboards/novelkeys/nk1/info.json index b72492a6aa7..f9c8e690cbc 100755 --- a/keyboards/novelkeys/nk1/info.json +++ b/keyboards/novelkeys/nk1/info.json @@ -8,6 +8,12 @@ "pid": "0x4E4D", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 9, + "sleep": true + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/novelkeys/nk20/config.h b/keyboards/novelkeys/nk20/config.h index 23b8d2915a1..55d8b53e83b 100644 --- a/keyboards/novelkeys/nk20/config.h +++ b/keyboards/novelkeys/nk20/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA1_STREAM3 #define WS2812_DMA_CHANNEL 3 -#define RGBLED_NUM 20 #define RGB_MATRIX_LED_COUNT 20 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 210 #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/novelkeys/nk20/rules.mk b/keyboards/novelkeys/nk20/rules.mk index 131bc94a443..9470fce1ba2 100644 --- a/keyboards/novelkeys/nk20/rules.mk +++ b/keyboards/novelkeys/nk20/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/novelkeys/nk65b/config.h b/keyboards/novelkeys/nk65b/config.h index a22f9b16854..e236351344f 100755 --- a/keyboards/novelkeys/nk65b/config.h +++ b/keyboards/novelkeys/nk65b/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA1_STREAM3 #define WS2812_DMA_CHANNEL 3 -#define RGBLED_NUM 68 #define RGB_MATRIX_LED_COUNT 68 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/novelkeys/nk65b/rules.mk b/keyboards/novelkeys/nk65b/rules.mk old mode 100755 new mode 100644 index 131bc94a443..9470fce1ba2 --- a/keyboards/novelkeys/nk65b/rules.mk +++ b/keyboards/novelkeys/nk65b/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/novelkeys/nk87b/config.h b/keyboards/novelkeys/nk87b/config.h index 49d3104c454..a0bbb315d40 100644 --- a/keyboards/novelkeys/nk87b/config.h +++ b/keyboards/novelkeys/nk87b/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA1_STREAM3 #define WS2812_DMA_CHANNEL 3 -#define RGBLED_NUM 87 #define RGB_MATRIX_LED_COUNT 87 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 114 #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/novelkeys/nk87b/rules.mk b/keyboards/novelkeys/nk87b/rules.mk index 131bc94a443..9470fce1ba2 100644 --- a/keyboards/novelkeys/nk87b/rules.mk +++ b/keyboards/novelkeys/nk87b/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/novelkeys/nk_plus/info.json b/keyboards/novelkeys/nk_plus/info.json index 6444b82d37d..4fdbf80f5c0 100755 --- a/keyboards/novelkeys/nk_plus/info.json +++ b/keyboards/novelkeys/nk_plus/info.json @@ -111,8 +111,11 @@ "ws2812": { "pin": "B4" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_xt_ansi_blocker_tsangan" + }, "layouts": { - "LAYOUT": { + "LAYOUT_65_xt_ansi_blocker_tsangan": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -129,11 +132,12 @@ {"matrix": [0, 12], "x": 12.5, "y": 0}, {"matrix": [0, 13], "x": 13.5, "y": 0}, {"matrix": [0, 14], "x": 14.5, "y": 0}, - {"matrix": [0, 15], "x": 15.5, "y": 0}, + {"matrix": [0, 15], "x": 15.5, "y": 0, "w": 2}, {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1, "w": 1.5}, {"matrix": [1, 3], "x": 4, "y": 1}, {"matrix": [1, 4], "x": 5, "y": 1}, {"matrix": [1, 5], "x": 6, "y": 1}, @@ -146,11 +150,12 @@ {"matrix": [1, 12], "x": 13, "y": 1}, {"matrix": [1, 13], "x": 14, "y": 1}, {"matrix": [1, 14], "x": 15, "y": 1}, - {"matrix": [1, 15], "x": 16, "y": 1}, + {"matrix": [1, 15], "x": 16, "y": 1, "w": 1.5}, {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2, "w": 1.75}, {"matrix": [2, 3], "x": 4.25, "y": 2}, {"matrix": [2, 4], "x": 5.25, "y": 2}, {"matrix": [2, 5], "x": 6.25, "y": 2}, @@ -162,11 +167,12 @@ {"matrix": [2, 11], "x": 12.25, "y": 2}, {"matrix": [2, 12], "x": 13.25, "y": 2}, {"matrix": [2, 13], "x": 14.25, "y": 2}, - {"matrix": [2, 15], "x": 15.25, "y": 2}, + {"matrix": [2, 15], "x": 15.25, "y": 2, "w": 2.25}, {"matrix": [2, 16], "x": 17.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2.5, "y": 3}, + {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 2.25}, {"matrix": [3, 4], "x": 4.75, "y": 3}, {"matrix": [3, 5], "x": 5.75, "y": 3}, {"matrix": [3, 6], "x": 6.75, "y": 3}, @@ -177,16 +183,17 @@ {"matrix": [3, 11], "x": 11.75, "y": 3}, {"matrix": [3, 12], "x": 12.75, "y": 3}, {"matrix": [3, 13], "x": 13.75, "y": 3}, - {"matrix": [3, 14], "x": 14.75, "y": 3}, + {"matrix": [3, 14], "x": 14.75, "y": 3, "w": 1.75}, {"matrix": [3, 15], "x": 16.5, "y": 3}, {"matrix": [3, 16], "x": 17.5, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4}, {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, {"matrix": [4, 3], "x": 4, "y": 4}, - {"matrix": [4, 4], "x": 5, "y": 4}, - {"matrix": [4, 8], "x": 6.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4}, + {"matrix": [4, 4], "x": 5, "y": 4, "w": 1.5}, + {"matrix": [4, 8], "x": 6.5, "y": 4, "w": 7}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, {"matrix": [4, 14], "x": 15.5, "y": 4}, {"matrix": [4, 15], "x": 16.5, "y": 4}, {"matrix": [4, 16], "x": 17.5, "y": 4} diff --git a/keyboards/novelkeys/nk_plus/keymaps/default/keymap.c b/keyboards/novelkeys/nk_plus/keymaps/default/keymap.c index b5697a731d9..358ea8b18ba 100644 --- a/keyboards/novelkeys/nk_plus/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk_plus/keymaps/default/keymap.c @@ -16,14 +16,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ +[0] = LAYOUT_65_xt_ansi_blocker_tsangan( /* Base */ 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_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_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, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), -[1] = LAYOUT( /* FN */ +[1] = LAYOUT_65_xt_ansi_blocker_tsangan( /* FN */ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/novelkeys/nk_plus/keymaps/via/keymap.c b/keyboards/novelkeys/nk_plus/keymaps/via/keymap.c index 9e877b98048..0d29c5da822 100644 --- a/keyboards/novelkeys/nk_plus/keymaps/via/keymap.c +++ b/keyboards/novelkeys/nk_plus/keymaps/via/keymap.c @@ -16,14 +16,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ +[0] = LAYOUT_65_xt_ansi_blocker_tsangan( /* Base */ 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_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_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, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), -[1] = LAYOUT( /* FN */ +[1] = LAYOUT_65_xt_ansi_blocker_tsangan( /* FN */ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/novelkeys/nk_plus/rules.mk b/keyboards/novelkeys/nk_plus/rules.mk index a68122281ad..928a45cfaec 100644 --- a/keyboards/novelkeys/nk_plus/rules.mk +++ b/keyboards/novelkeys/nk_plus/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/novelkeys/novelpad/config.h b/keyboards/novelkeys/novelpad/config.h index 413efb67b0b..95db869fcdb 100755 --- a/keyboards/novelkeys/novelpad/config.h +++ b/keyboards/novelkeys/novelpad/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 4 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/novelkeys/novelpad/info.json b/keyboards/novelkeys/novelpad/info.json index e98746ab299..a7dad329963 100644 --- a/keyboards/novelkeys/novelpad/info.json +++ b/keyboards/novelkeys/novelpad/info.json @@ -17,6 +17,9 @@ "pin": "B7", "levels": 10 }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c b/keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c index 5380de9648d..79a3e2fdbfb 100755 --- a/keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c +++ b/keyboards/novelkeys/novelpad/keymaps/0xdec/keymap.c @@ -36,11 +36,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_NUM_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { // Illuminate the LED under the Num Lock key rgblight_sethsv_at(0, 0, 127, 1); } else { rgblight_sethsv_at(0, 0, 0, 1); } + return false; } diff --git a/keyboards/noxary/268/keymaps/ansi/keymap.c b/keyboards/noxary/268/keymaps/ansi/keymap.c index dac8e6c0ddb..860d17177c7 100644 --- a/keyboards/noxary/268/keymaps/ansi/keymap.c +++ b/keyboards/noxary/268/keymaps/ansi/keymap.c @@ -52,12 +52,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { setPinOutput(B6); writePinHigh(B6); } else { setPinInput(B6); writePinLow(B6); } + return false; } diff --git a/keyboards/noxary/268/keymaps/default/keymap.c b/keyboards/noxary/268/keymaps/default/keymap.c index 571396f21d1..9023c6f81fd 100644 --- a/keyboards/noxary/268/keymaps/default/keymap.c +++ b/keyboards/noxary/268/keymaps/default/keymap.c @@ -70,8 +70,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { setPinOutput(B6); writePinHigh(B6); } @@ -79,4 +79,5 @@ void led_set_user(uint8_t usb_led) { setPinInput(B6); writePinLow(B6); } + return false; } diff --git a/keyboards/noxary/268/keymaps/iso/keymap.c b/keyboards/noxary/268/keymaps/iso/keymap.c index 410883dd54f..76462bf7fe8 100644 --- a/keyboards/noxary/268/keymaps/iso/keymap.c +++ b/keyboards/noxary/268/keymaps/iso/keymap.c @@ -52,12 +52,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { setPinOutput(B6); writePinHigh(B6); } else { setPinInput(B6); writePinLow(B6); } + return false; } diff --git a/keyboards/noxary/268/keymaps/sixtyeight/keymap.c b/keyboards/noxary/268/keymaps/sixtyeight/keymap.c index 2502667d304..3527cf7ccca 100644 --- a/keyboards/noxary/268/keymaps/sixtyeight/keymap.c +++ b/keyboards/noxary/268/keymaps/sixtyeight/keymap.c @@ -70,52 +70,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } - else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { DDRB |= (1 << 6); PORTB |= (1 << 6); } else { DDRB &= ~(1 << 6); PORTB &= ~(1 << 6); } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } - else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } - else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } - else { - - } - + return false; } diff --git a/keyboards/noxary/268_2_rgb/config.h b/keyboards/noxary/268_2_rgb/config.h index 051782f1461..20c5301861d 100644 --- a/keyboards/noxary/268_2_rgb/config.h +++ b/keyboards/noxary/268_2_rgb/config.h @@ -25,10 +25,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 16 -#define RGBLIGHT_SAT_STEP 16 -#define RGBLIGHT_VAL_STEP 16 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/noxary/268_2_rgb/info.json b/keyboards/noxary/268_2_rgb/info.json index d1f57bc5fc9..b9378287c94 100644 --- a/keyboards/noxary/268_2_rgb/info.json +++ b/keyboards/noxary/268_2_rgb/info.json @@ -16,6 +16,12 @@ "backlight": { "pin": "B7" }, + "rgblight": { + "hue_steps": 16, + "saturation_steps": 16, + "brightness_steps": 16, + "led_count": 16 + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/noxary/378/rules.mk b/keyboards/noxary/378/rules.mk index 3c9c278b519..93e50cd795b 100644 --- a/keyboards/noxary/378/rules.mk +++ b/keyboards/noxary/378/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/noxary/valhalla/rules.mk b/keyboards/noxary/valhalla/rules.mk index 3c9c278b519..93e50cd795b 100644 --- a/keyboards/noxary/valhalla/rules.mk +++ b/keyboards/noxary/valhalla/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/noxary/x268/config.h b/keyboards/noxary/x268/config.h index 0f7486408c4..f2a2a9584ad 100644 --- a/keyboards/noxary/x268/config.h +++ b/keyboards/noxary/x268/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 16 -#define RGBLIGHT_SAT_STEP 16 -#define RGBLIGHT_VAL_STEP 16 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/noxary/x268/info.json b/keyboards/noxary/x268/info.json index 1bfcf109f44..21ccfd911ec 100644 --- a/keyboards/noxary/x268/info.json +++ b/keyboards/noxary/x268/info.json @@ -16,6 +16,12 @@ "backlight": { "pin": "B7" }, + "rgblight": { + "hue_steps": 16, + "saturation_steps": 16, + "brightness_steps": 16, + "led_count": 16 + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/nullbitsco/nibble/config.h b/keyboards/nullbitsco/nibble/config.h index 5ef3783b87d..d33b8afb5e0 100644 --- a/keyboards/nullbitsco/nibble/config.h +++ b/keyboards/nullbitsco/nibble/config.h @@ -39,7 +39,6 @@ #define MATRIX_COL_PINS { } /* Optional SMT LED pins */ -#define RGBLED_NUM 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -50,4 +49,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP diff --git a/keyboards/nullbitsco/nibble/info.json b/keyboards/nullbitsco/nibble/info.json index 7f24d368132..cc66623b094 100644 --- a/keyboards/nullbitsco/nibble/info.json +++ b/keyboards/nullbitsco/nibble/info.json @@ -12,6 +12,10 @@ {"pin_a": "B5", "pin_b": "B4"} ] }, + "rgblight": { + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/nullbitsco/scramble/v1/config.h b/keyboards/nullbitsco/scramble/v1/config.h deleted file mode 100644 index bb0ee7d7854..00000000000 --- a/keyboards/nullbitsco/scramble/v1/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2021 Jay Greco - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -/* NOTE: This config file is specific to AVR builds. */ - -#pragma once - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/nullbitsco/scramble/v1/info.json b/keyboards/nullbitsco/scramble/v1/info.json index 77a00d91f4b..5a9aeef64be 100644 --- a/keyboards/nullbitsco/scramble/v1/info.json +++ b/keyboards/nullbitsco/scramble/v1/info.json @@ -4,6 +4,9 @@ {"pin_a": "D6", "pin_b": "D7"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega328p", "bootloader": "usbasploader", "matrix_pins": { diff --git a/keyboards/nullbitsco/scramble/v2/config.h b/keyboards/nullbitsco/scramble/v2/config.h index 945a4da9dec..419a028c9f7 100644 --- a/keyboards/nullbitsco/scramble/v2/config.h +++ b/keyboards/nullbitsco/scramble/v2/config.h @@ -19,8 +19,6 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 - /* RP2040-specific defines*/ #define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 #define RP2040_FLASH_GENERIC_03H diff --git a/keyboards/nullbitsco/scramble/v2/info.json b/keyboards/nullbitsco/scramble/v2/info.json index 5255c32205e..2a89a1063b2 100644 --- a/keyboards/nullbitsco/scramble/v2/info.json +++ b/keyboards/nullbitsco/scramble/v2/info.json @@ -4,6 +4,9 @@ {"pin_a": "GP24", "pin_b": "GP25"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "RP2040", "bootloader": "rp2040", "matrix_pins": { diff --git a/keyboards/nullbitsco/snap/config.h b/keyboards/nullbitsco/snap/config.h index cbc354a13a1..e859b5b47d5 100644 --- a/keyboards/nullbitsco/snap/config.h +++ b/keyboards/nullbitsco/snap/config.h @@ -58,9 +58,6 @@ #define MATRIX_EXT_PIN_RIGHT B6 /* Optional SMT LED pins */ -#define RGBLED_NUM 10 -#define RGBLIGHT_LED_MAP { 8, 9, 0, 1, 2, 6, 7, 3, 4, 5 } -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -72,12 +69,6 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -/* Optional encoder pins */ -#define ENCODERS_PAD_A { B3 } -#define ENCODERS_PAD_B { B1 } -#define ENCODERS_PAD_A_RIGHT { B4 } -#define ENCODERS_PAD_B_RIGHT { B5 } - /* Optional speaker pin */ #define AUDIO_PIN B6 diff --git a/keyboards/nullbitsco/snap/info.json b/keyboards/nullbitsco/snap/info.json index fcb224d30ad..97b06b5b34f 100644 --- a/keyboards/nullbitsco/snap/info.json +++ b/keyboards/nullbitsco/snap/info.json @@ -7,9 +7,26 @@ "pid": "0x6063", "device_version": "0.0.1" }, + "encoder": { + "rotary": [ + {"pin_a": "B3", "pin_b": "B1"} + ] + }, "rgblight": { + "led_count": 10, + "sleep": true, + "led_map": [8, 9, 0, 1, 2, 6, 7, 3, 4, 5], "split_count": [5, 5] }, + "split": { + "encoder": { + "right": { + "rotary": [ + {"pin_a": "B4", "pin_b": "B5"} + ] + } + } + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/nullbitsco/snap/keymaps/bongo_reactive/keymap.c b/keyboards/nullbitsco/snap/keymaps/bongo_reactive/keymap.c index 31e58c24a6f..3dfe7e4057c 100644 --- a/keyboards/nullbitsco/snap/keymaps/bongo_reactive/keymap.c +++ b/keyboards/nullbitsco/snap/keymaps/bongo_reactive/keymap.c @@ -87,27 +87,27 @@ static void render_status(void) { // Host Keyboard LED Status oled_set_cursor(0, 1); - static uint8_t persistent_led_state = 0; - uint8_t led_usb_state = host_keyboard_leds(); + static led_t persistent_led_state = {0}; + led_t led_state = host_keyboard_led_state(); // Only update if the LED state has changed // Otherwise, the OLED will not turn off if an LED is on. - if (persistent_led_state != led_usb_state) { - persistent_led_state = led_usb_state; + if (persistent_led_state != led_state) { + persistent_led_state = led_state; oled_write_ln_P(PSTR(""), false); - if (IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { oled_set_cursor(0, 1); oled_write_P(PSTR("CAPS"), false); } - if (IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { oled_set_cursor(5, 1); oled_write_P(PSTR("NUM"), true); } - if (IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { oled_set_cursor(9, 1); oled_write_P(PSTR("SCR"), false); } diff --git a/keyboards/nullbitsco/snap/keymaps/oled/keymap.c b/keyboards/nullbitsco/snap/keymaps/oled/keymap.c index 3a48e90134b..004d2f40c14 100644 --- a/keyboards/nullbitsco/snap/keymaps/oled/keymap.c +++ b/keyboards/nullbitsco/snap/keymaps/oled/keymap.c @@ -114,27 +114,27 @@ static void render_status(void) { // Host Keyboard LED Status oled_set_cursor(0, 1); - static uint8_t persistent_led_state = 0; - uint8_t led_usb_state = host_keyboard_leds(); + static led_t persistent_led_state = {0}; + led_t led_state = host_keyboard_led_state(); // Only update if the LED state has changed // Otherwise, the OLED will not turn off if an LED is on. - if (persistent_led_state != led_usb_state) { - persistent_led_state = led_usb_state; + if (persistent_led_state != led_state) { + persistent_led_state = led_state; oled_write_ln_P(PSTR(""), false); - if (IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { oled_set_cursor(0, 1); oled_write_P(PSTR("CAPS"), false); } - if (IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { oled_set_cursor(5, 1); oled_write_P(PSTR("NUM"), true); } - if (IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { oled_set_cursor(9, 1); oled_write_P(PSTR("SCR"), false); } diff --git a/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c b/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c index 50e164f4086..afdc5333ee8 100644 --- a/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c +++ b/keyboards/nullbitsco/snap/keymaps/typehud/keymap.c @@ -94,27 +94,27 @@ static void render_status(void) { // Host Keyboard LED Status oled_set_cursor(0, 1); - static uint8_t persistent_led_state = 0; - uint8_t led_usb_state = host_keyboard_leds(); + static led_t persistent_led_state = {0}; + led_t led_state = host_keyboard_led_state(); // Only update if the LED state has changed // Otherwise, the OLED will not turn off if an LED is on. - if (persistent_led_state != led_usb_state) { - persistent_led_state = led_usb_state; + if (persistent_led_state != led_state) { + persistent_led_state = led_state; oled_write_ln_P(PSTR(" "), false); - if (IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { oled_set_cursor(0, 1); oled_write_P(PSTR("CAPS"), false); } - if (IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { oled_set_cursor(5, 1); oled_write_P(PSTR("NUM"), true); } - if (IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { oled_set_cursor(9, 1); oled_write_P(PSTR("SCR"), false); } diff --git a/keyboards/nullbitsco/tidbit/config.h b/keyboards/nullbitsco/tidbit/config.h index 346a8fb8a85..56477ea5c46 100644 --- a/keyboards/nullbitsco/tidbit/config.h +++ b/keyboards/nullbitsco/tidbit/config.h @@ -23,7 +23,6 @@ #define USB_SUSPEND_WAKEUP_DELAY 200 /* Optional SMT LED pins */ -#define RGBLED_NUM 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/nullbitsco/tidbit/info.json b/keyboards/nullbitsco/tidbit/info.json index 0ed0a5e7b85..0fb13a25c2b 100644 --- a/keyboards/nullbitsco/tidbit/info.json +++ b/keyboards/nullbitsco/tidbit/info.json @@ -7,6 +7,9 @@ "pid": "0x6064", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "B6" }, @@ -32,33 +35,21 @@ {"matrix": [0, 4], "x": 4.25, "y": 0}, {"matrix": [0, 5], "x": 5.25, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2.25, "y": 1}, {"matrix": [1, 3], "x": 3.25, "y": 1}, {"matrix": [1, 4], "x": 4.25, "y": 1}, {"matrix": [1, 5], "x": 5.25, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2.25, "y": 2}, {"matrix": [2, 3], "x": 3.25, "y": 2}, {"matrix": [2, 4], "x": 4.25, "y": 2}, {"matrix": [2, 5], "x": 5.25, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "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": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "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}, diff --git a/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c index 6cd9f48c94d..8f552d30c19 100644 --- a/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c +++ b/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c @@ -22,19 +22,26 @@ enum layers { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - KC_PSLS, KC_PAST, KC_PMNS, - KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_MPRV, KC_MNXT, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LEFT, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT - ), + [_BASE] = LAYOUT( + 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 + ), [_FUNC] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ) }; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, +}; +#endif diff --git a/keyboards/nullbitsco/tidbit/keymaps/default/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/nullbitsco/tidbit/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c index 25550265341..642870640e5 100644 --- a/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c +++ b/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c @@ -25,34 +25,40 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT( - KC_PSLS, KC_PAST, KC_PMNS, - KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT + 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 ), - [_VIA1] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ ), - [_VIA2] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ ), - [_VIA3] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, }; +#endif diff --git a/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk index ef531564fcd..1b3509eac8a 100644 --- a/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk +++ b/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk @@ -1,3 +1,4 @@ VIA_ENABLE = yes OLED_ENABLE = yes OLED_DRIVER = SSD1306 +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c index 32306ef9d6c..d14723df034 100644 --- a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c +++ b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c @@ -25,38 +25,44 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAY0] = LAYOUT( - KC_PSLS, KC_PAST, KC_PMNS, - KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT + 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 ), - [_LAY1] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ ), - [_LAY2] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ ), - [_LAY3] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ) }; +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, +}; +#endif + #ifdef OLED_ENABLE /*=========================================== OLED CONFIGURATION ===========================================*/ #define OLED_ROTATE true // OLED rotation (flip 180* from default orientation) @@ -112,18 +118,18 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { // Draw static background image to OLED (keyboard with no bottom row) static void render_background(void) { static const char PROGMEM nullbits_n_oled[] = { - 0x00, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0x80, 0x20, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, - 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, - 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, - 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x00, + 0x00, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0x80, 0x20, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x00, }; oled_write_raw_P(nullbits_n_oled, sizeof(nullbits_n_oled)); } @@ -173,13 +179,13 @@ static void render_wpm_counters(uint8_t current_wpm) { static void render_led_status(void) { // Host Keyboard LED Status - uint8_t led_usb_state = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); oled_set_cursor(0, 8); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR(CAPLCK_STR) : PSTR(EMPTY_STR), false); + oled_write_P(led_state.caps_lock ? PSTR(CAPLCK_STR) : PSTR(EMPTY_STR), false); oled_set_cursor(0, 9); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR(NUMLCK_STR) : PSTR(EMPTY_STR), false); + oled_write_P(led_state.num_lock ? PSTR(NUMLCK_STR) : PSTR(EMPTY_STR), false); oled_set_cursor(0, 10); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR(SCRLK_STR) : PSTR(EMPTY_STR), false); + oled_write_P(led_state.scroll_lock ? PSTR(SCRLK_STR) : PSTR(EMPTY_STR), false); } // Update WPM snail icon diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk index 1b72fd006a2..605f034e1df 100644 --- a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk +++ b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk @@ -4,3 +4,4 @@ VIA_ENABLE = yes SPACE_CADET_ENABLE = no GRAVE_ESC_ENABLE = no MAGIC_ENABLE = no +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c index 895b02c2925..642870640e5 100644 --- a/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c +++ b/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c @@ -24,36 +24,41 @@ enum layers { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - KC_PSLS, KC_PAST, KC_PMNS, - KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT - ), - - [_VIA1] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), - - [_VIA2] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), - - [_VIA3] = LAYOUT( - _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______ - ), + [_BASE] = LAYOUT( + 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 + ), + [_VIA1] = LAYOUT( + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + [_VIA2] = LAYOUT( + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + [_VIA3] = LAYOUT( + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ) }; +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), }, +}; +#endif diff --git a/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk index 036bd6d1c3e..f1adcab005e 100644 --- a/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk +++ b/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk @@ -1 +1,2 @@ -VIA_ENABLE = yes \ No newline at end of file +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nullbitsco/tidbit/tidbit.c b/keyboards/nullbitsco/tidbit/tidbit.c index eea5a5d54c0..15bc0f6a7ac 100644 --- a/keyboards/nullbitsco/tidbit/tidbit.c +++ b/keyboards/nullbitsco/tidbit/tidbit.c @@ -18,20 +18,6 @@ #include "common/remote_kb.h" #include "common/bitc_led.h" -typedef struct PACKED { - uint8_t r; - uint8_t c; -} encodermap_t; - -// Map encoders to their respective virtual matrix entry -// Allows for encoder control using VIA -const encodermap_t encoder_map[4][2] = { - {{1, 0}, {1, 1}}, // Encoder 1 matrix location - {{2, 0}, {2, 1}}, // Encoder 2 matrix location - {{3, 0}, {3, 1}}, // Encoder 3 matrix location - {{4, 0}, {4, 1}}, // Encoder 4 matrix location -}; - bool numlock_set = false; #ifdef OLED_ENABLE @@ -41,40 +27,40 @@ oled_rotation_t oled_init_kb(oled_rotation_t rotation) { static void render_logo(void) { static const char PROGMEM tidbit_oled[] = { - 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, - 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3e, 0x3e, 0x7e, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0x3f, 0x7e, 0xfe, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfe, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 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, 0xff, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0xf0, 0xf0, 0xf8, 0xff, 0xff, 0xbf, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xff, - 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, 0xff, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x03, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x07, 0x07, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, - 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8, - 0xf8, 0xf8, 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3e, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, - 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3f, 0x3f, 0x1f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x7f, 0xff, 0xff, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3e, 0x3e, 0x7e, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x3f, 0x7e, 0xfe, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfe, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 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, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xf0, 0xf0, 0xf8, 0xff, 0xff, 0xbf, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0xff, + 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, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x03, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x07, 0x07, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3e, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3f, 0x3f, 0x1f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0xff, 0xff, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - + oled_write_raw_P(tidbit_oled, sizeof(tidbit_oled)); }; @@ -86,20 +72,6 @@ bool oled_task_kb(void) { #endif -static void process_encoder_matrix(encodermap_t pos) { - action_exec(MAKE_KEYEVENT(pos.r, pos.c, true)); -#if TAP_CODE_DELAY > 0 - wait_ms(TAP_CODE_DELAY); -#endif - action_exec(MAKE_KEYEVENT(pos.r, pos.c, false)); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) return false; - process_encoder_matrix(encoder_map[index][clockwise ? 0 : 1]); - return false; -} - // Use Bit-C LED to show NUM LOCK status void led_update_ports(led_t led_state) { set_bitc_LED(led_state.num_lock ? LED_DIM : LED_OFF); diff --git a/keyboards/numatreus/config.h b/keyboards/numatreus/config.h index 774687565a1..46a94d10c09 100644 --- a/keyboards/numatreus/config.h +++ b/keyboards/numatreus/config.h @@ -19,15 +19,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -// keyboard RGB LED support -// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes -#define RGBLED_NUM 6 - -#define RGBLIGHT_VAL_STEP 17 - -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 - #if defined(RGBLIGHT_ENABLE) // USB_MAX_POWER_CONSUMPTION value for stonehenge30 keyboard // 120 RGBoff, OLEDoff diff --git a/keyboards/numatreus/info.json b/keyboards/numatreus/info.json index 54f5bde1bd9..bdf4a574c68 100644 --- a/keyboards/numatreus/info.json +++ b/keyboards/numatreus/info.json @@ -17,6 +17,8 @@ "pin": "D3" }, "rgblight": { + "hue_steps": 10, + "led_count": 6, "max_brightness": 200 }, "processor": "atmega32u4", diff --git a/keyboards/obosob/arch_36/config.h b/keyboards/obosob/arch_36/config.h index 3852baf5a7f..1b6189b42e0 100644 --- a/keyboards/obosob/arch_36/config.h +++ b/keyboards/obosob/arch_36/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 12 -#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, \ - 11, 10, 9, 8, 7, 6 } -#endif - #define OLED_DISPLAY_128X64 #define EE_HANDS diff --git a/keyboards/obosob/arch_36/info.json b/keyboards/obosob/arch_36/info.json index cffa4e8e446..464cd01be8f 100644 --- a/keyboards/obosob/arch_36/info.json +++ b/keyboards/obosob/arch_36/info.json @@ -17,6 +17,8 @@ "soft_serial_pin": "D2" }, "rgblight": { + "led_count": 12, + "led_map": [0, 1, 2, 3, 4, 5, 11, 10, 9, 8, 7, 6], "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/oddforge/vea/config.h b/keyboards/oddforge/vea/config.h index c2e9c2b6bb5..19ff41d44ab 100644 --- a/keyboards/oddforge/vea/config.h +++ b/keyboards/oddforge/vea/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #define DYNAMIC_KEYMAP_LAYER_COUNT 3 -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -37,5 +36,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 9 diff --git a/keyboards/oddforge/vea/info.json b/keyboards/oddforge/vea/info.json index d6586a09e8d..6cb8ae5f2a7 100644 --- a/keyboards/oddforge/vea/info.json +++ b/keyboards/oddforge/vea/info.json @@ -11,6 +11,10 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18, + "sleep": true + }, "ws2812": { "driver": "custom" }, diff --git a/keyboards/ogre/ergo_single/config.h b/keyboards/ogre/ergo_single/config.h index c6739d7f665..facded4a0e1 100644 --- a/keyboards/ogre/ergo_single/config.h +++ b/keyboards/ogre/ergo_single/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 14 -#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 13, 12,11, 10, 9, 8, 7} #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ogre/ergo_single/info.json b/keyboards/ogre/ergo_single/info.json index 4a5b96b8add..1c0346131ba 100644 --- a/keyboards/ogre/ergo_single/info.json +++ b/keyboards/ogre/ergo_single/info.json @@ -13,6 +13,10 @@ "rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "led_count": 14, + "led_map": [0, 1, 2, 3, 4, 5, 6, 13, 12, 11, 10, 9, 8, 7] + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/ogre/ergo_split/config.h b/keyboards/ogre/ergo_split/config.h index 20bff507def..d510497b8e9 100644 --- a/keyboards/ogre/ergo_split/config.h +++ b/keyboards/ogre/ergo_split/config.h @@ -19,8 +19,6 @@ along with this program. If not, see . #define SPLIT_HAND_PIN D1 -#define RGBLED_NUM 14 -#define RGBLIGHT_LED_MAP { 6, 5, 4, 3, 2, 1, 0, 13, 12,11, 10, 9, 8, 7} #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ogre/ergo_split/info.json b/keyboards/ogre/ergo_split/info.json index 1055724b5ff..7ef564ba28e 100644 --- a/keyboards/ogre/ergo_split/info.json +++ b/keyboards/ogre/ergo_split/info.json @@ -17,6 +17,8 @@ "soft_serial_pin": "D3" }, "rgblight": { + "led_count": 14, + "led_map": [6, 5, 4, 3, 2, 1, 0, 13, 12, 11, 10, 9, 8, 7], "split_count": [7, 7] }, "ws2812": { diff --git a/keyboards/ok60/config.h b/keyboards/ok60/config.h index f11b35919e9..e4668ff374a 100644 --- a/keyboards/ok60/config.h +++ b/keyboards/ok60/config.h @@ -33,7 +33,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/ok60/info.json b/keyboards/ok60/info.json index a9996397399..826e5ef60d8 100644 --- a/keyboards/ok60/info.json +++ b/keyboards/ok60/info.json @@ -17,6 +17,11 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/om60/config.h b/keyboards/om60/config.h index 16957f9a0a1..5977c819ede 100644 --- a/keyboards/om60/config.h +++ b/keyboards/om60/config.h @@ -34,28 +34,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 69 - #define RGBLIGHT_LED_MAP { \ - 0, 1, 2, 3, \ - 8, 7, 6, 5, 4, \ - 9,10,11,12,13, \ - 18,17,16,15,14, \ - 19,20,21,22,23, \ - 28,27,26,25,24, \ - 29,30,31,32,33, \ - 38,37,36,35,34, \ - 39,40,41,42,43, \ - 48,47,46,45,44, \ - 49,50,51,52,53, \ - 58,57,56,55,54, \ - 59,60,61,62,63, \ - 68,67,66,65,64 \ - } - - #define RGBLIGHT_SLEEP -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -74,8 +52,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 30 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for naked48 keyboard @@ -90,5 +66,3 @@ along with this program. If not, see . // iOS device need lessthan 100 #define USB_MAX_POWER_CONSUMPTION 100 #endif - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/om60/info.json b/keyboards/om60/info.json index 7efa8097d60..9d33fbe1c2a 100644 --- a/keyboards/om60/info.json +++ b/keyboards/om60/info.json @@ -13,6 +13,15 @@ {"pin_a": "B4", "pin_b": "B5"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "hue_steps": 10, + "led_count": 69, + "sleep": true, + "led_map": [0, 1, 2, 3, 8, 7, 6, 5, 4, 9, 10, 11, 12, 13, 18, 17, 16, 15, 14, 19, 20, 21, 22, 23, 28, 27, 26, 25, 24, 29, 30, 31, 32, 33, 38, 37, 36, 35, 34, 39, 40, 41, 42, 43, 48, 47, 46, 45, 44, 49, 50, 51, 52, 53, 58, 57, 56, 55, 54, 59, 60, 61, 62, 63, 68, 67, 66, 65, 64] + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/omkbd/ergodash/mini/config.h b/keyboards/omkbd/ergodash/mini/config.h index 743db387e8b..42c07ce4ac1 100644 --- a/keyboards/omkbd/ergodash/mini/config.h +++ b/keyboards/omkbd/ergodash/mini/config.h @@ -18,9 +18,6 @@ along with this program. If not, see . #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - #define AUDIO_PIN C6 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ @@ -39,8 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/ergodash/mini/info.json b/keyboards/omkbd/ergodash/mini/info.json index 169bc9f0c56..91e73a97a8b 100644 --- a/keyboards/omkbd/ergodash/mini/info.json +++ b/keyboards/omkbd/ergodash/mini/info.json @@ -20,7 +20,11 @@ "split": { "soft_serial_pin": "D0" }, + "tapping": { + "term": 120 + }, "rgblight": { + "led_count": 20, "split_count": [10, 10] }, "ws2812": { diff --git a/keyboards/omkbd/ergodash/rev1/config.h b/keyboards/omkbd/ergodash/rev1/config.h index 851116d455a..42c07ce4ac1 100644 --- a/keyboards/omkbd/ergodash/rev1/config.h +++ b/keyboards/omkbd/ergodash/rev1/config.h @@ -18,9 +18,6 @@ along with this program. If not, see . #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - #define AUDIO_PIN C6 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ @@ -39,12 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 24 -#define RGBLIGHT_SPLIT - -// The LEDs on the slave half go in reverse order -#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, \ - 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12} #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/ergodash/rev1/info.json b/keyboards/omkbd/ergodash/rev1/info.json index 3a395bde83e..d34d4f79b16 100644 --- a/keyboards/omkbd/ergodash/rev1/info.json +++ b/keyboards/omkbd/ergodash/rev1/info.json @@ -20,7 +20,12 @@ "split": { "soft_serial_pin": "D0" }, + "tapping": { + "term": 120 + }, "rgblight": { + "led_count": 24, + "led_map": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12], "split_count": [12, 12] }, "ws2812": { diff --git a/keyboards/omkbd/runner3680/3x6/config.h b/keyboards/omkbd/runner3680/3x6/config.h index 282dda9dcda..127483886e1 100644 --- a/keyboards/omkbd/runner3680/3x6/config.h +++ b/keyboards/omkbd/runner3680/3x6/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,8 +32,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 36 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/runner3680/3x6/info.json b/keyboards/omkbd/runner3680/3x6/info.json index 7a7141816b9..d8217108be0 100644 --- a/keyboards/omkbd/runner3680/3x6/info.json +++ b/keyboards/omkbd/runner3680/3x6/info.json @@ -16,10 +16,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 36, "max_brightness": 100, "split_count": [18, 18] }, diff --git a/keyboards/omkbd/runner3680/3x7/config.h b/keyboards/omkbd/runner3680/3x7/config.h index 37610bc4ba4..127483886e1 100644 --- a/keyboards/omkbd/runner3680/3x7/config.h +++ b/keyboards/omkbd/runner3680/3x7/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,8 +32,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 42 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/runner3680/3x7/info.json b/keyboards/omkbd/runner3680/3x7/info.json index d23f6f50989..ef025ccdf04 100644 --- a/keyboards/omkbd/runner3680/3x7/info.json +++ b/keyboards/omkbd/runner3680/3x7/info.json @@ -16,10 +16,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 42, "max_brightness": 100, "split_count": [21, 21] }, diff --git a/keyboards/omkbd/runner3680/3x8/config.h b/keyboards/omkbd/runner3680/3x8/config.h index f53b886d7e9..127483886e1 100644 --- a/keyboards/omkbd/runner3680/3x8/config.h +++ b/keyboards/omkbd/runner3680/3x8/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,8 +32,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 48 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/runner3680/3x8/info.json b/keyboards/omkbd/runner3680/3x8/info.json index 9f3d4b6bc2e..e360b1de483 100644 --- a/keyboards/omkbd/runner3680/3x8/info.json +++ b/keyboards/omkbd/runner3680/3x8/info.json @@ -16,10 +16,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 48, "max_brightness": 100, "split_count": [24, 24] }, diff --git a/keyboards/omkbd/runner3680/4x6/config.h b/keyboards/omkbd/runner3680/4x6/config.h index f53b886d7e9..127483886e1 100644 --- a/keyboards/omkbd/runner3680/4x6/config.h +++ b/keyboards/omkbd/runner3680/4x6/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,8 +32,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 48 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/runner3680/4x6/info.json b/keyboards/omkbd/runner3680/4x6/info.json index a21eb2f4bbe..c052c6891ce 100644 --- a/keyboards/omkbd/runner3680/4x6/info.json +++ b/keyboards/omkbd/runner3680/4x6/info.json @@ -16,10 +16,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 48, "max_brightness": 100, "split_count": [24, 24] }, diff --git a/keyboards/omkbd/runner3680/4x7/config.h b/keyboards/omkbd/runner3680/4x7/config.h index 326d9427408..127483886e1 100644 --- a/keyboards/omkbd/runner3680/4x7/config.h +++ b/keyboards/omkbd/runner3680/4x7/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,8 +32,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 56 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/runner3680/4x7/info.json b/keyboards/omkbd/runner3680/4x7/info.json index e3d06566d63..dc445a7a4f6 100644 --- a/keyboards/omkbd/runner3680/4x7/info.json +++ b/keyboards/omkbd/runner3680/4x7/info.json @@ -16,10 +16,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 56, "max_brightness": 100, "split_count": [28, 28] }, diff --git a/keyboards/omkbd/runner3680/4x8/config.h b/keyboards/omkbd/runner3680/4x8/config.h index 193bf611cba..127483886e1 100644 --- a/keyboards/omkbd/runner3680/4x8/config.h +++ b/keyboards/omkbd/runner3680/4x8/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,8 +32,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 64 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/runner3680/4x8/info.json b/keyboards/omkbd/runner3680/4x8/info.json index 90b63fb9ff7..1ac4ca08a75 100644 --- a/keyboards/omkbd/runner3680/4x8/info.json +++ b/keyboards/omkbd/runner3680/4x8/info.json @@ -16,10 +16,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 64, "max_brightness": 100, "split_count": [32, 32] }, diff --git a/keyboards/omkbd/runner3680/5x6/config.h b/keyboards/omkbd/runner3680/5x6/config.h index 8f4f682a688..127483886e1 100644 --- a/keyboards/omkbd/runner3680/5x6/config.h +++ b/keyboards/omkbd/runner3680/5x6/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,8 +32,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 60 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/runner3680/5x6/info.json b/keyboards/omkbd/runner3680/5x6/info.json index c41074c9c12..a93571c981b 100644 --- a/keyboards/omkbd/runner3680/5x6/info.json +++ b/keyboards/omkbd/runner3680/5x6/info.json @@ -16,10 +16,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 60, "max_brightness": 100, "split_count": [30, 30] }, diff --git a/keyboards/omkbd/runner3680/5x6_5x8/config.h b/keyboards/omkbd/runner3680/5x6_5x8/config.h index 261afc1d025..c360e27e423 100644 --- a/keyboards/omkbd/runner3680/5x6_5x8/config.h +++ b/keyboards/omkbd/runner3680/5x6_5x8/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -36,8 +33,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 70 -#define RGBLIGHT_SPLIT #endif #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 70 diff --git a/keyboards/omkbd/runner3680/5x6_5x8/info.json b/keyboards/omkbd/runner3680/5x6_5x8/info.json index 754135e4c31..19430d76c91 100644 --- a/keyboards/omkbd/runner3680/5x6_5x8/info.json +++ b/keyboards/omkbd/runner3680/5x6_5x8/info.json @@ -19,10 +19,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 70, "max_brightness": 100, "split_count": [30, 40] }, diff --git a/keyboards/omkbd/runner3680/5x7/config.h b/keyboards/omkbd/runner3680/5x7/config.h index ee1b1d67410..127483886e1 100644 --- a/keyboards/omkbd/runner3680/5x7/config.h +++ b/keyboards/omkbd/runner3680/5x7/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,8 +32,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 70 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/runner3680/5x7/info.json b/keyboards/omkbd/runner3680/5x7/info.json index f27590f4022..1b2240948cd 100644 --- a/keyboards/omkbd/runner3680/5x7/info.json +++ b/keyboards/omkbd/runner3680/5x7/info.json @@ -16,10 +16,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 70, "max_brightness": 100, "split_count": [35, 35] }, diff --git a/keyboards/omkbd/runner3680/5x8/config.h b/keyboards/omkbd/runner3680/5x8/config.h index a0a4d4b9829..127483886e1 100644 --- a/keyboards/omkbd/runner3680/5x8/config.h +++ b/keyboards/omkbd/runner3680/5x8/config.h @@ -16,9 +16,6 @@ #pragma once -/* define tapping term */ -#define TAPPING_TERM 120 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ @@ -35,8 +32,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 80 -#define RGBLIGHT_SPLIT #define SELECT_SOFT_SERIAL_SPEED 1 /*Sets the protocol speed when using serial communication*/ diff --git a/keyboards/omkbd/runner3680/5x8/info.json b/keyboards/omkbd/runner3680/5x8/info.json index ae35f611282..a957352e5eb 100644 --- a/keyboards/omkbd/runner3680/5x8/info.json +++ b/keyboards/omkbd/runner3680/5x8/info.json @@ -16,10 +16,14 @@ "split": { "soft_serial_pin": "D2" }, + "tapping": { + "term": 120 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "led_count": 80, "max_brightness": 100, "split_count": [40, 40] }, diff --git a/keyboards/orange75/keymaps/default/keymap.c b/keyboards/orange75/keymaps/default/keymap.c index c79fc918d0f..d6b585145db 100644 --- a/keyboards/orange75/keymaps/default/keymap.c +++ b/keyboards/orange75/keymaps/default/keymap.c @@ -52,9 +52,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { - if (usb_led & (1 << USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { setPinOutput(B0); writePinLow(B0); } else { @@ -62,7 +62,7 @@ void led_set_user(uint8_t usb_led) { writePinLow(B0); } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { setPinOutput(B1); writePinLow(B1); } else { @@ -70,11 +70,12 @@ void led_set_user(uint8_t usb_led) { writePinLow(B1); } - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { setPinOutput(B2); writePinLow(B2); } else { setPinInput(B2); writePinLow(B2); } + return false; } diff --git a/keyboards/org60/config.h b/keyboards/org60/config.h index e2b275251dd..3980b2fb710 100644 --- a/keyboards/org60/config.h +++ b/keyboards/org60/config.h @@ -29,14 +29,8 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define TAPPING_TERM 200 diff --git a/keyboards/org60/info.json b/keyboards/org60/info.json index 7ceeef83124..bc922012f09 100644 --- a/keyboards/org60/info.json +++ b/keyboards/org60/info.json @@ -17,6 +17,10 @@ "pin": "F5", "levels": 6 }, + "rgblight": { + "hue_steps": 10, + "led_count": 20 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/orthocode/config.h b/keyboards/orthocode/config.h index 38098991fed..f552f0f6db5 100644 --- a/keyboards/orthocode/config.h +++ b/keyboards/orthocode/config.h @@ -16,13 +16,6 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 10 - - #define RGBLED_NUM 10 /*Change for the number of leds on the strip you attach*/ - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/orthocode/info.json b/keyboards/orthocode/info.json index 6b283da6cf1..49ea47835bf 100644 --- a/keyboards/orthocode/info.json +++ b/keyboards/orthocode/info.json @@ -19,6 +19,15 @@ {"pin_a": "D1", "pin_b": "D0", "resolution": 1} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/owlab/jelly_epoch/hotswap/config.h b/keyboards/owlab/jelly_epoch/hotswap/config.h index b40244be73d..0049e447f96 100644 --- a/keyboards/owlab/jelly_epoch/hotswap/config.h +++ b/keyboards/owlab/jelly_epoch/hotswap/config.h @@ -27,7 +27,3 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_SNAKE # define RGBLIGHT_EFFECT_STATIC_GRADIENT # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 24 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 10 diff --git a/keyboards/owlab/jelly_epoch/hotswap/info.json b/keyboards/owlab/jelly_epoch/hotswap/info.json index c30c06fb670..b27023fcf41 100644 --- a/keyboards/owlab/jelly_epoch/hotswap/info.json +++ b/keyboards/owlab/jelly_epoch/hotswap/info.json @@ -14,6 +14,11 @@ "rows": ["B0", "B1", "B2", "B3", "A15", "B10"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 10, + "led_count": 24 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/owlab/jelly_epoch/soldered/config.h b/keyboards/owlab/jelly_epoch/soldered/config.h index b40244be73d..0049e447f96 100644 --- a/keyboards/owlab/jelly_epoch/soldered/config.h +++ b/keyboards/owlab/jelly_epoch/soldered/config.h @@ -27,7 +27,3 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_SNAKE # define RGBLIGHT_EFFECT_STATIC_GRADIENT # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 24 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 10 diff --git a/keyboards/owlab/jelly_epoch/soldered/info.json b/keyboards/owlab/jelly_epoch/soldered/info.json index 4c66855d6b7..a1d079ce2bf 100644 --- a/keyboards/owlab/jelly_epoch/soldered/info.json +++ b/keyboards/owlab/jelly_epoch/soldered/info.json @@ -14,6 +14,11 @@ "rows": ["B0", "B1", "B2", "B3", "A15", "B10"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 10, + "led_count": 24 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/owlab/spring/config.h b/keyboards/owlab/spring/config.h index 15d1e18d0b3..2b727f29a07 100644 --- a/keyboards/owlab/spring/config.h +++ b/keyboards/owlab/spring/config.h @@ -28,9 +28,5 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 8 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 10 # define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL # define RGBLIGHT_DEFAULT_VAL 127 diff --git a/keyboards/owlab/spring/info.json b/keyboards/owlab/spring/info.json index cdf51430618..df71a94100a 100644 --- a/keyboards/owlab/spring/info.json +++ b/keyboards/owlab/spring/info.json @@ -14,6 +14,11 @@ "rows": ["B0", "B7", "D0", "D1", "D2"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 10, + "led_count": 8 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/owlab/spring/spring.c b/keyboards/owlab/spring/spring.c index 8088fb03c24..13280ff9b39 100644 --- a/keyboards/owlab/spring/spring.c +++ b/keyboards/owlab/spring/spring.c @@ -108,7 +108,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_CAPS: - if(IS_LED_ON(host_keyboard_leds(), USB_LED_CAPS_LOCK)){ + if(host_keyboard_led_state().caps_lock){ caps_mode_index = CAPS_MODE_LOWER; } else{ caps_mode_index = CAPS_MODE_UPPER; diff --git a/keyboards/owlab/voice65/hotswap/config.h b/keyboards/owlab/voice65/hotswap/config.h index 17222658f31..89e5bf4345b 100644 --- a/keyboards/owlab/voice65/hotswap/config.h +++ b/keyboards/owlab/voice65/hotswap/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_SNAKE # define RGBLIGHT_EFFECT_STATIC_GRADIENT # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 10 # define OWL_VOLUME_RANGE 50 /* RGB matrix */ @@ -95,5 +91,3 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_SOLID_SPLASH # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/owlab/voice65/hotswap/hotswap.c b/keyboards/owlab/voice65/hotswap/hotswap.c index 57a216f30a9..65c0ee7eed2 100644 --- a/keyboards/owlab/voice65/hotswap/hotswap.c +++ b/keyboards/owlab/voice65/hotswap/hotswap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -#include "hotswap.h" +#include "quantum.h" #ifdef RGB_MATRIX_ENABLE const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { @@ -122,329 +122,3 @@ bool rgb_matrix_indicators_kb(void) { } return true; } - -enum encoder_modes{ - ENCODER_MODE_ONE, - ENCODER_MODE_TWO, - ENCODER_MODE_THREE -}; - -keyboard_config_t keyboard_config; -rgblight_config_t rgblight_config; - -uint8_t pre_hue, pre_sat, pre_val; -uint8_t previous_rgb_mode = 0; -uint8_t dir_hue, dir_sat; - -bool encoder_in = false; -uint32_t encoder_timer; - -bool encoder_ani_start= false; -uint32_t encoder_ani_timer = 0; - -bool encoder_direction_start = false; -uint32_t encoder_direction_timer = 0; - - -bool lizm_restart_snake = false; -void rgblight_snake_restart(uint8_t hue, uint8_t sat, uint8_t val){ - lizm_restart_snake = true; // restart signal to local each effect - rgblight_config.hue = hue; - rgblight_config.sat = sat; - rgblight_config.val = val; -} - - -void keyboard_post_init_kb(void){ - keyboard_config.raw = eeconfig_read_kb(); - if( keyboard_config.encoder_mode_index > ENCODER_MODE_THREE ){ - keyboard_config.encoder_mode_index = ENCODER_MODE_ONE; - eeconfig_update_kb(keyboard_config.raw); - } -} - -void switch_encoder_mode(uint8_t mode){ - switch(mode){ - case ENCODER_MODE_ONE: - dir_hue = 88; - dir_sat = 255; - break; - - case ENCODER_MODE_TWO: - dir_hue = 0; - dir_sat = 240; - break; - - case ENCODER_MODE_THREE: - dir_hue = 176; - dir_sat = 255; - break; - } - rgblight_sethsv_noeeprom(dir_hue,dir_sat,pre_val); -} - - -void init_encoder_mode(uint8_t mode){ - previous_rgb_mode = rgblight_get_mode(); - pre_hue = rgblight_get_hue(); - pre_sat = rgblight_get_sat(); - pre_val = rgblight_get_val(); - encoder_in = true; - - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - - switch_encoder_mode(mode); -} - - -void set_encoder_mode(uint8_t mode){ - if(encoder_in == false){ - init_encoder_mode(mode); - }else{ - switch_encoder_mode(mode); - } - eeconfig_update_kb(keyboard_config.raw); - encoder_timer = timer_read32(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch(keycode) { - case RGB_MOD: - case RGB_RMOD: - case RGB_HUI: - case RGB_HUD: - case RGB_SAI: - case RGB_SAD: - case RGB_VAI: - case RGB_VAD: - - if(encoder_in){ - return false; - } - break; - - case KC_F13: - rgb_matrix_toggle(); - break; - - case KC_F14: - rgb_matrix_step(); - break; - - case KC_F15: - rgb_matrix_step_reverse(); - break; - - case KC_F16: - rgb_matrix_increase_hue(); //Increase the hue for effect range LEDs - break; - - case KC_F17: - rgb_matrix_decrease_hue(); //Decrease the hue for effect range LEDs - break; - - case KC_F18: - rgb_matrix_increase_sat(); //Increase the saturation for effect range LEDs - break; - - case KC_F19: - rgb_matrix_decrease_sat(); //Decrease the saturation for effect range LEDs - break; - - case KC_F20: - rgb_matrix_increase_val(); //Increase the value for effect range LEDs - break; - - case KC_F21: - rgb_matrix_decrease_val();//Decrease the value for effect range LEDs - break; - - case KC_F22: //change encoder mode upward - if(!encoder_direction_start){ - if(keyboard_config.encoder_mode_index < ENCODER_MODE_THREE){ - keyboard_config.encoder_mode_index++; - } - else{ - keyboard_config.encoder_mode_index = ENCODER_MODE_ONE; - } - set_encoder_mode(keyboard_config.encoder_mode_index); - } - return false; - case KC_F23: - if(!encoder_direction_start){ - if(keyboard_config.encoder_mode_index > ENCODER_MODE_ONE){ - keyboard_config.encoder_mode_index--; - } - else{ - keyboard_config.encoder_mode_index = ENCODER_MODE_THREE; - } - set_encoder_mode(keyboard_config.encoder_mode_index); - } - return false; - - default: - break; - } - } - return process_record_user(keycode, record); -} - - -void matrix_scan_kb(void) { - if(encoder_in){ - if(timer_elapsed32(encoder_timer) > 5000){ - rgblight_mode(previous_rgb_mode); - rgblight_sethsv(pre_hue, pre_sat, pre_val); - encoder_in = false; - } - } - - if(encoder_ani_start){ - if(timer_elapsed32(encoder_ani_timer) > VOLUME_ANIMATION_TIMER){ - encoder_ani_start = false; - rgblight_sethsv_noeeprom(0,0,0); - } - } - - if(encoder_direction_start){ - if(timer_elapsed32(encoder_direction_timer) > (VOLUME_ANIMATION_TIMER+1500)){ - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_sethsv_noeeprom(dir_hue, dir_sat, pre_val); - encoder_direction_start = false; - } - } - matrix_scan_user(); -} - - -void set_volume_animation(bool increase){ - if(!encoder_ani_start){ - rgblight_snake_restart(dir_hue, dir_sat, pre_val); - } - - if(increase){ - rgblight_mode_noeeprom(17); - } else { - rgblight_mode_noeeprom(18); - } - - encoder_ani_timer = timer_read32(); - encoder_direction_timer = encoder_ani_timer; - encoder_ani_start = true; - encoder_direction_start = true; -} - - -bool encoder_update_kb(uint8_t index, bool clockwise) { - uint8_t layer_now = keyboard_config.encoder_mode_index +1; - uint16_t encoder_cw_keycode = keymap_key_to_keycode(layer_now, (keypos_t){.row=2, .col=1 }); - uint16_t encoder_ccw_keycode = keymap_key_to_keycode(layer_now, (keypos_t){.row=2, .col=2 }); - if (index == 0) { /* First encoder */ - if(encoder_in == false){ - init_encoder_mode(keyboard_config.encoder_mode_index); - } - - if (!clockwise) { - switch(encoder_cw_keycode) { - - case KC_F13: - rgb_matrix_toggle(); - break; - - case KC_F14: - rgb_matrix_step(); - break; - - case KC_F15: - rgb_matrix_step_reverse(); - break; - - case KC_F16: - rgb_matrix_increase_hue(); //Increase the hue for effect range LEDs - break; - - case KC_F17: - rgb_matrix_decrease_hue(); //Decrease the hue for effect range LEDs - break; - - case KC_F18: - rgb_matrix_increase_sat(); //Increase the saturation for effect range LEDs - break; - - case KC_F19: - rgb_matrix_decrease_sat(); //Decrease the saturation for effect range LEDs - break; - - case KC_F20: - rgb_matrix_increase_val(); //Increase the value for effect range LEDs - break; - - case KC_F21: - rgb_matrix_decrease_val();//Decrease the value for effect range LEDs - break; - - case KC_VOLU: - case KC_VOLD: - tap_code(encoder_cw_keycode); - break; - - default: - tap_code(encoder_cw_keycode); - break; - } - set_volume_animation(true); - } else { - switch(encoder_ccw_keycode) { - - case KC_F13: - rgb_matrix_toggle(); - break; - - case KC_F14: - rgb_matrix_step(); - break; - - case KC_F15: - rgb_matrix_step_reverse(); - break; - - case KC_F16: - rgb_matrix_increase_hue(); //Increase the hue for effect range LEDs - break; - - case KC_F17: - rgb_matrix_decrease_hue(); //Decrease the hue for effect range LEDs - break; - - case KC_F18: - rgb_matrix_increase_sat(); //Increase the saturation for effect range LEDs - break; - - case KC_F19: - rgb_matrix_decrease_sat(); //Decrease the saturation for effect range LEDs - break; - - case KC_F20: - rgb_matrix_increase_val(); //Increase the value for effect range LEDs - break; - - case KC_F21: - rgb_matrix_decrease_val();//Decrease the value for effect range LEDs - break; - - case KC_VOLU: - case KC_VOLD: - tap_code(encoder_ccw_keycode); - break; - - default: - tap_code(encoder_ccw_keycode); - break; - } - set_volume_animation(false); - } - encoder_timer = timer_read32(); - } - return true; -} diff --git a/keyboards/owlab/voice65/hotswap/info.json b/keyboards/owlab/voice65/hotswap/info.json index 6b6474ab68f..cf6c2503b68 100644 --- a/keyboards/owlab/voice65/hotswap/info.json +++ b/keyboards/owlab/voice65/hotswap/info.json @@ -22,10 +22,16 @@ {"pin_a": "B4", "pin_b": "B5"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "ws2812": { "pin": "B15" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 10, + "led_count": 20, "max_brightness": 180 }, "processor": "STM32F303", diff --git a/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c b/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c index 055f93e1880..5d640c162b2 100644 --- a/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c +++ b/keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c @@ -16,35 +16,44 @@ #include QMK_KEYBOARD_H // How long (in ms) to wait between animation steps for the snake mode -const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 35, 20}; +const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 35, 20}; 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_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_ENT, KC_PGDN, + 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_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, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( 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, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_HOME, - KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, - KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, + KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F23, KC_TRNS ), [2] = LAYOUT_65_ansi_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_PGUP, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 +}; + +#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(KC_PGUP, KC_PGDN) }, + [2] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/owlab/voice65/hotswap/keymaps/default/rules.mk b/keyboards/owlab/voice65/hotswap/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/owlab/voice65/hotswap/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/owlab/voice65/hotswap/keymaps/via/keymap.c b/keyboards/owlab/voice65/hotswap/keymaps/via/keymap.c index 68801ff2f8b..5d640c162b2 100644 --- a/keyboards/owlab/voice65/hotswap/keymaps/via/keymap.c +++ b/keyboards/owlab/voice65/hotswap/keymaps/via/keymap.c @@ -16,36 +16,44 @@ #include QMK_KEYBOARD_H // How long (in ms) to wait between animation steps for the snake mode -const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 35, 20}; +const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 35, 20}; 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_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_ENT, KC_PGDN, + 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_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, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( 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, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_HOME, - KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, - KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, + KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F23, KC_TRNS ), [2] = LAYOUT_65_ansi_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_PGUP, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [2] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/owlab/voice65/hotswap/keymaps/via/rules.mk b/keyboards/owlab/voice65/hotswap/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/owlab/voice65/hotswap/keymaps/via/rules.mk +++ b/keyboards/owlab/voice65/hotswap/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/owlab/voice65/soldered/config.h b/keyboards/owlab/voice65/soldered/config.h index 6f41edccd06..ee882b0d41a 100644 --- a/keyboards/owlab/voice65/soldered/config.h +++ b/keyboards/owlab/voice65/soldered/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_SNAKE # define RGBLIGHT_EFFECT_STATIC_GRADIENT # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 10 # define OWL_VOLUME_RANGE 50 /* RGB matrix*/ @@ -96,5 +92,3 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_SOLID_SPLASH # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #endif - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/owlab/voice65/soldered/info.json b/keyboards/owlab/voice65/soldered/info.json index 3b38b45da4c..7e9d0be514f 100644 --- a/keyboards/owlab/voice65/soldered/info.json +++ b/keyboards/owlab/voice65/soldered/info.json @@ -22,10 +22,16 @@ {"pin_a": "B4", "pin_b": "B5"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "ws2812": { "pin": "B15" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 10, + "led_count": 20, "max_brightness": 180 }, "processor": "STM32F303", diff --git a/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c b/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c index 055f93e1880..5d640c162b2 100644 --- a/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c +++ b/keyboards/owlab/voice65/soldered/keymaps/default/keymap.c @@ -16,35 +16,44 @@ #include QMK_KEYBOARD_H // How long (in ms) to wait between animation steps for the snake mode -const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 35, 20}; +const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 35, 20}; 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_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_ENT, KC_PGDN, + 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_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, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( 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, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_HOME, - KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, - KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, + KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F23, KC_TRNS ), [2] = LAYOUT_65_ansi_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_PGUP, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 +}; + +#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(KC_PGUP, KC_PGDN) }, + [2] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/owlab/voice65/soldered/keymaps/default/rules.mk b/keyboards/owlab/voice65/soldered/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/owlab/voice65/soldered/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/owlab/voice65/soldered/keymaps/via/keymap.c b/keyboards/owlab/voice65/soldered/keymaps/via/keymap.c index 055f93e1880..5d640c162b2 100644 --- a/keyboards/owlab/voice65/soldered/keymaps/via/keymap.c +++ b/keyboards/owlab/voice65/soldered/keymaps/via/keymap.c @@ -16,35 +16,44 @@ #include QMK_KEYBOARD_H // How long (in ms) to wait between animation steps for the snake mode -const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 35, 20}; +const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 35, 20}; 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_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_ENT, KC_PGDN, + 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_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, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_65_ansi_blocker( 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, QK_BOOT, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_HOME, - KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, - KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, + KC_TRNS, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_TRNS, KC_TRNS, KC_F22, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F23, KC_TRNS ), [2] = LAYOUT_65_ansi_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_PGUP, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_WH_D, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 +}; + +#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(KC_PGUP, KC_PGDN) }, + [2] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/owlab/voice65/soldered/keymaps/via/rules.mk b/keyboards/owlab/voice65/soldered/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/owlab/voice65/soldered/keymaps/via/rules.mk +++ b/keyboards/owlab/voice65/soldered/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/owlab/voice65/soldered/soldered.c b/keyboards/owlab/voice65/soldered/soldered.c index cfdaaad4ae2..1444b058640 100644 --- a/keyboards/owlab/voice65/soldered/soldered.c +++ b/keyboards/owlab/voice65/soldered/soldered.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -#include "soldered.h" +#include "quantum.h" #ifdef RGB_MATRIX_ENABLE const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { @@ -126,330 +126,3 @@ bool rgb_matrix_indicators_kb(void) { } return true; } - -enum encoder_modes{ - ENCODER_MODE_ONE, - ENCODER_MODE_TWO, - ENCODER_MODE_THREE -}; - -keyboard_config_t keyboard_config; -rgblight_config_t rgblight_config; - -uint8_t pre_hue, pre_sat, pre_val; -uint8_t previous_rgb_mode = 0; -uint8_t dir_hue, dir_sat; - -bool encoder_in = false; -uint32_t encoder_timer; - -bool encoder_ani_start= false; -uint32_t encoder_ani_timer = 0; - -bool encoder_direction_start = false; -uint32_t encoder_direction_timer = 0; - - -bool lizm_restart_snake = false; -void rgblight_snake_restart(uint8_t hue, uint8_t sat, uint8_t val){ - lizm_restart_snake = true; // restart signal to local each effect - rgblight_config.hue = hue; - rgblight_config.sat = sat; - rgblight_config.val = val; -} - - -void keyboard_post_init_kb(void){ - keyboard_config.raw = eeconfig_read_kb(); - if( keyboard_config.encoder_mode_index > ENCODER_MODE_THREE ){ - keyboard_config.encoder_mode_index = ENCODER_MODE_ONE; - eeconfig_update_kb(keyboard_config.raw); - } -} - -void switch_encoder_mode(uint8_t mode){ - switch(mode){ - case ENCODER_MODE_ONE: - dir_hue = 88; - dir_sat = 255; - break; - - case ENCODER_MODE_TWO: - dir_hue = 0; - dir_sat = 240; - break; - - case ENCODER_MODE_THREE: - dir_hue = 176; - dir_sat = 255; - break; - } - rgblight_sethsv_noeeprom(dir_hue,dir_sat,pre_val); -} - - -void init_encoder_mode(uint8_t mode){ - previous_rgb_mode = rgblight_get_mode(); - pre_hue = rgblight_get_hue(); - pre_sat = rgblight_get_sat(); - pre_val = rgblight_get_val(); - encoder_in = true; - - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - - switch_encoder_mode(mode); -} - - -void set_encoder_mode(uint8_t mode){ - if(encoder_in == false){ - init_encoder_mode(mode); - }else{ - switch_encoder_mode(mode); - } - eeconfig_update_kb(keyboard_config.raw); - encoder_timer = timer_read32(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch(keycode) { - case RGB_MOD: - case RGB_RMOD: - case RGB_HUI: - case RGB_HUD: - case RGB_SAI: - case RGB_SAD: - case RGB_VAI: - case RGB_VAD: - - if(encoder_in){ - return false; - } - break; - - case KC_F13: - rgb_matrix_toggle(); - break; - - case KC_F14: - rgb_matrix_step(); - break; - - case KC_F15: - rgb_matrix_step_reverse(); - break; - - case KC_F16: - rgb_matrix_increase_hue(); //Increase the hue for effect range LEDs - break; - - case KC_F17: - rgb_matrix_decrease_hue(); //Decrease the hue for effect range LEDs - break; - - case KC_F18: - rgb_matrix_increase_sat(); //Increase the saturation for effect range LEDs - break; - - case KC_F19: - rgb_matrix_decrease_sat(); //Decrease the saturation for effect range LEDs - break; - - case KC_F20: - rgb_matrix_increase_val(); //Increase the value for effect range LEDs - break; - - case KC_F21: - rgb_matrix_decrease_val();//Decrease the value for effect range LEDs - break; - - case KC_F22: //change encoder mode upward - if(!encoder_direction_start){ - if(keyboard_config.encoder_mode_index < ENCODER_MODE_THREE){ - keyboard_config.encoder_mode_index++; - } - else{ - keyboard_config.encoder_mode_index = ENCODER_MODE_ONE; - } - set_encoder_mode(keyboard_config.encoder_mode_index); - } - return false; - - case KC_F23: - if(!encoder_direction_start){ - if(keyboard_config.encoder_mode_index > ENCODER_MODE_ONE){ - keyboard_config.encoder_mode_index--; - } - else{ - keyboard_config.encoder_mode_index = ENCODER_MODE_THREE; - } - set_encoder_mode(keyboard_config.encoder_mode_index); - } - return false; - - default: - break; - } - } - return process_record_user(keycode, record); -} - - -void matrix_scan_kb(void) { - if(encoder_in){ - if(timer_elapsed32(encoder_timer) > 5000){ - rgblight_mode(previous_rgb_mode); - rgblight_sethsv(pre_hue, pre_sat, pre_val); - encoder_in = false; - } - } - - if(encoder_ani_start){ - if(timer_elapsed32(encoder_ani_timer) > VOLUME_ANIMATION_TIMER){ - encoder_ani_start = false; - rgblight_sethsv_noeeprom(0,0,0); - } - } - - if(encoder_direction_start){ - if(timer_elapsed32(encoder_direction_timer) > (VOLUME_ANIMATION_TIMER+1500)){ - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_sethsv_noeeprom(dir_hue, dir_sat, pre_val); - encoder_direction_start = false; - } - } - matrix_scan_user(); -} - - -void set_volume_animation(bool increase){ - if(!encoder_ani_start){ - rgblight_snake_restart(dir_hue, dir_sat, pre_val); - } - - if(increase){ - rgblight_mode_noeeprom(17); - } else { - rgblight_mode_noeeprom(18); - } - - encoder_ani_timer = timer_read32(); - encoder_direction_timer = encoder_ani_timer; - encoder_ani_start = true; - encoder_direction_start = true; -} - - -bool encoder_update_kb(uint8_t index, bool clockwise) { - uint8_t layer_now = keyboard_config.encoder_mode_index +1; - uint16_t encoder_cw_keycode = keymap_key_to_keycode(layer_now, (keypos_t){.row=2, .col=1 }); - uint16_t encoder_ccw_keycode = keymap_key_to_keycode(layer_now, (keypos_t){.row=2, .col=2 }); - if (index == 0) { /* First encoder */ - if(encoder_in == false){ - init_encoder_mode(keyboard_config.encoder_mode_index); - } - - if (!clockwise) { - switch(encoder_cw_keycode) { - - case KC_F13: - rgb_matrix_toggle(); - break; - - case KC_F14: - rgb_matrix_step(); - break; - - case KC_F15: - rgb_matrix_step_reverse(); - break; - - case KC_F16: - rgb_matrix_increase_hue(); //Increase the hue for effect range LEDs - break; - - case KC_F17: - rgb_matrix_decrease_hue(); //Decrease the hue for effect range LEDs - break; - - case KC_F18: - rgb_matrix_increase_sat(); //Increase the saturation for effect range LEDs - break; - - case KC_F19: - rgb_matrix_decrease_sat(); //Decrease the saturation for effect range LEDs - break; - - case KC_F20: - rgb_matrix_increase_val(); //Increase the value for effect range LEDs - break; - - case KC_F21: - rgb_matrix_decrease_val();//Decrease the value for effect range LEDs - break; - - case KC_VOLU: - case KC_VOLD: - tap_code(encoder_cw_keycode); - break; - - default: - tap_code(encoder_cw_keycode); - break; - } - set_volume_animation(true); - } else { - switch(encoder_ccw_keycode) { - - case KC_F13: - rgb_matrix_toggle(); - break; - - case KC_F14: - rgb_matrix_step(); - break; - - case KC_F15: - rgb_matrix_step_reverse(); - break; - - case KC_F16: - rgb_matrix_increase_hue(); //Increase the hue for effect range LEDs - break; - - case KC_F17: - rgb_matrix_decrease_hue(); //Decrease the hue for effect range LEDs - break; - - case KC_F18: - rgb_matrix_increase_sat(); //Increase the saturation for effect range LEDs - break; - - case KC_F19: - rgb_matrix_decrease_sat(); //Decrease the saturation for effect range LEDs - break; - - case KC_F20: - rgb_matrix_increase_val(); //Increase the value for effect range LEDs - break; - - case KC_F21: - rgb_matrix_decrease_val();//Decrease the value for effect range LEDs - break; - - case KC_VOLU: - case KC_VOLD: - tap_code(encoder_ccw_keycode); - break; - - default: - tap_code(encoder_ccw_keycode); - break; - } - set_volume_animation(false); - } - encoder_timer = timer_read32(); - } - return true; -} diff --git a/keyboards/p3d/glitch/config.h b/keyboards/p3d/glitch/config.h index a7548280532..cc72fe4c957 100644 --- a/keyboards/p3d/glitch/config.h +++ b/keyboards/p3d/glitch/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 25 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/p3d/glitch/info.json b/keyboards/p3d/glitch/info.json index 4f323df4477..c42cc3dbf48 100644 --- a/keyboards/p3d/glitch/info.json +++ b/keyboards/p3d/glitch/info.json @@ -19,6 +19,9 @@ {"pin_a": "F6", "pin_b": "F7", "resolution": 2} ] }, + "rgblight": { + "led_count": 25 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/panc40/config.h b/keyboards/panc40/config.h index edc623d08fa..d702489ee7a 100644 --- a/keyboards/panc40/config.h +++ b/keyboards/panc40/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/panc40/info.json b/keyboards/panc40/info.json index 89c96391395..349a7857e75 100644 --- a/keyboards/panc40/info.json +++ b/keyboards/panc40/info.json @@ -8,6 +8,11 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8 + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/panc60/config.h b/keyboards/panc60/config.h index d324ea3f813..d849732a072 100644 --- a/keyboards/panc60/config.h +++ b/keyboards/panc60/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 12 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/panc60/info.json b/keyboards/panc60/info.json index 077949cd095..05793bd412a 100644 --- a/keyboards/panc60/info.json +++ b/keyboards/panc60/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/pearl/config.h b/keyboards/pearl/config.h index 2a51abdab27..d849732a072 100644 --- a/keyboards/pearl/config.h +++ b/keyboards/pearl/config.h @@ -27,4 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 diff --git a/keyboards/pearl/info.json b/keyboards/pearl/info.json index 8ac8ef0a7e4..a56cf0aca2b 100644 --- a/keyboards/pearl/info.json +++ b/keyboards/pearl/info.json @@ -15,6 +15,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/pearlboards/atlas/config.h b/keyboards/pearlboards/atlas/config.h index 009f810b0cc..65443961ea8 100644 --- a/keyboards/pearlboards/atlas/config.h +++ b/keyboards/pearlboards/atlas/config.h @@ -30,7 +30,6 @@ along with this program. If not, see . #define V_PEAK 5 /*== all animations enabled ==*/ -/* If RGBLIGHT_SLEEP defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_CHRISTMAS @@ -40,11 +39,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/pearlboards/atlas/info.json b/keyboards/pearlboards/atlas/info.json index 6c944ff3293..31e5bdeba8f 100644 --- a/keyboards/pearlboards/atlas/info.json +++ b/keyboards/pearlboards/atlas/info.json @@ -24,6 +24,12 @@ "scroll_lock": "F6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/pearlboards/pandora/config.h b/keyboards/pearlboards/pandora/config.h index 02fc30db977..e5b19035860 100644 --- a/keyboards/pearlboards/pandora/config.h +++ b/keyboards/pearlboards/pandora/config.h @@ -20,7 +20,6 @@ along with this program. If not, see . #define DIP_SWITCH_PINS { B2, B5 } /*== all animations enabled ==*/ -/* If RGBLIGHT_SLEEP defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_CHRISTMAS @@ -30,11 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/pearlboards/pandora/info.json b/keyboards/pearlboards/pandora/info.json index 39f271d1b52..a56fd7e5442 100644 --- a/keyboards/pearlboards/pandora/info.json +++ b/keyboards/pearlboards/pandora/info.json @@ -22,6 +22,12 @@ "caps_lock": "E6", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/pearlboards/pearl/config.h b/keyboards/pearlboards/pearl/config.h index 361c3159291..374e41284eb 100644 --- a/keyboards/pearlboards/pearl/config.h +++ b/keyboards/pearlboards/pearl/config.h @@ -30,7 +30,6 @@ along with this program. If not, see . #define V_PEAK 5 /*== all animations enabled ==*/ -/* If RGBLIGHT_SLEEP defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_CHRISTMAS @@ -41,11 +40,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 10 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/pearlboards/pearl/info.json b/keyboards/pearlboards/pearl/info.json index c14c6685b36..d99dd00dd6d 100644 --- a/keyboards/pearlboards/pearl/info.json +++ b/keyboards/pearlboards/pearl/info.json @@ -19,6 +19,12 @@ "scroll_lock": "B2", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/pearlboards/zeus/config.h b/keyboards/pearlboards/zeus/config.h index 102c43e1680..b3a6188f50a 100644 --- a/keyboards/pearlboards/zeus/config.h +++ b/keyboards/pearlboards/zeus/config.h @@ -34,7 +34,6 @@ along with this program. If not, see . #define V_PEAK 5 /*== all animations enabled ==*/ -/* If RGBLIGHT_SLEEP defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_CHRISTMAS @@ -44,11 +43,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 2 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/pearlboards/zeus/info.json b/keyboards/pearlboards/zeus/info.json index 0fbfc75c217..2b4990390e7 100644 --- a/keyboards/pearlboards/zeus/info.json +++ b/keyboards/pearlboards/zeus/info.json @@ -24,6 +24,12 @@ "scroll_lock": "C3", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2, + "sleep": true + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/pearlboards/zeuspad/config.h b/keyboards/pearlboards/zeuspad/config.h index 205cad6e32a..4768e521497 100644 --- a/keyboards/pearlboards/zeuspad/config.h +++ b/keyboards/pearlboards/zeuspad/config.h @@ -25,7 +25,6 @@ along with this program. If not, see . #define AUDIO_PIN C6 /*== all animations enabled ==*/ -/* If RGBLIGHT_SLEEP defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_CHRISTMAS @@ -35,11 +34,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 2 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/pearlboards/zeuspad/info.json b/keyboards/pearlboards/zeuspad/info.json index 9bd5a1a99ad..2d57bffde26 100644 --- a/keyboards/pearlboards/zeuspad/info.json +++ b/keyboards/pearlboards/zeuspad/info.json @@ -18,6 +18,12 @@ {"pin_a": "D6", "pin_b": "D4", "resolution": 1} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/peranekofactory/tone/rev1/config.h b/keyboards/peranekofactory/tone/rev1/config.h index c97fab915a3..bbe3b73627f 100644 --- a/keyboards/peranekofactory/tone/rev1/config.h +++ b/keyboards/peranekofactory/tone/rev1/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 100 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/peranekofactory/tone/rev1/info.json b/keyboards/peranekofactory/tone/rev1/info.json index 5a19b72ffeb..67e08be6885 100644 --- a/keyboards/peranekofactory/tone/rev1/info.json +++ b/keyboards/peranekofactory/tone/rev1/info.json @@ -13,6 +13,9 @@ {"pin_a": "B5", "pin_b": "B4"} ] }, + "qmk": { + "tap_keycode_delay": 100 + }, "processor": "atmega32u4", "bootloader": "caterina", "matrix_pins": { diff --git a/keyboards/peranekofactory/tone/rev2/config.h b/keyboards/peranekofactory/tone/rev2/config.h index c97fab915a3..bbe3b73627f 100644 --- a/keyboards/peranekofactory/tone/rev2/config.h +++ b/keyboards/peranekofactory/tone/rev2/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define TAP_CODE_DELAY 100 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/peranekofactory/tone/rev2/info.json b/keyboards/peranekofactory/tone/rev2/info.json index 5a19b72ffeb..67e08be6885 100644 --- a/keyboards/peranekofactory/tone/rev2/info.json +++ b/keyboards/peranekofactory/tone/rev2/info.json @@ -13,6 +13,9 @@ {"pin_a": "B5", "pin_b": "B4"} ] }, + "qmk": { + "tap_keycode_delay": 100 + }, "processor": "atmega32u4", "bootloader": "caterina", "matrix_pins": { diff --git a/keyboards/percent/booster/config.h b/keyboards/percent/booster/config.h index d0537fd5d79..b8be4dca5f4 100644 --- a/keyboards/percent/booster/config.h +++ b/keyboards/percent/booster/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/percent/booster/info.json b/keyboards/percent/booster/info.json index ba8be4a6037..6a7c3ef4add 100644 --- a/keyboards/percent/booster/info.json +++ b/keyboards/percent/booster/info.json @@ -16,6 +16,12 @@ "backlight": { "pin": "B7" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/percent/canoe/config.h b/keyboards/percent/canoe/config.h index b7aa6ca2e9c..d849732a072 100644 --- a/keyboards/percent/canoe/config.h +++ b/keyboards/percent/canoe/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 2 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/percent/canoe/info.json b/keyboards/percent/canoe/info.json index fcbdf6bac88..5cc689c1c2a 100644 --- a/keyboards/percent/canoe/info.json +++ b/keyboards/percent/canoe/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 2 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/percent/canoe/keymaps/boy_314/keymap.c b/keyboards/percent/canoe/keymaps/boy_314/keymap.c index e9c56ed1b10..cccfd448a0c 100644 --- a/keyboards/percent/canoe/keymaps/boy_314/keymap.c +++ b/keyboards/percent/canoe/keymaps/boy_314/keymap.c @@ -47,10 +47,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<. #pragma once -#define RGBLED_NUM 2 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/percent/skog/info.json b/keyboards/percent/skog/info.json index 19e7f816036..0570481adca 100644 --- a/keyboards/percent/skog/info.json +++ b/keyboards/percent/skog/info.json @@ -17,6 +17,9 @@ "pin": "D4", "levels": 5 }, + "rgblight": { + "led_count": 2 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/percent/skog_lite/config.h b/keyboards/percent/skog_lite/config.h index 75b78de22de..d849732a072 100644 --- a/keyboards/percent/skog_lite/config.h +++ b/keyboards/percent/skog_lite/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 18 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/percent/skog_lite/info.json b/keyboards/percent/skog_lite/info.json index 4133d5c81b8..1b868a244f0 100644 --- a/keyboards/percent/skog_lite/info.json +++ b/keyboards/percent/skog_lite/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/phage_studio/pila87/rules.mk b/keyboards/phage_studio/pila87/rules.mk index 05f967d7a87..cd96ec2c2cd 100644 --- a/keyboards/phage_studio/pila87/rules.mk +++ b/keyboards/phage_studio/pila87/rules.mk @@ -14,9 +14,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # RGB Matrix enabled RGB_MATRIX_ENABLE = yes diff --git a/keyboards/phantom/config.h b/keyboards/phantom/config.h index 5a4961d3bb5..06338d2a2db 100644 --- a/keyboards/phantom/config.h +++ b/keyboards/phantom/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/phantom/info.json b/keyboards/phantom/info.json index bf858eaf06b..9c0249e3ddb 100644 --- a/keyboards/phantom/info.json +++ b/keyboards/phantom/info.json @@ -17,6 +17,10 @@ "caps_lock": "B6", "scroll_lock": "B7" }, + "rgblight": { + "hue_steps": 10, + "led_count": 20 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/phrygian/ph100/rules.mk b/keyboards/phrygian/ph100/rules.mk index 707adf67c4e..5fb302d01f1 100644 --- a/keyboards/phrygian/ph100/rules.mk +++ b/keyboards/phrygian/ph100/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/pico/65keys/config.h b/keyboards/pico/65keys/config.h index 7506090b1ed..50bfb15d211 100644 --- a/keyboards/pico/65keys/config.h +++ b/keyboards/pico/65keys/config.h @@ -21,8 +21,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,9 +31,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/pico/65keys/info.json b/keyboards/pico/65keys/info.json index c9d61fc4342..cba6e9d0c4d 100644 --- a/keyboards/pico/65keys/info.json +++ b/keyboards/pico/65keys/info.json @@ -16,6 +16,11 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/pico/70keys/config.h b/keyboards/pico/70keys/config.h index 7506090b1ed..50bfb15d211 100644 --- a/keyboards/pico/70keys/config.h +++ b/keyboards/pico/70keys/config.h @@ -21,8 +21,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,9 +31,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/pico/70keys/info.json b/keyboards/pico/70keys/info.json index 09c1cfa5b38..b704a422a64 100644 --- a/keyboards/pico/70keys/info.json +++ b/keyboards/pico/70keys/info.json @@ -16,6 +16,11 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/picolab/frusta_fundamental/config.h b/keyboards/picolab/frusta_fundamental/config.h index 1bd318c9ade..ebb4d759a4e 100644 --- a/keyboards/picolab/frusta_fundamental/config.h +++ b/keyboards/picolab/frusta_fundamental/config.h @@ -32,7 +32,3 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 67 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/picolab/frusta_fundamental/info.json b/keyboards/picolab/frusta_fundamental/info.json index 91aadda6ff4..8885e771606 100644 --- a/keyboards/picolab/frusta_fundamental/info.json +++ b/keyboards/picolab/frusta_fundamental/info.json @@ -8,6 +8,11 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 67 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/pimentoso/touhoupad/config.h b/keyboards/pimentoso/touhoupad/config.h index c4b29301c37..83b4c08c266 100644 --- a/keyboards/pimentoso/touhoupad/config.h +++ b/keyboards/pimentoso/touhoupad/config.h @@ -15,11 +15,6 @@ */ #pragma once - #define RGBLED_NUM 12 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/pimentoso/touhoupad/info.json b/keyboards/pimentoso/touhoupad/info.json index 4e351917614..eb3f73a751e 100644 --- a/keyboards/pimentoso/touhoupad/info.json +++ b/keyboards/pimentoso/touhoupad/info.json @@ -8,6 +8,12 @@ "pid": "0x0031", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/pixelspace/capsule65i/config.h b/keyboards/pixelspace/capsule65i/config.h index c6dd26a46a9..d040080560f 100644 --- a/keyboards/pixelspace/capsule65i/config.h +++ b/keyboards/pixelspace/capsule65i/config.h @@ -26,7 +26,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/pixelspace/capsule65i/info.json b/keyboards/pixelspace/capsule65i/info.json index b2ac8f85287..f304318e06e 100644 --- a/keyboards/pixelspace/capsule65i/info.json +++ b/keyboards/pixelspace/capsule65i/info.json @@ -16,6 +16,11 @@ "indicators": { "caps_lock": "F6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h index 3b10a2b753b..7cfc65d5094 100644 --- a/keyboards/planck/ez/config.h +++ b/keyboards/planck/ez/config.h @@ -42,7 +42,6 @@ //#define NO_ACTION_ONESHOT // #define WS2812_LED_N 2 -// #define RGBLED_NUM WS2812_LED_N // #define WS2812_TIM_N 2 // #define WS2812_TIM_CH 2 // #define PORT_WS2812 GPIOA @@ -111,8 +110,6 @@ #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#define TAPPING_TOGGLE 1 - #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 #define MOUSEKEY_TIME_TO_MAX 60 diff --git a/keyboards/planck/ez/info.json b/keyboards/planck/ez/info.json index 370a19357f0..0bb9d35ca25 100644 --- a/keyboards/planck/ez/info.json +++ b/keyboards/planck/ez/info.json @@ -21,6 +21,9 @@ }, "processor": "STM32F303", "bootloader": "stm32-dfu", + "tapping": { + "toggle": 1 + }, "community_layouts": ["ortho_4x12", "planck_mit"], "layout_aliases": { "LAYOUT_planck_grid": "LAYOUT_ortho_4x12", diff --git a/keyboards/planck/keymaps/altgr/common/init.h b/keyboards/planck/keymaps/altgr/common/init.h index 6366a19f65e..6d0b4392fb8 100644 --- a/keyboards/planck/keymaps/altgr/common/init.h +++ b/keyboards/planck/keymaps/altgr/common/init.h @@ -13,21 +13,22 @@ void matrix_init_user(void) #ifdef AUDIO_ENABLE #ifdef BACKLIGHT_ENABLE -void led_set_user(uint8_t usb_led) +bool led_update_user(led_t led_state) { - static uint8_t old_usb_led = 0; + static led_t old_led_state = {0}; _delay_ms(10); // gets rid of tick if (!is_playing_notes()) { - if ((usb_led & (1<. + */ + +#pragma once + +#ifdef AUDIO_ENABLE +# define STARTUP_SONG SONG(PLANCK_SOUND) +// #define STARTUP_SONG SONG(NO_SOUND) + +# define DEFAULT_LAYER_SONGS \ + { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) } +#endif + +/* + * MIDI options + */ + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ + +#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +//#define MIDI_ADVANCED + +/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ +//#define MIDI_TONE_KEYCODE_OCTAVES 2 + +// Most tactile encoders have detents every 4 stages +#define ENCODER_RESOLUTION 4 + +#define TAPPING_TERM 160 diff --git a/keyboards/planck/keymaps/lindgrenj6/keymap.c b/keyboards/planck/keymaps/lindgrenj6/keymap.c new file mode 100644 index 00000000000..94353e32483 --- /dev/null +++ b/keyboards/planck/keymaps/lindgrenj6/keymap.c @@ -0,0 +1,220 @@ +/* Copyright 2015-2021 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 . + */ + +#include QMK_KEYBOARD_H + +enum planck_layers { + _BASE, + _LOWER, + _RAISE, + _ADJUST, + _NUMPAD, + _EXTRA, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_planck_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(_BASE, KC_MINUS), + MT(MOD_LCTL, KC_ESCAPE), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SEMICOLON, KC_QUOTE, + KC_LSFT, MT(MOD_LCTL|MOD_LSFT ,KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_INSERT, + LT(_EXTRA, KC_GRAVE), TG(_NUMPAD), KC_LGUI, KC_LALT, LT(_LOWER, KC_BSPC), KC_SPACE, KC_SPACE, LT(_RAISE, KC_ENTER), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT + ), + + [_LOWER] = LAYOUT_planck_grid( + KC_TILDE, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, LT(KC_LBRC, KC_7), LT(KC_RBRC, KC_8), KC_MINUS, KC_UNDS, LT(KC_PGUP, KC_HOME), + _______, _______, _______, _______, _______, _______, KC_PIPE, KC_LCBR, KC_RCBR, KC_PLUS, KC_EQUAL, LT(KC_PGDN, KC_END), + _______, _______, _______, _______, _______, _______, _______, KC_LPRN, KC_RPRN, _______, KC_BSLS, KC_DELETE, + _______, _______, _______, _______, _______, _______, _______, _______, C(S(KC_LEFT)), C(KC_MINUS), C(S(KC_PLUS)), C(S(KC_RIGHT)) + ), + + [_RAISE] = LAYOUT_planck_grid( + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_PGUP), + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, _______, _______, _______, _______, LGUI(KC_PGDN), + _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, _______, _______, _______, KC_BSLS, _______, + _______, _______, _______, _______, _______, KC_PSCR, KC_PSCR, _______, _______, _______, _______, KC_MPLY + ), + + [_ADJUST] = LAYOUT_planck_grid( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, AU_ON, AU_OFF, AU_TOGG, RGB_SPI, _______, RGB_TOG, RGB_VAI, RGB_HUI, KC_BRIGHTNESS_UP, QK_BOOT, + _______, _______, MU_ON, MU_OFF, MU_TOGG, RGB_SPD, _______, RGB_MOD, RGB_VAD, RGB_HUD, KC_BRIGHTNESS_DOWN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_NUMPAD] = LAYOUT_planck_grid( + _______, _______, _______, _______, _______, _______, KC_CALCULATOR, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, KC_KP_SLASH, + _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_KP_ASTERISK, + _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, _______, + _______, _______, _______, _______, _______, _______, _______, KC_KP_0, _______, KC_KP_DOT, KC_KP_ENTER, _______ + ), + + [_EXTRA] = LAYOUT_planck_grid( + G(KC_L), KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, + _______, _______, KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, LT(_EXTRA, KC_MPLY) + ), + +}; + +#ifdef AUDIO_ENABLE + float plover_song[][2] = SONG(PLOVER_SOUND); + float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case(LT(_BASE,KC_MINUS)): + if (record->tap.count && record->event.pressed) { + return true; + } else if(record->event.pressed) { + tap_code(KC_BSLS); + return false; + } + break; + + case(LT(KC_LBRC, KC_7)): + if (record->tap.count && record->event.pressed) { + tap_code(KC_LBRC); + return false; + } else if(record->event.pressed) { + tap_code16(KC_AMPERSAND); + return false; + } + break; + + case(LT(KC_RBRC, KC_8)): + if (record->tap.count && record->event.pressed) { + tap_code(KC_RBRC); + return false; + } else if(record->event.pressed) { + tap_code16(KC_ASTERISK); + return false; + } + break; + + case(LT(KC_PGUP, KC_HOME)): + if (record->tap.count && record->event.pressed) { + tap_code(KC_PGUP); + return false; + } else if(record->event.pressed) { + tap_code(KC_HOME); + return false; + } + break; + + case(LT(KC_PGDN, KC_END)): + if (record->tap.count && record->event.pressed) { + tap_code(KC_PGDN); + return false; + } else if(record->event.pressed) { + tap_code(KC_END); + return false; + } + break; + + case(LT(_EXTRA, KC_MPLY)): + if (record->tap.count == 2 && record->event.pressed) { + tap_code(KC_MNXT); + return false; + } else if(record->event.pressed) { + tap_code(KC_MPLY); + return false; + } + break; + } + return true; +} + +bool muse_mode = false; +uint8_t last_muse_note = 0; +uint16_t muse_counter = 0; +uint8_t muse_offset = 70; +uint16_t muse_tempo = 50; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (muse_mode) { + if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + muse_offset++; + } else { + muse_offset--; + } + } else { + if (clockwise) { + muse_tempo+=1; + } else { + muse_tempo-=1; + } + } + } else { + if (clockwise) { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_DOWN); + #else + tap_code(KC_PGDN); + #endif + } else { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_UP); + #else + tap_code(KC_PGUP); + #endif + } + } + return true; +} + +bool dip_switch_update_user(uint8_t index, bool active) { + switch (index) { + case 0: { +#ifdef AUDIO_ENABLE + static bool play_sound = false; +#endif + if (active) { +#ifdef AUDIO_ENABLE + if (play_sound) { PLAY_SONG(plover_song); } +#endif + layer_on(_ADJUST); + } else { +#ifdef AUDIO_ENABLE + if (play_sound) { PLAY_SONG(plover_gb_song); } +#endif + layer_off(_ADJUST); + } +#ifdef AUDIO_ENABLE + play_sound = true; +#endif + break; + } + case 1: + muse_mode = false; + } + return true; +} + +void matrix_scan_user(void) { +} + +bool music_mask_user(uint16_t keycode) { + switch (keycode) { + case LT(_RAISE, KC_ENTER): + case LT(_LOWER, KC_BSPC): + return false; + default: + return true; + } +} diff --git a/keyboards/planck/keymaps/lindgrenj6/rules.mk b/keyboards/planck/keymaps/lindgrenj6/rules.mk new file mode 100644 index 00000000000..7aa6b2130f0 --- /dev/null +++ b/keyboards/planck/keymaps/lindgrenj6/rules.mk @@ -0,0 +1,5 @@ +ifeq ($(strip $(AUDIO_ENABLE)), yes) + SRC += muse.c +endif + +TRI_LAYER_ENABLE = yes diff --git a/keyboards/planck/keymaps/rootiest/keymap.c b/keyboards/planck/keymaps/rootiest/keymap.c index 7e3b8af3676..d6e8c7ef0ff 100644 --- a/keyboards/planck/keymaps/rootiest/keymap.c +++ b/keyboards/planck/keymaps/rootiest/keymap.c @@ -1527,7 +1527,7 @@ void scap_finished(tap_dance_state_t* state, void* user_data) { register_code(KC_LSFT); break; default: - if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) { + if (host_keyboard_led_state().caps_lock) { tap_code(KC_CAPS); reset_tap_dance(state); break; diff --git a/keyboards/planck/keymaps/sdothum/common/init.h b/keyboards/planck/keymaps/sdothum/common/init.h index 6366a19f65e..6d0b4392fb8 100644 --- a/keyboards/planck/keymaps/sdothum/common/init.h +++ b/keyboards/planck/keymaps/sdothum/common/init.h @@ -13,21 +13,22 @@ void matrix_init_user(void) #ifdef AUDIO_ENABLE #ifdef BACKLIGHT_ENABLE -void led_set_user(uint8_t usb_led) +bool led_update_user(led_t led_state) { - static uint8_t old_usb_led = 0; + static led_t old_led_state = {0}; _delay_ms(10); // gets rid of tick if (!is_playing_notes()) { - if ((usb_led & (1<event.pressed) { register_code(KC_RSFT); -#ifdef BACKLIGHT_ENABLE - backlight_step(); -#endif -#ifdef KEYBOARD_planck_rev5 - writePinLow(E6); -#endif } else { unregister_code(KC_RSFT); -#ifdef KEYBOARD_planck_rev5 - writePinHigh(E6); -#endif } return false; break; diff --git a/keyboards/planck/rev7/keymaps/peterfalken/config.h b/keyboards/planck/rev7/keymaps/peterfalken/config.h new file mode 100644 index 00000000000..c3de26365b2 --- /dev/null +++ b/keyboards/planck/rev7/keymaps/peterfalken/config.h @@ -0,0 +1,49 @@ +/* Copyright 2015-2023 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 + +#ifdef AUDIO_ENABLE +# define STARTUP_SONG SONG(PLANCK_SOUND) +// #define STARTUP_SONG SONG(NO_SOUND) + +# define DEFAULT_LAYER_SONGS \ + { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) } +#endif + +/* + * MIDI options + */ + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ + +#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +// #define MIDI_ADVANCED + +/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ +// #define MIDI_TONE_KEYCODE_OCTAVES 2 + +// Most tactile encoders have detents every 4 stages +#define ENCODER_RESOLUTION 4 diff --git a/keyboards/planck/rev7/keymaps/peterfalken/keymap.c b/keyboards/planck/rev7/keymaps/peterfalken/keymap.c new file mode 100644 index 00000000000..140149c4723 --- /dev/null +++ b/keyboards/planck/rev7/keymaps/peterfalken/keymap.c @@ -0,0 +1,80 @@ +// Copyright 2023 Peter.Falken (@PeterFalken) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "muse.h" +#include "peterfalken.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | 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 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ▽ | Ctrl | Opt | Cmd | LWR | Space | RSE | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_planck_grid( + 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 , + _______, KC_LCTL, KC_LOPT, KC_LCMD, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ▽ | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | ▽ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ ▽ | ▽ | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_planck_grid( + 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 + * ,-----------------------------------------------------------------------------------. + * | ` | 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 | ▽ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ ▽ | ▽ | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_planck_grid( + 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) + * ,-----------------------------------------------------------------------------------. + * | RSET | ▽ | M.AP | M.AL | LPAD | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ | SLEP | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | CPWD | UN | CU | CO | PA | MV | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ▽ | ▽ | ▽ | ▽ | ▽ | ▽ ▽ | ▽ | ▽ | ▽ | ▽ | ▽ | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_planck_grid( + QK_BOOT, _______, CK_M1, KC_MCTL, KC_LPAD, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CK_SLP, + CK_CW, _______, CK_CU, CK_CO, CK_PA, CK_MV, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + +}; diff --git a/keyboards/mechllama/g35/v2/config.h b/keyboards/planck/rev7/keymaps/peterfalken/readme.md similarity index 89% rename from keyboards/mechllama/g35/v2/config.h rename to keyboards/planck/rev7/keymaps/peterfalken/readme.md index 7c15560a1a7..f64d682a51e 100644 --- a/keyboards/mechllama/g35/v2/config.h +++ b/keyboards/planck/rev7/keymaps/peterfalken/readme.md @@ -1,5 +1,4 @@ -/* -Copyright 2019 Kaylyn Bogle +Copyright 2023 LEG @PeterFalken This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,8 +12,3 @@ GNU General 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 RGBLED_NUM 6 diff --git a/keyboards/planck/rev7/keymaps/peterfalken/rules.mk b/keyboards/planck/rev7/keymaps/peterfalken/rules.mk new file mode 100644 index 00000000000..4db223543d7 --- /dev/null +++ b/keyboards/planck/rev7/keymaps/peterfalken/rules.mk @@ -0,0 +1,4 @@ +# Setup keymap QMK features +# TODO: Check for space optimizations +AUDIO_ENABLE = yes # Enable Audio Output +ENCODER_ENABLE = no # Disable encoder diff --git a/keyboards/planck/rev7/matrix.c b/keyboards/planck/rev7/matrix.c index 6b45d618611..c89c399a40d 100644 --- a/keyboards/planck/rev7/matrix.c +++ b/keyboards/planck/rev7/matrix.c @@ -19,6 +19,7 @@ #include "hal_pal.h" #include "hal_pal_lld.h" #include "quantum.h" +#include // STM32-specific watchdog config calculations // timeout = 31.25us * PR * (RL + 1) @@ -31,21 +32,36 @@ #define STM32_IWDG_RL_MS(s) STM32_IWDG_RL_US(s * 1000.0) #define STM32_IWDG_RL_S(s) STM32_IWDG_RL_US(s * 1000000.0) +#if !defined(PLANCK_ENCODER_RESOLUTION) +# define PLANCK_ENCODER_RESOLUTION 4 +#endif + +#if !defined(PLANCK_WATCHDOG_TIMEOUT) +# define PLANCK_WATCHDOG_TIMEOUT 1.0 +#endif + +#ifdef ENCODER_MAP_ENABLE +#error "The encoder map feature is not currently supported by the Planck's encoder matrix" +#endif + /* matrix state(1:on, 0:off) */ static pin_t matrix_row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; static pin_t matrix_col_pins[MATRIX_COLS] = MATRIX_COL_PINS; static matrix_row_t matrix_inverted[MATRIX_COLS]; +#ifdef ENCODER_ENABLE int8_t encoder_LUT[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0}; uint8_t encoder_state[8] = {0}; int8_t encoder_pulses[8] = {0}; uint8_t encoder_value[8] = {0}; +#endif void matrix_init_custom(void) { // actual matrix setup - cols for (int i = 0; i < MATRIX_COLS; i++) { setPinOutput(matrix_col_pins[i]); + writePinLow(matrix_col_pins[i]); } // rows @@ -57,50 +73,47 @@ void matrix_init_custom(void) { setPinInputLow(B12); setPinInputLow(B13); - // setup watchdog timer for 1 second +#ifndef PLANCK_WATCHDOG_DISABLE wdgInit(); static WDGConfig wdgcfg; - wdgcfg.pr = STM32_IWDG_PR_S(1.0); - wdgcfg.rlr = STM32_IWDG_RL_S(1.0); + wdgcfg.pr = STM32_IWDG_PR_S(PLANCK_WATCHDOG_TIMEOUT); + wdgcfg.rlr = STM32_IWDG_RL_S(PLANCK_WATCHDOG_TIMEOUT); wdgcfg.winr = STM32_IWDG_WIN_DISABLED; wdgStart(&WDGD1, &wdgcfg); +#endif } +#ifdef ENCODER_ENABLE bool encoder_update(uint8_t index, uint8_t state) { bool changed = false; uint8_t i = index; encoder_pulses[i] += encoder_LUT[state & 0xF]; - if (encoder_pulses[i] >= ENCODER_RESOLUTION) { + if (encoder_pulses[i] >= PLANCK_ENCODER_RESOLUTION) { encoder_value[index]++; changed = true; -#ifdef ENCODER_MAP_ENABLE - encoder_exec_mapping(index, false); -#else // ENCODER_MAP_ENABLE encoder_update_kb(index, false); -#endif // ENCODER_MAP_ENABLE } - if (encoder_pulses[i] <= -ENCODER_RESOLUTION) { + if (encoder_pulses[i] <= -PLANCK_ENCODER_RESOLUTION) { encoder_value[index]--; changed = true; -#ifdef ENCODER_MAP_ENABLE - encoder_exec_mapping(index, true); -#else // ENCODER_MAP_ENABLE encoder_update_kb(index, true); -#endif // ENCODER_MAP_ENABLE } - encoder_pulses[i] %= ENCODER_RESOLUTION; + encoder_pulses[i] %= PLANCK_ENCODER_RESOLUTION; #ifdef ENCODER_DEFAULT_POS encoder_pulses[i] = 0; #endif return changed; } +#endif bool matrix_scan_custom(matrix_row_t current_matrix[]) { +#ifndef PLANCK_WATCHDOG_DISABLE // reset watchdog wdgReset(&WDGD1); +#endif bool changed = false; @@ -136,6 +149,7 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { changed |= old != current_matrix[row]; } +#ifdef ENCODER_ENABLE // encoder-matrix functionality // set up C/rows for encoder read @@ -168,6 +182,7 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { for (int i = 0; i < MATRIX_ROWS; i++) { setPinInputLow(matrix_row_pins[i]); } +#endif return changed; } diff --git a/keyboards/planck/rev7/readme.md b/keyboards/planck/rev7/readme.md index 9b531a4e094..6a4df377046 100644 --- a/keyboards/planck/rev7/readme.md +++ b/keyboards/planck/rev7/readme.md @@ -14,7 +14,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Encoders -Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scanning to work properly. Multiple encoders can be used at the same time, and are zero-indexed (compared to being one-indexed on the PCB's silkscreen) in the `encoder_update_user(index, clockwise)` function: +Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scanning to work properly. Multiple encoders can be used at the same time, and are zero-indexed (compared to being one-indexed on the PCB's silkscreen) in the `encoder_update_user(uint8_t index, bool clockwise)` function: ``` ,-----------------------------------------------------------------------------------. @@ -28,4 +28,15 @@ Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scan `-----------------------------------------------------------------------------------' ``` -If an encoder has a switch built-in, it's connected to the key at that location. On the default keymap, each encoder will play its own rising/falling tone sequence when rotated, and will reset the pitch after one second of inactivity. +If an encoder has a switch built-in, it's connected to the key at that location. On the default keymap, each encoder will play its own rising/falling tone sequence when rotated, and will reset the pitch after one second of inactivity. The encoder map feature is not currently supported. + +## Some Planck-specific config.h options: + +```c +// sets the length (in seconds) of the watchdog timer, which will reset the keyboard due to hang/crash in the code +#define PLANCK_WATCHDOG_TIMEOUT 1.0 +// disables the watchdog timer - you may want to disable the watchdog timer if you use longer macros +#define PLANCK_WATCHDOG_DISABLE +// the resolution of the encoders used in the encoder matrix +#define PLANCK_ENCODER_RESOLUTION 4 +``` diff --git a/keyboards/planck/thk/config.h b/keyboards/planck/thk/config.h index 832fb0789cc..cfb88aa0eb1 100644 --- a/keyboards/planck/thk/config.h +++ b/keyboards/planck/thk/config.h @@ -18,8 +18,6 @@ along with this program. If not, see . #pragma once -#define TAPPING_TOGGLE 3 - #define DIP_SWITCH_PINS { D0, D1, D4, D6 } // THK uses D5 for audio diff --git a/keyboards/planck/thk/info.json b/keyboards/planck/thk/info.json index e7321ba6972..f62e074e682 100644 --- a/keyboards/planck/thk/info.json +++ b/keyboards/planck/thk/info.json @@ -21,6 +21,9 @@ }, "processor": "atmega32a", "bootloader": "usbasploader", + "tapping": { + "toggle": 3 + }, "layout_aliases": { "LAYOUT_planck_grid": "LAYOUT_ortho_4x12", "LAYOUT_planck_mit": "LAYOUT_planck_1x2uC" diff --git a/keyboards/playkbtw/ca66/config.h b/keyboards/playkbtw/ca66/config.h index 9bcb20ae881..d702489ee7a 100644 --- a/keyboards/playkbtw/ca66/config.h +++ b/keyboards/playkbtw/ca66/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/playkbtw/ca66/info.json b/keyboards/playkbtw/ca66/info.json index 828d5337b2a..3f9538f31c0 100644 --- a/keyboards/playkbtw/ca66/info.json +++ b/keyboards/playkbtw/ca66/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "F0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c b/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c index 9b441a88922..8ef6c0499db 100644 --- a/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c +++ b/keyboards/playkbtw/ca66/keymaps/olivia/keymap.c @@ -17,20 +17,11 @@ 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, KC_TRNS, KC_TRNS), }; -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { DDRD |= (1 << 1); PORTD &= ~(1 << 1); } else { DDRD &= ~(1 << 1); PORTD &= ~(1 << 1); } + return false; } diff --git a/keyboards/playkbtw/helen80/config.h b/keyboards/playkbtw/helen80/config.h index 57840935b6b..130ef4a147a 100644 --- a/keyboards/playkbtw/helen80/config.h +++ b/keyboards/playkbtw/helen80/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 87 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/playkbtw/helen80/info.json b/keyboards/playkbtw/helen80/info.json index 7e568e6ed8e..2fecd2b4cfc 100644 --- a/keyboards/playkbtw/helen80/info.json +++ b/keyboards/playkbtw/helen80/info.json @@ -22,7 +22,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 87, + "max_brightness": 180, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/playkbtw/pk60/config.h b/keyboards/playkbtw/pk60/config.h index 8471167fcd9..d702489ee7a 100644 --- a/keyboards/playkbtw/pk60/config.h +++ b/keyboards/playkbtw/pk60/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/playkbtw/pk60/info.json b/keyboards/playkbtw/pk60/info.json index 89b414d08f6..2ef92c7b264 100644 --- a/keyboards/playkbtw/pk60/info.json +++ b/keyboards/playkbtw/pk60/info.json @@ -17,6 +17,11 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/playkbtw/pk60/keymaps/default/keymap.c b/keyboards/playkbtw/pk60/keymaps/default/keymap.c index 65d3996a85e..cc0276673a3 100644 --- a/keyboards/playkbtw/pk60/keymaps/default/keymap.c +++ b/keyboards/playkbtw/pk60/keymaps/default/keymap.c @@ -20,12 +20,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { setPinOutput(F4); writePinLow(F4); } else { setPinInput(F4); writePinLow(F4); } + return false; } diff --git a/keyboards/playkbtw/pk64rgb/config.h b/keyboards/playkbtw/pk64rgb/config.h index 3b2087c5b83..d9c5c81fdfb 100644 --- a/keyboards/playkbtw/pk64rgb/config.h +++ b/keyboards/playkbtw/pk64rgb/config.h @@ -49,11 +49,6 @@ # define RGBLIGHT_EFFECT_STATIC_GRADIENT // # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 18 -# define RGBLIGHT_HUE_STEP 5 -# define RGBLIGHT_SAT_STEP 5 -# define RGBLIGHT_VAL_STEP 5 -# define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/playkbtw/pk64rgb/info.json b/keyboards/playkbtw/pk64rgb/info.json index 522cd248b3a..b37183af537 100644 --- a/keyboards/playkbtw/pk64rgb/info.json +++ b/keyboards/playkbtw/pk64rgb/info.json @@ -16,6 +16,13 @@ "rows": ["D7", "D6", "D5", "D3", "D2"] }, "diode_direction": "COL2ROW", + "rgblight": { + "hue_steps": 5, + "saturation_steps": 5, + "brightness_steps": 5, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h index 62ed32840bc..b774237b032 100644 --- a/keyboards/ploopyco/mouse/config.h +++ b/keyboards/ploopyco/mouse/config.h @@ -28,7 +28,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define RGBLED_NUM 4 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ploopyco/mouse/info.json b/keyboards/ploopyco/mouse/info.json index b89f82a363d..ad41e9ef872 100644 --- a/keyboards/ploopyco/mouse/info.json +++ b/keyboards/ploopyco/mouse/info.json @@ -16,6 +16,7 @@ "pin": "B5" }, "rgblight": { + "led_count": 4, "max_brightness": 40 }, "processor": "atmega32u4", diff --git a/keyboards/ploopyco/trackball/rev1_005/config.h b/keyboards/ploopyco/trackball/rev1_005/config.h index e59c0a3e853..33f5b870c00 100644 --- a/keyboards/ploopyco/trackball/rev1_005/config.h +++ b/keyboards/ploopyco/trackball/rev1_005/config.h @@ -23,7 +23,6 @@ #define UNUSABLE_PINS \ { D1, D3, B4, B7, D6, C7, F6, F5, F3, F7 } -#define RGBLED_NUM 3 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ploopyco/trackball/rev1_005/info.json b/keyboards/ploopyco/trackball/rev1_005/info.json index c7506f2d84d..3588628d875 100644 --- a/keyboards/ploopyco/trackball/rev1_005/info.json +++ b/keyboards/ploopyco/trackball/rev1_005/info.json @@ -10,6 +10,7 @@ "pin": "B5" }, "rgblight": { + "led_count": 3, "max_brightness": 40 } } diff --git a/keyboards/plume/plume65/config.h b/keyboards/plume/plume65/config.h index ba11813e4ea..6c1a5941cd4 100644 --- a/keyboards/plume/plume65/config.h +++ b/keyboards/plume/plume65/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 10 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/plume/plume65/info.json b/keyboards/plume/plume65/info.json index 3f38c555e19..aaad8204270 100644 --- a/keyboards/plume/plume65/info.json +++ b/keyboards/plume/plume65/info.json @@ -8,6 +8,9 @@ "pid": "0x22CF", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/plut0nium/0x3e/config.h b/keyboards/plut0nium/0x3e/config.h index 67d2105ef73..0555a74b557 100644 --- a/keyboards/plut0nium/0x3e/config.h +++ b/keyboards/plut0nium/0x3e/config.h @@ -20,11 +20,6 @@ along with this program. If not, see . /* * RGB Underglow */ - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 12 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/plut0nium/0x3e/info.json b/keyboards/plut0nium/0x3e/info.json index 9ae1bcca07e..ef02cc4d442 100644 --- a/keyboards/plut0nium/0x3e/info.json +++ b/keyboards/plut0nium/0x3e/info.json @@ -22,7 +22,12 @@ "pin": "C7" }, "rgblight": { - "max_brightness": 150 + "hue_steps": 12, + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "max_brightness": 150, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/plut0nium/0x3e/keymaps/default/keymap.c b/keyboards/plut0nium/0x3e/keymaps/default/keymap.c index 0b4c26369da..a906ebd24e9 100644 --- a/keyboards/plut0nium/0x3e/keymaps/default/keymap.c +++ b/keyboards/plut0nium/0x3e/keymaps/default/keymap.c @@ -136,14 +136,6 @@ bool oled_task_user(void) { oled_write_ln_P(PSTR("Undf"), false); } - // Host Keyboard LED Status - // uint8_t led_usb_state = host_keyboard_leds(); - // oled_write_P(PSTR("-----"), false); - // oled_write_P(PSTR("Stats"), false); - // oled_write_P(led_usb_state & (1<. #pragma once -# define RGBLED_NUM 8 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/plywrks/lune/info.json b/keyboards/plywrks/lune/info.json index 0804c27c1c7..adb2f528e6f 100644 --- a/keyboards/plywrks/lune/info.json +++ b/keyboards/plywrks/lune/info.json @@ -8,6 +8,9 @@ "pid": "0x7901", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/plywrks/ply8x/config.h b/keyboards/plywrks/ply8x/config.h new file mode 100644 index 00000000000..2180b9887f3 --- /dev/null +++ b/keyboards/plywrks/ply8x/config.h @@ -0,0 +1,14 @@ +// Copyright 2023 Ramon Imbao (@ramonimbao) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* RGB */ +#define WS2812_SPI SPID2 +#define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_EXTERNAL_PULLUP +#define RGB_MATRIX_LED_COUNT 6 +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/plywrks/ply8x/halconf.h b/keyboards/plywrks/ply8x/halconf.h new file mode 100644 index 00000000000..e215e323c5d --- /dev/null +++ b/keyboards/plywrks/ply8x/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Ramon Imbao (@ramonimbao) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/plywrks/ply8x/info.json b/keyboards/plywrks/ply8x/info.json new file mode 100644 index 00000000000..8c5766e2c1c --- /dev/null +++ b/keyboards/plywrks/ply8x/info.json @@ -0,0 +1,978 @@ +{ + "manufacturer": "plywrks", + "keyboard_name": "ply8x", + "maintainer": "ramonimbao", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "rows": ["B2", "B1", "B0", "A7", "A10", "A2"], + "cols": ["A9", "A8", "B12", "B11", "B10", "A6", "A5", "A4", "A15", "C13", "C14", "B9", "B7", "B6", "B5", "B4", "B3"] + }, + "processor": "STM32F072", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x7905", + "vid": "0x706C" + }, + "ws2812": { + "pin": "B15", + "driver": "spi" + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "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, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "driver": "WS2812", + "layout": [ + {"flags": 8, "matrix": [3, 0], "x":2, "y":27}, + {"flags": 8, "matrix": [0,15], "x":211, "y":0}, + {"flags": 2, "x":0, "y":0}, + {"flags": 2, "x":10, "y":0}, + {"flags": 2, "x":20, "y":0}, + {"flags": 2, "x":30, "y":0} + ] + }, + "layout_aliases": { + "LAYOUT_ansi": "LAYOUT_tkl_ansi", + "LAYOUT_iso": "LAYOUT_tkl_iso" + }, + "community_layouts": [ + "tkl_ansi", + "tkl_ansi_split_bs_rshift", + "tkl_ansi_tsangan", + "tkl_ansi_tsangan_split_bs_rshift", + "tkl_iso", + "tkl_iso_split_bs_rshift", + "tkl_iso_tsangan", + "tkl_iso_tsangan_split_bs_rshift" + ], + "layouts": { + "LAYOUT_tkl_ansi": { + "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,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, 6], "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_ansi_split_bs_rshift": { + "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,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, 6], "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_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,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.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,15], "x":16.25, "y":5.25}, + {"matrix": [5,16], "x":17.25, "y":5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { + "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,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.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,15], "x":16.25, "y":5.25}, + {"matrix": [5,16], "x":17.25, "y":5.25} + ] + }, + "LAYOUT_tkl_iso": { + "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,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, 6], "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_iso_split_bs_rshift": { + "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,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, 6], "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_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,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.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,15], "x":16.25, "y":5.25}, + {"matrix": [5,16], "x":17.25, "y":5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { + "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,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.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,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, 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,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, 6], "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/plywrks/ply8x/keymaps/default/keymap.c b/keyboards/plywrks/ply8x/keymaps/default/keymap.c new file mode 100644 index 00000000000..4ca5b29581d --- /dev/null +++ b/keyboards/plywrks/ply8x/keymaps/default/keymap.c @@ -0,0 +1,47 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ + * │ 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│Menu│Ctrl│ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + */ + [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, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; + +#ifdef RGB_MATRIX_ENABLE +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + led_t led_state = host_keyboard_led_state(); + if (!led_state.scroll_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0); + } + + if (!led_state.caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0); + } + + return true; +} +#endif diff --git a/keyboards/plywrks/ply8x/keymaps/via/keymap.c b/keyboards/plywrks/ply8x/keymaps/via/keymap.c new file mode 100644 index 00000000000..e357a16d89b --- /dev/null +++ b/keyboards/plywrks/ply8x/keymaps/via/keymap.c @@ -0,0 +1,30 @@ +// 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_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_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; + +#ifdef RGB_MATRIX_ENABLE +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + led_t led_state = host_keyboard_led_state(); + if (!led_state.scroll_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0); + } + + if (!led_state.caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0); + } + + return true; +} +#endif diff --git a/keyboards/plywrks/ply8x/keymaps/via/rules.mk b/keyboards/plywrks/ply8x/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/plywrks/ply8x/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/plywrks/ply8x/mcuconf.h b/keyboards/plywrks/ply8x/mcuconf.h new file mode 100644 index 00000000000..aceb2e3dfc0 --- /dev/null +++ b/keyboards/plywrks/ply8x/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Ramon Imbao (@ramonimbao) +// 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/plywrks/ply8x/readme.md b/keyboards/plywrks/ply8x/readme.md new file mode 100644 index 00000000000..91b49344e5d --- /dev/null +++ b/keyboards/plywrks/ply8x/readme.md @@ -0,0 +1,26 @@ +# Plywrks ply8x + +![ply8x](https://i.imgur.com/SYY9eKih.png) + +F12 coreless keyboard PCB. + +* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao) +* Hardware Supported: STM32F072 + +Make example for this keyboard (after setting up your build environment): + + make plywrks/ply8x:default + +Flashing example for this keyboard: + + make plywrks/ply8x: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**: Set the slide switch to `BOOTLOADER`, then 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/plywrks/ply8x/rules.mk b/keyboards/plywrks/ply8x/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/plywrks/ply8x/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/pohjolaworks/louhi/config.h b/keyboards/pohjolaworks/louhi/config.h index ee3792928a0..9dbdc010503 100644 --- a/keyboards/pohjolaworks/louhi/config.h +++ b/keyboards/pohjolaworks/louhi/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 14 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/pohjolaworks/louhi/info.json b/keyboards/pohjolaworks/louhi/info.json index 39674dc1ba0..618d46b9c86 100644 --- a/keyboards/pohjolaworks/louhi/info.json +++ b/keyboards/pohjolaworks/louhi/info.json @@ -22,6 +22,9 @@ "pin": "B5" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, "max_brightness": 230 }, "processor": "atmega32u4", diff --git a/keyboards/poker87c/config.h b/keyboards/poker87c/config.h index b91aa11bd73..31b67e1fb87 100644 --- a/keyboards/poker87c/config.h +++ b/keyboards/poker87c/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 95 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/poker87c/info.json b/keyboards/poker87c/info.json index f987bb5b050..1bf10da6d52 100644 --- a/keyboards/poker87c/info.json +++ b/keyboards/poker87c/info.json @@ -20,7 +20,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 95, + "max_brightness": 180, + "sleep": true }, "indicators": { "caps_lock": "B3", diff --git a/keyboards/poker87d/config.h b/keyboards/poker87d/config.h index 35d54817f7d..31b67e1fb87 100644 --- a/keyboards/poker87d/config.h +++ b/keyboards/poker87d/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 125 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/poker87d/info.json b/keyboards/poker87d/info.json index 3e0ea91fdc7..52440fec9f8 100644 --- a/keyboards/poker87d/info.json +++ b/keyboards/poker87d/info.json @@ -25,7 +25,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 125, + "max_brightness": 180, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/polycarbdiet/s20/config.h b/keyboards/polycarbdiet/s20/config.h index 61969b945f3..a50e580f3de 100644 --- a/keyboards/polycarbdiet/s20/config.h +++ b/keyboards/polycarbdiet/s20/config.h @@ -16,12 +16,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/polycarbdiet/s20/info.json b/keyboards/polycarbdiet/s20/info.json index aeb54275898..6202bb49150 100644 --- a/keyboards/polycarbdiet/s20/info.json +++ b/keyboards/polycarbdiet/s20/info.json @@ -18,6 +18,12 @@ "pin": "B6", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/pom_keyboards/tnln95/config.h b/keyboards/pom_keyboards/tnln95/config.h index 4c85d73c7a7..c0c679faf77 100644 --- a/keyboards/pom_keyboards/tnln95/config.h +++ b/keyboards/pom_keyboards/tnln95/config.h @@ -22,7 +22,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* RGB Configs */ - #define RGBLED_NUM 14 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -34,10 +33,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP // RGB will turn off when PC is put to sleep // #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 225 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 diff --git a/keyboards/pom_keyboards/tnln95/info.json b/keyboards/pom_keyboards/tnln95/info.json index 02f8ac7927f..69849be644e 100644 --- a/keyboards/pom_keyboards/tnln95/info.json +++ b/keyboards/pom_keyboards/tnln95/info.json @@ -18,6 +18,12 @@ "levels": 10, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h index 2f55894ae65..53e72073b51 100644 --- a/keyboards/preonic/rev3/config.h +++ b/keyboards/preonic/rev3/config.h @@ -45,7 +45,6 @@ /* * WS2812 Underglow Matrix options */ -#define RGBLED_NUM 9 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -57,7 +56,7 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE // RGB Matrix support -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 9 #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 diff --git a/keyboards/preonic/rev3/info.json b/keyboards/preonic/rev3/info.json index d6d494e005c..05d9b1cbd98 100644 --- a/keyboards/preonic/rev3/info.json +++ b/keyboards/preonic/rev3/info.json @@ -6,6 +6,9 @@ "pid": "0xA649", "device_version": "0.0.3" }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "A1", "driver": "pwm" @@ -90,7 +93,7 @@ {"matrix": [8, 2], "x": 2, "y": 4}, {"matrix": [9, 3], "x": 3, "y": 4}, {"matrix": [9, 4], "x": 4, "y": 4}, - {"matrix": [9, 5], "x": 5, "y": 4, "w": 2}, + {"matrix": [9, 0], "x": 5, "y": 4, "w": 2}, {"matrix": [9, 1], "x": 7, "y": 4}, {"matrix": [9, 2], "x": 8, "y": 4}, {"matrix": [8, 3], "x": 9, "y": 4}, @@ -223,7 +226,7 @@ {"matrix": [8, 1], "x": 1, "y": 4}, {"matrix": [8, 2], "x": 2, "y": 4}, {"matrix": [9, 3], "x": 3, "y": 4}, - {"matrix": [9, 4], "x": 4, "y": 4, "w": 2}, + {"matrix": [9, 5], "x": 4, "y": 4, "w": 2}, {"matrix": [9, 0], "x": 6, "y": 4}, {"matrix": [9, 1], "x": 7, "y": 4}, {"matrix": [9, 2], "x": 8, "y": 4}, @@ -290,8 +293,8 @@ {"matrix": [8, 1], "x": 1, "y": 4}, {"matrix": [8, 2], "x": 2, "y": 4}, {"matrix": [9, 3], "x": 3, "y": 4}, - {"matrix": [9, 4], "x": 4, "y": 4, "w": 2}, - {"matrix": [9, 0], "x": 6, "y": 4, "w": 2}, + {"matrix": [9, 5], "x": 4, "y": 4, "w": 2}, + {"matrix": [9, 1], "x": 6, "y": 4, "w": 2}, {"matrix": [9, 2], "x": 8, "y": 4}, {"matrix": [8, 3], "x": 9, "y": 4}, {"matrix": [8, 4], "x": 10, "y": 4}, diff --git a/keyboards/preonic/rev3_drop/config.h b/keyboards/preonic/rev3_drop/config.h index ac584dfbfe4..fa7b87b7cdc 100644 --- a/keyboards/preonic/rev3_drop/config.h +++ b/keyboards/preonic/rev3_drop/config.h @@ -45,7 +45,6 @@ /* * WS2812 Underglow Matrix options */ -#define RGBLED_NUM 9 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -58,7 +57,7 @@ #define RGBLIGHT_EFFECT_TWINKLE // RGB Matrix support -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 9 #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 diff --git a/keyboards/preonic/rev3_drop/info.json b/keyboards/preonic/rev3_drop/info.json index a3eac4eaf40..f700d848bcb 100644 --- a/keyboards/preonic/rev3_drop/info.json +++ b/keyboards/preonic/rev3_drop/info.json @@ -6,6 +6,9 @@ "pid": "0xA649", "device_version": "0.0.3" }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "A1", "driver": "pwm" @@ -89,7 +92,7 @@ {"matrix": [8, 2], "x": 2, "y": 4}, {"matrix": [9, 3], "x": 3, "y": 4}, {"matrix": [9, 4], "x": 4, "y": 4}, - {"matrix": [9, 5], "x": 5, "y": 4, "w": 2}, + {"matrix": [9, 0], "x": 5, "y": 4, "w": 2}, {"matrix": [9, 1], "x": 7, "y": 4}, {"matrix": [9, 2], "x": 8, "y": 4}, {"matrix": [8, 3], "x": 9, "y": 4}, @@ -290,7 +293,7 @@ {"matrix": [8, 2], "x": 2, "y": 4}, {"matrix": [9, 3], "x": 3, "y": 4}, {"matrix": [9, 5], "x": 4, "y": 4, "w": 2}, - {"matrix": [9, 0], "x": 6, "y": 4, "w": 2}, + {"matrix": [9, 1], "x": 6, "y": 4, "w": 2}, {"matrix": [9, 2], "x": 8, "y": 4}, {"matrix": [8, 3], "x": 9, "y": 4}, {"matrix": [8, 4], "x": 10, "y": 4}, diff --git a/keyboards/primekb/meridian/config.h b/keyboards/primekb/meridian/config.h index 0633f8948ef..3bb4f22006d 100644 --- a/keyboards/primekb/meridian/config.h +++ b/keyboards/primekb/meridian/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 3 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/primekb/meridian/ktr1010/config.h b/keyboards/primekb/meridian/ktr1010/config.h index e28306587db..3da9ff72c42 100644 --- a/keyboards/primekb/meridian/ktr1010/config.h +++ b/keyboards/primekb/meridian/ktr1010/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 3 // Special timing definitions for KTR101 #define WS2812_TIMING 1325 #define WS2812_T0H 350 diff --git a/keyboards/primekb/meridian/ktr1010/info.json b/keyboards/primekb/meridian/ktr1010/info.json index 3a330b7306e..a9a9362ec98 100644 --- a/keyboards/primekb/meridian/ktr1010/info.json +++ b/keyboards/primekb/meridian/ktr1010/info.json @@ -1,4 +1,7 @@ { + "rgblight": { + "led_count": 3 + }, "ws2812": { "pin": "B15" } diff --git a/keyboards/primekb/meridian/rules.mk b/keyboards/primekb/meridian/rules.mk index 8b14acaf197..6d34cadbf7d 100644 --- a/keyboards/primekb/meridian/rules.mk +++ b/keyboards/primekb/meridian/rules.mk @@ -11,7 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - DEFAULT_FOLDER = primekb/meridian/ktr1010 diff --git a/keyboards/primekb/meridian/ws2812/config.h b/keyboards/primekb/meridian/ws2812/config.h index 0633f8948ef..3bb4f22006d 100644 --- a/keyboards/primekb/meridian/ws2812/config.h +++ b/keyboards/primekb/meridian/ws2812/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 3 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/primekb/meridian/ws2812/info.json b/keyboards/primekb/meridian/ws2812/info.json index 98702321171..4299d367c20 100644 --- a/keyboards/primekb/meridian/ws2812/info.json +++ b/keyboards/primekb/meridian/ws2812/info.json @@ -1,4 +1,7 @@ { + "rgblight": { + "led_count": 3 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/primekb/meridian_rgb/config.h b/keyboards/primekb/meridian_rgb/config.h index 6e481d7778e..6003927d20d 100644 --- a/keyboards/primekb/meridian_rgb/config.h +++ b/keyboards/primekb/meridian_rgb/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 64 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/primekb/meridian_rgb/info.json b/keyboards/primekb/meridian_rgb/info.json index c967c15811f..dca8ceb8bc1 100644 --- a/keyboards/primekb/meridian_rgb/info.json +++ b/keyboards/primekb/meridian_rgb/info.json @@ -22,6 +22,7 @@ "pin": "F1" }, "rgblight": { + "led_count": 64, "max_brightness": 200 }, "processor": "atmega32u4", diff --git a/keyboards/primekb/prime_e/keymaps/default/keymap.c b/keyboards/primekb/prime_e/keymaps/default/keymap.c index 08067b3132b..e5e47cffc2c 100644 --- a/keyboards/primekb/prime_e/keymaps/default/keymap.c +++ b/keyboards/primekb/prime_e/keymaps/default/keymap.c @@ -57,24 +57,18 @@ void matrix_init_user(void) { writePinLow(B3); } -void led_set_user(uint8_t usb_led) { - if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { writePinHigh(B2); } else { writePinLow(B2); } - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { writePinHigh(B1); } else { writePinLow(B1); } -/* - if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { - writePinHigh(B3); - } else { - writePinLow(B3); - }*/ - + return false; } //function for layer indicator LED diff --git a/keyboards/primekb/prime_e/keymaps/jetpacktuxedo/keymap.c b/keyboards/primekb/prime_e/keymaps/jetpacktuxedo/keymap.c index cdd1b56430d..a45a841285f 100644 --- a/keyboards/primekb/prime_e/keymaps/jetpacktuxedo/keymap.c +++ b/keyboards/primekb/prime_e/keymaps/jetpacktuxedo/keymap.c @@ -100,13 +100,14 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -void led_set_user(uint8_t usb_led) { - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { CAPS = 1; } else { CAPS = 0; } + return false; } void togg_indicator(uint8_t *state, uint8_t pin) { diff --git a/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c b/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c index f3228ec0d59..998046c6d7c 100644 --- a/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c +++ b/keyboards/primekb/prime_e/keymaps/madhatter/keymap.c @@ -91,8 +91,9 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -void led_set_user(uint8_t usb_led) { - CAPS = IS_LED_ON(usb_led, USB_LED_CAPS_LOCK); +bool led_update_user(led_t led_state) { + CAPS = led_state.caps_lock; + return false; } void togg_indicator(uint8_t *state, uint8_t pin) { diff --git a/keyboards/primekb/prime_e/keymaps/via/keymap.c b/keyboards/primekb/prime_e/keymaps/via/keymap.c index 2d1d003d51a..09a42b0d165 100644 --- a/keyboards/primekb/prime_e/keymaps/via/keymap.c +++ b/keyboards/primekb/prime_e/keymaps/via/keymap.c @@ -85,24 +85,18 @@ void matrix_init_user(void) { writePinLow(B3); } -void led_set_user(uint8_t usb_led) { - if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.num_lock) { writePinHigh(B2); } else { writePinLow(B2); } - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { writePinHigh(B1); } else { writePinLow(B1); } -/* - if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { - writePinHigh(B3); - } else { - writePinLow(B3); - }*/ - + return false; } //function for layer indicator LED diff --git a/keyboards/primekb/prime_e/rgb/config.h b/keyboards/primekb/prime_e/rgb/config.h index 6610d03f046..21388d69a2d 100644 --- a/keyboards/primekb/prime_e/rgb/config.h +++ b/keyboards/primekb/prime_e/rgb/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/primekb/prime_e/rgb/info.json b/keyboards/primekb/prime_e/rgb/info.json index 189e448ed93..5a65a70359b 100644 --- a/keyboards/primekb/prime_e/rgb/info.json +++ b/keyboards/primekb/prime_e/rgb/info.json @@ -4,6 +4,9 @@ "pid": "0x0052", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "B7" } diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c index 20f34ce60be..2f0290dc033 100644 --- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c +++ b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c @@ -172,15 +172,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/program_yoink/config.h b/keyboards/program_yoink/config.h index dfb6f078aef..1a3198d61be 100644 --- a/keyboards/program_yoink/config.h +++ b/keyboards/program_yoink/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once /*RGB*/ - #define RGBLED_NUM 5 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ //#define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/program_yoink/ortho/info.json b/keyboards/program_yoink/ortho/info.json index ef5492bd527..c00b0f80f78 100644 --- a/keyboards/program_yoink/ortho/info.json +++ b/keyboards/program_yoink/ortho/info.json @@ -8,6 +8,12 @@ "pid": "0xF10C", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "sleep": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/program_yoink/staggered/info.json b/keyboards/program_yoink/staggered/info.json index 1b028593e33..dae77f5c853 100644 --- a/keyboards/program_yoink/staggered/info.json +++ b/keyboards/program_yoink/staggered/info.json @@ -8,6 +8,12 @@ "pid": "0xF10B", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "sleep": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/projectkb/alice/rev1/config.h b/keyboards/projectkb/alice/rev1/config.h index bcb9ffbb09d..7e8be8b7f80 100644 --- a/keyboards/projectkb/alice/rev1/config.h +++ b/keyboards/projectkb/alice/rev1/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/projectkb/alice/rev1/info.json b/keyboards/projectkb/alice/rev1/info.json index 4ed9926907e..05647155476 100644 --- a/keyboards/projectkb/alice/rev1/info.json +++ b/keyboards/projectkb/alice/rev1/info.json @@ -1,4 +1,7 @@ { + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/projectkb/alice/rev1/rules.mk b/keyboards/projectkb/alice/rev1/rules.mk index ab88066b0aa..f689205b388 100644 --- a/keyboards/projectkb/alice/rev1/rules.mk +++ b/keyboards/projectkb/alice/rev1/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/projectkb/alice/rev2/config.h b/keyboards/projectkb/alice/rev2/config.h index 95f845c9313..848c0102c2f 100644 --- a/keyboards/projectkb/alice/rev2/config.h +++ b/keyboards/projectkb/alice/rev2/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 #define WS2812_SPI_SCK_PAL_MODE 0 diff --git a/keyboards/projectkb/alice/rev2/info.json b/keyboards/projectkb/alice/rev2/info.json index 57113b1e3cd..6a7046652ce 100644 --- a/keyboards/projectkb/alice/rev2/info.json +++ b/keyboards/projectkb/alice/rev2/info.json @@ -1,4 +1,7 @@ { + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/projectkb/alice/rev2/rules.mk b/keyboards/projectkb/alice/rev2/rules.mk index ab88066b0aa..f689205b388 100644 --- a/keyboards/projectkb/alice/rev2/rules.mk +++ b/keyboards/projectkb/alice/rev2/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/projectkb/signature65/rules.mk b/keyboards/projectkb/signature65/rules.mk index 707adf67c4e..5fb302d01f1 100644 --- a/keyboards/projectkb/signature65/rules.mk +++ b/keyboards/projectkb/signature65/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/projectkb/signature87/rules.mk b/keyboards/projectkb/signature87/rules.mk index 06b7b460e38..a09b9d3bdf2 100644 --- a/keyboards/projectkb/signature87/rules.mk +++ b/keyboards/projectkb/signature87/rules.mk @@ -9,5 +9,3 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/prototypist/pt60/info.json b/keyboards/prototypist/pt60/info.json index f57d28aa842..8018350e6f5 100644 --- a/keyboards/prototypist/pt60/info.json +++ b/keyboards/prototypist/pt60/info.json @@ -42,7 +42,8 @@ {"matrix": [0, 12], "label": "+", "x": 12, "y": 0}, {"matrix": [0, 13], "label": "Back", "x": 13, "y": 0}, {"matrix": [2, 13], "label": "Delete", "x": 14, "y": 0}, - {"matrix": [1, 0], "label": "Tab", "w": 1.5, "x": 0, "y": 1}, + + {"matrix": [1, 0], "label": "Tab", "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "label": "Q", "x": 1.5, "y": 1}, {"matrix": [1, 2], "label": "W", "x": 2.5, "y": 1}, {"matrix": [1, 3], "label": "E", "x": 3.5, "y": 1}, @@ -55,8 +56,8 @@ {"matrix": [1, 10], "label": "P", "x": 10.5, "y": 1}, {"matrix": [1, 11], "label": "{", "x": 11.5, "y": 1}, {"matrix": [1, 12], "label": "}", "x": 12.5, "y": 1}, - {"matrix": [1, 13], "h": 2, "label": "Enter", "w": 1.25, "x": 13.75, "y": 1}, - {"matrix": [2, 0], "label": "Caps Lock", "w": 1.75, "x": 0, "y": 2}, + + {"matrix": [2, 0], "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "label": "A", "x": 1.75, "y": 2}, {"matrix": [2, 2], "label": "S", "x": 2.75, "y": 2}, {"matrix": [2, 3], "label": "D", "x": 3.75, "y": 2}, @@ -69,8 +70,9 @@ {"matrix": [2, 10], "label": ":", "x": 10.75, "y": 2}, {"matrix": [2, 11], "label": "@", "x": 11.75, "y": 2}, {"matrix": [2, 12], "label": "~", "x": 12.75, "y": 2}, + {"matrix": [1, 13], "label": "Enter", "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "label": "Shift", "w": 1.25, "x": 0, "y": 3}, + {"matrix": [3, 0], "label": "Shift", "x": 0, "y": 3, "w": 1.25}, {"matrix": [3, 1], "label": "|", "x": 1.25, "y": 3}, {"matrix": [3, 2], "label": "Z", "x": 2.25, "y": 3}, {"matrix": [3, 3], "label": "X", "x": 3.25, "y": 3}, @@ -82,16 +84,17 @@ {"matrix": [3, 9], "label": "<", "x": 9.25, "y": 3}, {"matrix": [3, 10], "label": ">", "x": 10.25, "y": 3}, {"matrix": [3, 11], "label": "?", "x": 11.25, "y": 3}, - {"matrix": [3, 12], "label": "Shift", "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 12], "label": "Shift", "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [3, 13], "label": "Fn", "x": 14, "y": 3}, - {"matrix": [4, 0], "label": "Ctrl", "w": 1.25, "x": 0, "y": 4}, - {"matrix": [4, 1], "label": "Win", "w": 1.25, "x": 1.25, "y": 4}, - {"matrix": [4, 2], "label": "Alt", "w": 1.25, "x": 2.5, "y": 4}, - {"matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4}, - {"matrix": [4, 10], "label": "AltGr", "w": 1.25, "x": 10, "y": 4}, - {"matrix": [4, 11], "label": "Win", "w": 1.25, "x": 11.25, "y": 4}, - {"matrix": [4, 12], "label": "Fn", "w": 1.25, "x": 12.5, "y": 4}, - {"matrix": [4, 13], "label": "Ctrl", "w": 1.25, "x": 13.75, "y": 4} + + {"matrix": [4, 0], "label": "Ctrl", "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "label": "Win", "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "label": "AltGr", "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "label": "Win", "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "label": "Fn", "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25} ] }, "LAYOUT_60_iso": { @@ -109,9 +112,9 @@ {"matrix": [0, 10], "label": ")", "x": 10, "y": 0}, {"matrix": [0, 11], "label": "_", "x": 11, "y": 0}, {"matrix": [0, 12], "label": "+", "x": 12, "y": 0}, - {"matrix": [0, 13], "label": "Back", "w": 2, "x": 13, "y": 0}, + {"matrix": [0, 13], "label": "Back", "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "label": "Tab", "w": 1.5, "x": 0, "y": 1}, + {"matrix": [1, 0], "label": "Tab", "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "label": "Q", "x": 1.5, "y": 1}, {"matrix": [1, 2], "label": "W", "x": 2.5, "y": 1}, {"matrix": [1, 3], "label": "E", "x": 3.5, "y": 1}, @@ -124,8 +127,8 @@ {"matrix": [1, 10], "label": "P", "x": 10.5, "y": 1}, {"matrix": [1, 11], "label": "{", "x": 11.5, "y": 1}, {"matrix": [1, 12], "label": "}", "x": 12.5, "y": 1}, - {"matrix": [1, 13], "label": "Enter", "h": 2, "w": 1.25, "x": 13.75, "y": 1}, - {"matrix": [2, 0], "label": "Caps Lock", "w": 1.75, "x": 0, "y": 2}, + + {"matrix": [2, 0], "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "label": "A", "x": 1.75, "y": 2}, {"matrix": [2, 2], "label": "S", "x": 2.75, "y": 2}, {"matrix": [2, 3], "label": "D", "x": 3.75, "y": 2}, @@ -138,8 +141,9 @@ {"matrix": [2, 10], "label": ":", "x": 10.75, "y": 2}, {"matrix": [2, 11], "label": "@", "x": 11.75, "y": 2}, {"matrix": [2, 12], "label": "~", "x": 12.75, "y": 2}, + {"matrix": [1, 13], "label": "Enter", "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "label": "Shift", "w": 1.25, "x": 0, "y": 3}, + {"matrix": [3, 0], "label": "Shift", "x": 0, "y": 3, "w": 1.25}, {"matrix": [3, 1], "label": "|", "x": 1.25, "y": 3}, {"matrix": [3, 2], "label": "Z", "x": 2.25, "y": 3}, {"matrix": [3, 3], "label": "X", "x": 3.25, "y": 3}, @@ -151,16 +155,16 @@ {"matrix": [3, 9], "label": "<", "x": 9.25, "y": 3}, {"matrix": [3, 10], "label": ">", "x": 10.25, "y": 3}, {"matrix": [3, 11], "label": "?", "x": 11.25, "y": 3}, - {"matrix": [3, 12], "label": "Shift", "w": 2.75, "x": 12.25, "y": 3}, + {"matrix": [3, 12], "label": "Shift", "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "label": "Ctrl", "w": 1.25, "x": 0, "y": 4}, - {"matrix": [4, 1], "label": "Win", "w": 1.25, "x": 1.25, "y": 4}, - {"matrix": [4, 2], "label": "Alt", "w": 1.25, "x": 2.5, "y": 4}, - {"matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4}, - {"matrix": [4, 10], "label": "AltGr", "w": 1.25, "x": 10, "y": 4}, - {"matrix": [4, 11], "label": "Win", "w": 1.25, "x": 11.25, "y": 4}, - {"matrix": [4, 12], "label": "Fn", "w": 1.25, "x": 12.5, "y": 4}, - {"matrix": [4, 13], "label": "Ctrl", "w": 1.25, "x": 13.75, "y": 4} + {"matrix": [4, 0], "label": "Ctrl", "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "label": "Win", "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "label": "AltGr", "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "label": "Win", "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "label": "Fn", "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25} ] }, "LAYOUT_60_ansi": { @@ -178,9 +182,9 @@ {"matrix": [0, 10], "label": ")", "x": 10, "y": 0}, {"matrix": [0, 11], "label": "_", "x": 11, "y": 0}, {"matrix": [0, 12], "label": "+", "x": 12, "y": 0}, - {"matrix": [0, 13], "label": "Back", "w": 2, "x": 13, "y": 0}, + {"matrix": [0, 13], "label": "Back", "x": 13, "y": 0, "w": 2}, - {"matrix": [1, 0], "label": "Tab", "w": 1.5, "x": 0, "y": 1}, + {"matrix": [1, 0], "label": "Tab", "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "label": "Q", "x": 1.5, "y": 1}, {"matrix": [1, 2], "label": "W", "x": 2.5, "y": 1}, {"matrix": [1, 3], "label": "E", "x": 3.5, "y": 1}, @@ -193,8 +197,9 @@ {"matrix": [1, 10], "label": "P", "x": 10.5, "y": 1}, {"matrix": [1, 11], "label": "{", "x": 11.5, "y": 1}, {"matrix": [1, 12], "label": "}", "x": 12.5, "y": 1}, - {"matrix": [1, 13], "label": "|", "w": 1.5, "x": 13.5, "y": 1}, - {"matrix": [2, 0], "label": "Caps Lock", "w": 1.75, "x": 0, "y": 2}, + {"matrix": [1, 13], "label": "|", "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "label": "A", "x": 1.75, "y": 2}, {"matrix": [2, 2], "label": "S", "x": 2.75, "y": 2}, {"matrix": [2, 3], "label": "D", "x": 3.75, "y": 2}, @@ -206,10 +211,9 @@ {"matrix": [2, 9], "label": "L", "x": 9.75, "y": 2}, {"matrix": [2, 10], "label": ":", "x": 10.75, "y": 2}, {"matrix": [2, 11], "label": "'", "x": 11.75, "y": 2}, - {"matrix": [2, 12], "label": "Enter", "w": 2.25, "x": 12.75, "y": 2}, - - {"matrix": [3, 0], "label": "Shift", "w": 2.25, "x": 0, "y": 3}, + {"matrix": [2, 12], "label": "Enter", "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "label": "Shift", "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 2], "label": "Z", "x": 2.25, "y": 3}, {"matrix": [3, 3], "label": "X", "x": 3.25, "y": 3}, {"matrix": [3, 4], "label": "C", "x": 4.25, "y": 3}, @@ -220,16 +224,16 @@ {"matrix": [3, 9], "label": "<", "x": 9.25, "y": 3}, {"matrix": [3, 10], "label": ">", "x": 10.25, "y": 3}, {"matrix": [3, 11], "label": "?", "x": 11.25, "y": 3}, - {"matrix": [3, 12], "label": "Shift", "w": 2.75, "x": 12.25, "y": 3}, + {"matrix": [3, 12], "label": "Shift", "x": 12.25, "y": 3, "w": 2.75}, - {"matrix": [4, 0], "label": "Ctrl", "w": 1.25, "x": 0, "y": 4}, - {"matrix": [4, 1], "label": "Win", "w": 1.25, "x": 1.25, "y": 4}, - {"matrix": [4, 2], "label": "Alt", "w": 1.25, "x": 2.5, "y": 4}, - {"matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4}, - {"matrix": [4, 10], "label": "AltGr", "w": 1.25, "x": 10, "y": 4}, - {"matrix": [4, 11], "label": "Win", "w": 1.25, "x": 11.25, "y": 4}, - {"matrix": [4, 12], "label": "Fn", "w": 1.25, "x": 12.5, "y": 4}, - {"matrix": [4, 13], "label": "Ctrl", "w": 1.25, "x": 13.75, "y": 4} + {"matrix": [4, 0], "label": "Ctrl", "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "label": "Win", "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "label": "AltGr", "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "label": "Win", "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "label": "Fn", "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25} ] } } diff --git a/keyboards/prototypist/pt60/keymaps/default/keymap.c b/keyboards/prototypist/pt60/keymaps/default/keymap.c index 24616964751..9a2688e4c1b 100644 --- a/keyboards/prototypist/pt60/keymaps/default/keymap.c +++ b/keyboards/prototypist/pt60/keymaps/default/keymap.c @@ -6,33 +6,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = 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_ENT, - KC_LGUI, 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_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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + KC_LGUI, 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 ), [1] = LAYOUT_60_iso( EE_CLR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, KC_MUTE, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_60_iso( _______, 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, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(3) ), [3] = LAYOUT_60_iso( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) -}; +}; diff --git a/keyboards/prototypist/pt60/keymaps/default_ansi/keymap.c b/keyboards/prototypist/pt60/keymaps/default_ansi/keymap.c index a25cd2fae90..b1e8987b650 100644 --- a/keyboards/prototypist/pt60/keymaps/default_ansi/keymap.c +++ b/keyboards/prototypist/pt60/keymaps/default_ansi/keymap.c @@ -7,32 +7,32 @@ 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_LGUI, 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_LGUI, 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( EE_CLR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, KC_MUTE, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_60_ansi( _______, 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, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(3) ), [3] = LAYOUT_60_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/prototypist/pt60/keymaps/via/keymap.c b/keyboards/prototypist/pt60/keymaps/via/keymap.c index d710399a811..53e82bcd45f 100644 --- a/keyboards/prototypist/pt60/keymaps/via/keymap.c +++ b/keyboards/prototypist/pt60/keymaps/via/keymap.c @@ -5,33 +5,33 @@ 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_TAB, KC_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_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, + 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_LGUI, 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_APP, KC_RCTL ), [1] = LAYOUT_all( EE_CLR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLU, KC_VOLD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, KC_MUTE, - KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( - _______, 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_MNXT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, 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_MNXT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(3) ), [3] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/prototypist/pt60/matrix_diagram.md b/keyboards/prototypist/pt60/matrix_diagram.md new file mode 100644 index 00000000000..8401f90158f --- /dev/null +++ b/keyboards/prototypist/pt60/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for Proto[Typist] PT-60 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2D │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐1D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ +│40 │41 │42 │46 │4A │4B │4C │4D │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬───────────────────────────────────────┬───┬─────┐ +│40 │41 │46 │4C │4D │ Tsangan/WKL with 10u Spacebar +└─────┴───┴───────────────────────────────────────┴───┴─────┘ +``` diff --git a/keyboards/prototypist/pt80/info.json b/keyboards/prototypist/pt80/info.json index a9c47072a32..cb58643e3f5 100644 --- a/keyboards/prototypist/pt80/info.json +++ b/keyboards/prototypist/pt80/info.json @@ -44,6 +44,7 @@ {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + {"matrix": [1, 0], "label": "\u00ac", "x": 0, "y": 1.25}, {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, {"matrix": [1, 2], "label": "\"", "x": 2, "y": 1.25}, @@ -62,7 +63,8 @@ {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, - {"matrix": [2, 0], "label": "Tab", "w": 1.5, "x": 0, "y": 2.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, @@ -75,11 +77,11 @@ {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, - {"matrix": [2, 13], "h": 2, "label": "Enter", "w": 1.25, "x": 13.75, "y": 2.25}, {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, - {"matrix": [3, 0], "label": "Caps Lock", "w": 1.75, "x": 0, "y": 3.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, @@ -92,7 +94,9 @@ {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, {"matrix": [3, 11], "label": "@", "x": 11.75, "y": 3.25}, {"matrix": [3, 12], "label": "~", "x": 12.75, "y": 3.25}, - {"matrix": [4, 0], "label": "Shift", "w": 1.25, "x": 0, "y": 4.25}, + {"matrix": [2, 13], "label": "Enter", "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "label": "Shift", "x": 0, "y": 4.25, "w": 1.25}, {"matrix": [4, 1], "label": "|", "x": 1.25, "y": 4.25}, {"matrix": [4, 2], "label": "Z", "x": 2.25, "y": 4.25}, {"matrix": [4, 3], "label": "X", "x": 3.25, "y": 4.25}, @@ -104,17 +108,18 @@ {"matrix": [4, 9], "label": "<", "x": 9.25, "y": 4.25}, {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, - {"matrix": [4, 12], "label": "Shift", "w": 1.75, "x": 12.25, "y": 4.25}, + {"matrix": [4, 12], "label": "Shift", "x": 12.25, "y": 4.25, "w": 1.75}, {"matrix": [4, 13], "label": "Fn", "x": 14, "y": 4.25}, {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, - {"matrix": [5, 0], "label": "Ctrl", "w": 1.25, "x": 0, "y": 5.25}, - {"matrix": [5, 1], "label": "Win", "w": 1.25, "x": 1.25, "y": 5.25}, - {"matrix": [5, 2], "label": "Alt", "w": 1.25, "x": 2.5, "y": 5.25}, - {"matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25}, - {"matrix": [5, 10], "label": "AltGr", "w": 1.25, "x": 10, "y": 5.25}, - {"matrix": [5, 11], "label": "Win", "w": 1.25, "x": 11.25, "y": 5.25}, - {"matrix": [5, 12], "label": "Menu", "w": 1.25, "x": 12.5, "y": 5.25}, - {"matrix": [5, 13], "label": "Ctrl", "w": 1.25, "x": 13.75, "y": 5.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "label": "AltGr", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} @@ -123,22 +128,22 @@ "LAYOUT_tkl_iso": { "layout": [ {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, - {"matrix": [0, 1], "label": "F1", "x": 2, "y": 0}, - {"matrix": [0, 2], "label": "F2", "x": 3, "y": 0}, - {"matrix": [0, 3], "label": "F3", "x": 4, "y": 0}, - {"matrix": [0, 4], "label": "F4", "x": 5, "y": 0}, - {"matrix": [0, 5], "label": "F5", "x": 6.5, "y": 0}, - {"matrix": [0, 6], "label": "F6", "x": 7.5, "y": 0}, - {"matrix": [0, 7], "label": "F7", "x": 8.5, "y": 0}, - {"matrix": [0, 8], "label": "F8", "x": 9.5, "y": 0}, - {"matrix": [0, 9], "label": "F9", "x": 11, "y": 0}, - {"matrix": [0, 10], "label": "F10", "x": 12, "y": 0}, - {"matrix": [0, 11], "label": "F11", "x": 13, "y": 0}, - {"matrix": [0, 12], "label": "F12", "x": 14, "y": 0}, - + {"matrix": [0, 2], "label": "F1", "x": 2, "y": 0}, + {"matrix": [0, 3], "label": "F2", "x": 3, "y": 0}, + {"matrix": [0, 4], "label": "F3", "x": 4, "y": 0}, + {"matrix": [0, 5], "label": "F4", "x": 5, "y": 0}, + {"matrix": [0, 6], "label": "F5", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F6", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F7", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F8", "x": 9.5, "y": 0}, + {"matrix": [0, 10], "label": "F9", "x": 11, "y": 0}, + {"matrix": [0, 11], "label": "F10", "x": 12, "y": 0}, + {"matrix": [0, 12], "label": "F11", "x": 13, "y": 0}, + {"matrix": [0, 13], "label": "F12", "x": 14, "y": 0}, {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + {"matrix": [1, 0], "label": "\u00ac", "x": 0, "y": 1.25}, {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, {"matrix": [1, 2], "label": "\"", "x": 2, "y": 1.25}, @@ -152,12 +157,12 @@ {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, - {"matrix": [1, 13], "label": "Backspace", "w": 2, "x": 13, "y": 1.25}, - + {"matrix": [1, 13], "label": "Backspace", "x": 13, "y": 1.25, "w": 2}, {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, - {"matrix": [2, 0], "label": "Tab", "w": 1.5, "x": 0, "y": 2.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, @@ -170,11 +175,11 @@ {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, - {"matrix": [2, 13], "h": 2, "label": "Enter", "w": 1.25, "x": 13.75, "y": 2.25}, {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, - {"matrix": [3, 0], "label": "Caps Lock", "w": 1.75, "x": 0, "y": 3.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, @@ -187,7 +192,9 @@ {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, {"matrix": [3, 11], "label": "@", "x": 11.75, "y": 3.25}, {"matrix": [3, 12], "label": "~", "x": 12.75, "y": 3.25}, - {"matrix": [4, 0], "label": "Shift", "w": 1.25, "x": 0, "y": 4.25}, + {"matrix": [2, 13], "label": "Enter", "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "label": "Shift", "x": 0, "y": 4.25, "w": 1.25}, {"matrix": [4, 1], "label": "|", "x": 1.25, "y": 4.25}, {"matrix": [4, 2], "label": "Z", "x": 2.25, "y": 4.25}, {"matrix": [4, 3], "label": "X", "x": 3.25, "y": 4.25}, @@ -199,17 +206,17 @@ {"matrix": [4, 9], "label": "<", "x": 9.25, "y": 4.25}, {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, - {"matrix": [4, 12], "label": "Shift", "w": 2.75, "x": 12.25, "y": 4.25}, - + {"matrix": [4, 12], "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75}, {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, - {"matrix": [5, 0], "label": "Ctrl", "w": 1.25, "x": 0, "y": 5.25}, - {"matrix": [5, 1], "label": "Win", "w": 1.25, "x": 1.25, "y": 5.25}, - {"matrix": [5, 2], "label": "Alt", "w": 1.25, "x": 2.5, "y": 5.25}, - {"matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25}, - {"matrix": [5, 10], "label": "AltGr", "w": 1.25, "x": 10, "y": 5.25}, - {"matrix": [5, 11], "label": "Win", "w": 1.25, "x": 11.25, "y": 5.25}, - {"matrix": [5, 12], "label": "Menu", "w": 1.25, "x": 12.5, "y": 5.25}, - {"matrix": [5, 13], "label": "Ctrl", "w": 1.25, "x": 13.75, "y": 5.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "label": "AltGr", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} @@ -218,22 +225,22 @@ "LAYOUT_tkl_ansi": { "layout": [ {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, - {"matrix": [0, 1], "label": "F1", "x": 2, "y": 0}, - {"matrix": [0, 2], "label": "F2", "x": 3, "y": 0}, - {"matrix": [0, 3], "label": "F3", "x": 4, "y": 0}, - {"matrix": [0, 4], "label": "F4", "x": 5, "y": 0}, - {"matrix": [0, 5], "label": "F5", "x": 6.5, "y": 0}, - {"matrix": [0, 6], "label": "F6", "x": 7.5, "y": 0}, - {"matrix": [0, 7], "label": "F7", "x": 8.5, "y": 0}, - {"matrix": [0, 8], "label": "F8", "x": 9.5, "y": 0}, - {"matrix": [0, 9], "label": "F9", "x": 11, "y": 0}, - {"matrix": [0, 10], "label": "F10", "x": 12, "y": 0}, - {"matrix": [0, 11], "label": "F11", "x": 13, "y": 0}, - {"matrix": [0, 12], "label": "F12", "x": 14, "y": 0}, - + {"matrix": [0, 2], "label": "F1", "x": 2, "y": 0}, + {"matrix": [0, 3], "label": "F2", "x": 3, "y": 0}, + {"matrix": [0, 4], "label": "F3", "x": 4, "y": 0}, + {"matrix": [0, 5], "label": "F4", "x": 5, "y": 0}, + {"matrix": [0, 6], "label": "F5", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F6", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F7", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F8", "x": 9.5, "y": 0}, + {"matrix": [0, 10], "label": "F9", "x": 11, "y": 0}, + {"matrix": [0, 11], "label": "F10", "x": 12, "y": 0}, + {"matrix": [0, 12], "label": "F11", "x": 13, "y": 0}, + {"matrix": [0, 13], "label": "F12", "x": 14, "y": 0}, {"matrix": [0, 14], "label": "PrtSc", "x": 15.25, "y": 0}, {"matrix": [0, 15], "label": "Scroll Lock", "x": 16.25, "y": 0}, {"matrix": [0, 16], "label": "Pause", "x": 17.25, "y": 0}, + {"matrix": [1, 0], "label": "\u00ac", "x": 0, "y": 1.25}, {"matrix": [1, 1], "label": "!", "x": 1, "y": 1.25}, {"matrix": [1, 2], "label": "\"", "x": 2, "y": 1.25}, @@ -247,12 +254,12 @@ {"matrix": [1, 10], "label": ")", "x": 10, "y": 1.25}, {"matrix": [1, 11], "label": "_", "x": 11, "y": 1.25}, {"matrix": [1, 12], "label": "+", "x": 12, "y": 1.25}, - {"matrix": [1, 13], "label": "Backspace", "w": 2, "x": 13, "y": 1.25}, - + {"matrix": [1, 13], "label": "Backspace", "x": 13, "y": 1.25, "w": 2}, {"matrix": [1, 14], "label": "Insert", "x": 15.25, "y": 1.25}, {"matrix": [1, 15], "label": "Home", "x": 16.25, "y": 1.25}, {"matrix": [1, 16], "label": "PgUp", "x": 17.25, "y": 1.25}, - {"matrix": [2, 0], "label": "Tab", "w": 1.5, "x": 0, "y": 2.25}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2.25}, {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2.25}, {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2.25}, @@ -265,11 +272,12 @@ {"matrix": [2, 10], "label": "P", "x": 10.5, "y": 2.25}, {"matrix": [2, 11], "label": "{", "x": 11.5, "y": 2.25}, {"matrix": [2, 12], "label": "}", "x": 12.5, "y": 2.25}, - {"matrix": [2, 13], "label": "|", "w": 1.5, "x": 13.5, "y": 2.25}, + {"matrix": [2, 13], "label": "|", "x": 13.5, "y": 2.25, "w": 1.5}, {"matrix": [2, 14], "label": "Delete", "x": 15.25, "y": 2.25}, {"matrix": [2, 15], "label": "End", "x": 16.25, "y": 2.25}, {"matrix": [2, 16], "label": "PgDn", "x": 17.25, "y": 2.25}, - {"matrix": [3, 0], "label": "Caps Lock", "w": 1.75, "x": 0, "y": 3.25}, + + {"matrix": [3, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, {"matrix": [3, 1], "label": "A", "x": 1.75, "y": 3.25}, {"matrix": [3, 2], "label": "S", "x": 2.75, "y": 3.25}, {"matrix": [3, 3], "label": "D", "x": 3.75, "y": 3.25}, @@ -281,9 +289,9 @@ {"matrix": [3, 9], "label": "L", "x": 9.75, "y": 3.25}, {"matrix": [3, 10], "label": ":", "x": 10.75, "y": 3.25}, {"matrix": [3, 11], "label": "@", "x": 11.75, "y": 3.25}, - {"matrix": [3, 12], "label": "Enter", "w": 2.25, "x": 12.75, "y": 3.25}, - {"matrix": [4, 0], "label": "Shift", "w": 2.25, "x": 0, "y": 4.25}, + {"matrix": [3, 12], "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [4, 0], "label": "Shift", "x": 0, "y": 4.25, "w": 2.25}, {"matrix": [4, 2], "label": "Z", "x": 2.25, "y": 4.25}, {"matrix": [4, 3], "label": "X", "x": 3.25, "y": 4.25}, {"matrix": [4, 4], "label": "C", "x": 4.25, "y": 4.25}, @@ -294,17 +302,17 @@ {"matrix": [4, 9], "label": "<", "x": 9.25, "y": 4.25}, {"matrix": [4, 10], "label": ">", "x": 10.25, "y": 4.25}, {"matrix": [4, 11], "label": "?", "x": 11.25, "y": 4.25}, - {"matrix": [4, 12], "label": "Shift", "w": 2.75, "x": 12.25, "y": 4.25}, - + {"matrix": [4, 12], "label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75}, {"matrix": [4, 15], "label": "\u2191", "x": 16.25, "y": 4.25}, - {"matrix": [5, 0], "label": "Ctrl", "w": 1.25, "x": 0, "y": 5.25}, - {"matrix": [5, 1], "label": "Win", "w": 1.25, "x": 1.25, "y": 5.25}, - {"matrix": [5, 2], "label": "Alt", "w": 1.25, "x": 2.5, "y": 5.25}, - {"matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25}, - {"matrix": [5, 10], "label": "AltGr", "w": 1.25, "x": 10, "y": 5.25}, - {"matrix": [5, 11], "label": "Win", "w": 1.25, "x": 11.25, "y": 5.25}, - {"matrix": [5, 12], "label": "Menu", "w": 1.25, "x": 12.5, "y": 5.25}, - {"matrix": [5, 13], "label": "Ctrl", "w": 1.25, "x": 13.75, "y": 5.25}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "label": "AltGr", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "label": "Win", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "label": "Menu", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25}, {"matrix": [5, 14], "label": "\u2190", "x": 15.25, "y": 5.25}, {"matrix": [5, 15], "label": "\u2193", "x": 16.25, "y": 5.25}, {"matrix": [5, 16], "label": "\u2192", "x": 17.25, "y": 5.25} diff --git a/keyboards/prototypist/pt80/keymaps/default/keymap.c b/keyboards/prototypist/pt80/keymaps/default/keymap.c index 5c5776b271d..5905a8d05fd 100644 --- a/keyboards/prototypist/pt80/keymaps/default/keymap.c +++ b/keyboards/prototypist/pt80/keymaps/default/keymap.c @@ -5,43 +5,43 @@ 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_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_ENT, 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_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 + 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, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_iso( - QK_BOOT, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, _______, KC_MPLY, _______, + QK_BOOT, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, _______, KC_MPLY, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, MO(3), _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MO(3), _______, _______, _______ ), [3] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) - + }; diff --git a/keyboards/prototypist/pt80/keymaps/default_ansi/keymap.c b/keyboards/prototypist/pt80/keymaps/default_ansi/keymap.c index d4d974464ae..0f851bcd5c6 100644 --- a/keyboards/prototypist/pt80/keymaps/default_ansi/keymap.c +++ b/keyboards/prototypist/pt80/keymaps/default_ansi/keymap.c @@ -5,43 +5,43 @@ 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_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_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + 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_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi( - QK_BOOT, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, _______, KC_MPLY, _______, + QK_BOOT, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, _______, KC_MPLY, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT_tkl_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, MO(3), _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MO(3), _______, _______, _______ ), [3] = LAYOUT_tkl_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) - + }; diff --git a/keyboards/prototypist/pt80/keymaps/via/keymap.c b/keyboards/prototypist/pt80/keymaps/via/keymap.c index 0529547ba71..c3fe205bc07 100644 --- a/keyboards/prototypist/pt80/keymaps/via/keymap.c +++ b/keyboards/prototypist/pt80/keymaps/via/keymap.c @@ -5,43 +5,43 @@ 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_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_ENT, 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_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_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + 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_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_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - QK_BOOT, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, KC_MUTE, _______, KC_MPLY, _______, + QK_BOOT, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, KC_MUTE, _______, KC_MPLY, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, MO(3), _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MO(3), _______, _______, _______ ), [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) - + }; diff --git a/keyboards/prototypist/pt80/matrix_diagram.md b/keyboards/prototypist/pt80/matrix_diagram.md new file mode 100644 index 00000000000..e4fa03655eb --- /dev/null +++ b/keyboards/prototypist/pt80/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for Proto[Typist] PT-80 + +``` +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ +│00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ Standard +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │0F │0G │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │3D ││1E │1F │1G │ │1D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐2D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │ │3C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│50 │51 │52 │56 │5A │5B │5C │5D ││5E │5F │5G │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│40 │ 2.25u LShift 2.75u RShift │4C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│50 │51 │52 │56 │5B │5C │5D │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬───────────────────────────────────────┬───┬─────┐ +│50 │51 │56 │5C │5D │ Tsangan/WKL with 10u Spacebar +└─────┴───┴───────────────────────────────────────┴───┴─────┘ +``` diff --git a/keyboards/protozoa/cassini/rules.mk b/keyboards/protozoa/cassini/rules.mk index 7000bb65710..7c0709f41e6 100644 --- a/keyboards/protozoa/cassini/rules.mk +++ b/keyboards/protozoa/cassini/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/protozoa/p01/config.h b/keyboards/protozoa/p01/config.h index 46f96e7934c..06e46c9fa18 100644 --- a/keyboards/protozoa/p01/config.h +++ b/keyboards/protozoa/p01/config.h @@ -24,10 +24,6 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA1_STREAM5 #define WS2812_DMA_CHANNEL 5 -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/protozoa/p01/info.json b/keyboards/protozoa/p01/info.json index 94089a3b78d..4209c1d4cf7 100644 --- a/keyboards/protozoa/p01/info.json +++ b/keyboards/protozoa/p01/info.json @@ -8,6 +8,11 @@ "pid": "0x5031", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "A9", "driver": "pwm" diff --git a/keyboards/protozoa/p01/rules.mk b/keyboards/protozoa/p01/rules.mk index a9e8e0f92e7..adb0000e016 100644 --- a/keyboards/protozoa/p01/rules.mk +++ b/keyboards/protozoa/p01/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/pteron36/config.h b/keyboards/pteron36/config.h index d661f794cc4..1148463200f 100644 --- a/keyboards/pteron36/config.h +++ b/keyboards/pteron36/config.h @@ -40,6 +40,3 @@ along with this program. If not, see . // for via #define DYNAMIC_KEYMAP_LAYER_COUNT 7 - -//RGB Underglow -#define RGBLED_NUM 10 diff --git a/keyboards/pteron36/info.json b/keyboards/pteron36/info.json index bb5a8ee1eb4..418ca0f6b8a 100644 --- a/keyboards/pteron36/info.json +++ b/keyboards/pteron36/info.json @@ -28,6 +28,9 @@ } } }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/pteropus/info.json b/keyboards/pteropus/info.json index b1e0556b61d..76cbe67eee5 100644 --- a/keyboards/pteropus/info.json +++ b/keyboards/pteropus/info.json @@ -37,6 +37,7 @@ {"matrix": [0, 7], "x": 10, "y": 0}, {"matrix": [0, 8], "x": 11, "y": 0.125}, {"matrix": [0, 9], "x": 12, "y": 0.25}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, {"matrix": [1, 1], "x": 1, "y": 1.125}, {"matrix": [1, 2], "x": 2, "y": 1}, @@ -47,16 +48,18 @@ {"matrix": [1, 7], "x": 10, "y": 1}, {"matrix": [1, 8], "x": 11, "y": 1.125}, {"matrix": [1, 9], "x": 12, "y": 1.25}, - {"matrix": [2, 0], "x": 0, "y": 1.25}, - {"matrix": [2, 1], "x": 1, "y": 1.125}, - {"matrix": [2, 2], "x": 2, "y": 1}, - {"matrix": [2, 3], "x": 3, "y": 1.125}, - {"matrix": [2, 4], "x": 4, "y": 1.25}, - {"matrix": [2, 5], "x": 8, "y": 1.25}, - {"matrix": [2, 6], "x": 9, "y": 1.125}, - {"matrix": [2, 7], "x": 10, "y": 1}, - {"matrix": [2, 8], "x": 11, "y": 1.125}, - {"matrix": [2, 9], "x": 12, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.125}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2.125}, + {"matrix": [2, 4], "x": 4, "y": 2.25}, + {"matrix": [2, 5], "x": 8, "y": 2.25}, + {"matrix": [2, 6], "x": 9, "y": 2.125}, + {"matrix": [2, 7], "x": 10, "y": 2}, + {"matrix": [2, 8], "x": 11, "y": 2.125}, + {"matrix": [2, 9], "x": 12, "y": 2.25}, + {"matrix": [3, 2], "x": 3, "y": 3.25}, {"matrix": [3, 3], "x": 4, "y": 3.5}, {"matrix": [3, 4], "x": 5, "y": 3.75}, diff --git a/keyboards/qpockets/space_space/rev2/config.h b/keyboards/qpockets/space_space/rev2/config.h index 6603c0e1539..02bd670f713 100644 --- a/keyboards/qpockets/space_space/rev2/config.h +++ b/keyboards/qpockets/space_space/rev2/config.h @@ -18,7 +18,4 @@ #define LOCKING_SUPPORT_ENABLE -#define RGBLED_NUM 4 - -#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGBLIGHT_DEFAULT_HUE 130 diff --git a/keyboards/qpockets/space_space/rev2/info.json b/keyboards/qpockets/space_space/rev2/info.json index 635c66db992..45cdb5870ac 100644 --- a/keyboards/qpockets/space_space/rev2/info.json +++ b/keyboards/qpockets/space_space/rev2/info.json @@ -19,6 +19,9 @@ {"pin_a": "C7", "pin_b": "F7", "resolution": 3} ] }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/quad_h/lb75/config.h b/keyboards/quad_h/lb75/config.h index 9457b207667..ee31dd7bfed 100644 --- a/keyboards/quad_h/lb75/config.h +++ b/keyboards/quad_h/lb75/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/quad_h/lb75/info.json b/keyboards/quad_h/lb75/info.json index 786439186f4..161a7028a61 100644 --- a/keyboards/quad_h/lb75/info.json +++ b/keyboards/quad_h/lb75/info.json @@ -21,7 +21,11 @@ "pin": "B0" }, "rgblight": { - "max_brightness": 220 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "max_brightness": 220, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/quarkeys/z40/config.h b/keyboards/quarkeys/z40/config.h index ece3e611361..8aeaf51cc79 100644 --- a/keyboards/quarkeys/z40/config.h +++ b/keyboards/quarkeys/z40/config.h @@ -20,9 +20,6 @@ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_DISABLE_WHEN_USB_SUSPENDED // Turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // Limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -#define RGB_MATRIX_SAT_STEP 8 -#define RGB_MATRIX_VAL_STEP 8 -#define RGB_MATRIX_SPD_STEP 10 // RGB_MATRIX effects #define ENABLE_RGB_MATRIX_ALPHAS_MODS //Enables RGB_MATRIX_ALPHAS_MODS @@ -47,10 +44,6 @@ #endif #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 47 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -64,5 +57,4 @@ #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF -#define RGBLIGHT_SLEEP #endif \ No newline at end of file diff --git a/keyboards/quarkeys/z40/info.json b/keyboards/quarkeys/z40/info.json index cf4729fdd26..0ce1a64214d 100644 --- a/keyboards/quarkeys/z40/info.json +++ b/keyboards/quarkeys/z40/info.json @@ -1,31 +1,44 @@ { "keyboard_name": "Z40 Ortho", - "manufacturer": "Quarkeys Stuidio", - "url": "www.quarkeys.com", - "maintainer": "TommyZ", - "usb": { - "vid": "0x8490", - "pid": "0x2801", - "device_version": "0.0.1" - }, + "manufacturer": "Quarkeys Studio", + "url": "https://www.quarkeys.com/", + "maintainer": "tommyamoszhao", + "usb": { + "vid": "0x8490", + "pid": "0x2801", + "device_version": "0.0.1" + }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "rgblight": { - "max_brightness": 130 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 47, + "max_brightness": 130, + "sleep": true }, "matrix_pins": { - "cols": ["F4", "F5", "F6", "F7", "B6", "B5", "B4", "D7", "D6", "D0", "B1", "B0"], - "rows": ["E6", "B3", "C7", "C6"] + "cols": ["F4", "F5", "F6", "F7", "B6", "B5", "B4", "D7", "D6", "D0", "B1", "B0"], + "rows": ["E6", "B3", "C7", "C6"] }, "ws2812": { - "pin": "F1" + "pin": "F1" }, "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_planck_mit" + }, + "community_layouts": [ + "planck_mit" + ], "layouts": { - "LAYOUT": { + "LAYOUT_planck_mit": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/quarkeys/z40/keymaps/default/keymap.c b/keyboards/quarkeys/z40/keymaps/default/keymap.c index e54316ec296..8a08e47153f 100644 --- a/keyboards/quarkeys/z40/keymaps/default/keymap.c +++ b/keyboards/quarkeys/z40/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* +/* / Copyright 2022 quarkeys / This program is free software: you can redistribute it and/or modify / it under the terms of the GNU General Public License as published by @@ -26,11 +26,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | Ctrl | Caps | ALT | OS | Ly1 | SPACE | Ly2 | M1 | M2 | M3 | Enter | * `-------------------------------------------------------------------------------------' */ - [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_QUOT, - 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_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT + [0] = 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_RSFT, + KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT ), /* [1] @@ -44,13 +44,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | 0 | | | . | | = | * `-------+------+------+------+------+-------------+------+------+------+-------+------' */ - - [1] = LAYOUT( - QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______, - _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______, - _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______, - RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL - ), + [1] = LAYOUT_planck_mit( + QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______, + _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______, + _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______, + RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL + ), /* [2] * ,-------------------------------------------------------------------------------------. @@ -63,13 +62,13 @@ 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_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______, - _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; + [2] = LAYOUT_planck_mit( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______, + _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; #ifdef RGBLIGHT_ENABLE const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED}); @@ -78,10 +77,10 @@ const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28 const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_capslock_layer, // Caplock indicator - my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control - my_symbol_layer, // F1-F12 keys & Symbols - my_other_layer // Self-Defined + my_capslock_layer, // Caplock indicator + my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control + my_symbol_layer, // F1-F12 keys & Symbols + my_other_layer // Self-Defined ); void keyboard_post_init_user(void) { diff --git a/keyboards/quarkeys/z40/keymaps/via/keymap.c b/keyboards/quarkeys/z40/keymaps/via/keymap.c index f235747a709..fe596b98ff0 100644 --- a/keyboards/quarkeys/z40/keymaps/via/keymap.c +++ b/keyboards/quarkeys/z40/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* +/* / Copyright 2022 quarkeys / This program is free software: you can redistribute it and/or modify / it under the terms of the GNU General Public License as published by @@ -15,27 +15,27 @@ #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_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_RSFT, - KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT + [0] = 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_RSFT, + KC_LCTL, KC_CAPS, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), MO(3), _______, _______, KC_ENT ), - [1] = LAYOUT( - QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______, - _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______, - _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______, - RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL - ), + [1] = LAYOUT_planck_mit( + QK_BOOT, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, _______, + _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_MOD, _______, + _______, KC_VOLD, KC_VOLU, _______, _______, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, RGB_HUI, _______, + RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_0, _______, _______, KC_DOT, RGB_HUD, KC_EQL + ), - [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_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______, - _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; + [2] = LAYOUT_planck_mit( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______, + _______, KC_EXLM, KC_AT, KC_HASH, KC_CIRC, KC_ASTR, KC_SLSH, KC_TILD, KC_LABK, KC_RABK, KC_QUES, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; #ifdef RGBLIGHT_ENABLE const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({9, 1, HSV_RED}); @@ -44,10 +44,10 @@ const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({28 const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_capslock_layer, // Caplock indicator - my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control - my_symbol_layer, // F1-F12 keys & Symbols - my_other_layer // Self-Defined + my_capslock_layer, // Caplock indicator + my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control + my_symbol_layer, // F1-F12 keys & Symbols + my_other_layer // Self-Defined ); void keyboard_post_init_user(void) { diff --git a/keyboards/quarkeys/z40/readme.md b/keyboards/quarkeys/z40/readme.md index d3428dd2061..b1f2bb42be5 100644 --- a/keyboards/quarkeys/z40/readme.md +++ b/keyboards/quarkeys/z40/readme.md @@ -1,14 +1,18 @@ # Quarkeys Z40 Low Profile Keyboard -![Quarkeys Z40 Pastry](https://raw.githubusercontent.com/tommyamoszhao/keyboardimage/main/Z40/Z40_1024.png) +![Quarkeys Z40 Pastry](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/quarkeys/z40/72b918_ef3d9bc5f32e4b2ba224b0a25bc017f4~mv2.png "Quarkeys Z40 PCB render") A 40% Bottom mount low-profile & MX switch compatible keyboard. -* Keyboard Maintainer: [Quarkeys Studio](www.quarkeys.com) +* Keyboard Maintainer: [TommyZ](https://github.com/tommyamoszhao) * Hardware Supported: Z40-ACR, Z40-Pastry -* Hardware Specs: Per-key RGBs, layer & Capslock indicators -* For [RGB Matrix feature](https://docs.qmk.fm/#/feature_rgb_matrix): `RGB_MATRIX_ENABLE = yes`, `RGBLIGHT_ENABLE = no`. -* For [RGB Light feature](https://docs.qmk.fm/#/feature_rgblight): `RGB_MATRIX_ENABLE = no`, `RGBLIGHT_ENABLE = yes`. +* Hardware Availability: [Quarkeys Studio](https://www.quarkeys.com/product-page/z40-extra-pcb) + +## Hardware Specs + +* Per-key RGBs, layer & Capslock indicators + * For [RGB Matrix feature](https://docs.qmk.fm/#/feature_rgb_matrix): `RGB_MATRIX_ENABLE = yes`, `RGBLIGHT_ENABLE = no`. + * For [RGB Light feature](https://docs.qmk.fm/#/feature_rgblight): `RGB_MATRIX_ENABLE = no`, `RGBLIGHT_ENABLE = yes`. Make example for this keyboard solder version keymap(after setting up your build environment): @@ -20,4 +24,4 @@ Flashing example for this keyboard: **Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1. -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). \ No newline at end of file +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/quarkeys/z60/hotswap/config.h b/keyboards/quarkeys/z60/hotswap/config.h index f02635a6394..1117b878734 100644 --- a/keyboards/quarkeys/z60/hotswap/config.h +++ b/keyboards/quarkeys/z60/hotswap/config.h @@ -14,11 +14,6 @@ #pragma once -#define RGBLED_NUM 80 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -32,4 +27,3 @@ #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF -#define RGBLIGHT_SLEEP diff --git a/keyboards/quarkeys/z60/hotswap/info.json b/keyboards/quarkeys/z60/hotswap/info.json index 1db45e4f7ba..d1c7d3d5146 100644 --- a/keyboards/quarkeys/z60/hotswap/info.json +++ b/keyboards/quarkeys/z60/hotswap/info.json @@ -16,7 +16,11 @@ "pin": "D6" }, "rgblight": { - "max_brightness": 140 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 80, + "max_brightness": 140, + "sleep": true }, "diode_direction": "COL2ROW", "processor": "atmega32u4", diff --git a/keyboards/quarkeys/z60/solder/config.h b/keyboards/quarkeys/z60/solder/config.h index 588044ec304..4c4e1658a6a 100644 --- a/keyboards/quarkeys/z60/solder/config.h +++ b/keyboards/quarkeys/z60/solder/config.h @@ -14,11 +14,6 @@ #pragma once -#define RGBLED_NUM 77 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -32,5 +27,3 @@ #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) - -#define RGBLIGHT_SLEEP diff --git a/keyboards/quarkeys/z60/solder/info.json b/keyboards/quarkeys/z60/solder/info.json index 75316622d1c..640a8c0da55 100644 --- a/keyboards/quarkeys/z60/solder/info.json +++ b/keyboards/quarkeys/z60/solder/info.json @@ -16,7 +16,11 @@ "pin": "D6" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 77, + "max_brightness": 180, + "sleep": true }, "diode_direction": "COL2ROW", "processor": "atmega32u4", diff --git a/keyboards/quarkeys/z67/hotswap/config.h b/keyboards/quarkeys/z67/hotswap/config.h index f662eb9480a..1117b878734 100644 --- a/keyboards/quarkeys/z67/hotswap/config.h +++ b/keyboards/quarkeys/z67/hotswap/config.h @@ -14,11 +14,6 @@ #pragma once -#define RGBLED_NUM 77 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -32,4 +27,3 @@ #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF -#define RGBLIGHT_SLEEP diff --git a/keyboards/quarkeys/z67/hotswap/info.json b/keyboards/quarkeys/z67/hotswap/info.json index 43a9f465f73..b024c27f1ae 100644 --- a/keyboards/quarkeys/z67/hotswap/info.json +++ b/keyboards/quarkeys/z67/hotswap/info.json @@ -16,7 +16,11 @@ "pin": "F0" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 77, + "max_brightness": 180, + "sleep": true }, "diode_direction": "COL2ROW", "processor": "atmega32u4", diff --git a/keyboards/quarkeys/z67/solder/config.h b/keyboards/quarkeys/z67/solder/config.h index e65139c5ffa..4eaf0f6072d 100644 --- a/keyboards/quarkeys/z67/solder/config.h +++ b/keyboards/quarkeys/z67/solder/config.h @@ -14,11 +14,6 @@ #pragma once -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -31,4 +26,3 @@ #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) #define RGBLIGHT_LAYERS -#define RGBLIGHT_SLEEP diff --git a/keyboards/quarkeys/z67/solder/info.json b/keyboards/quarkeys/z67/solder/info.json index 2a199583027..42139d75ac7 100644 --- a/keyboards/quarkeys/z67/solder/info.json +++ b/keyboards/quarkeys/z67/solder/info.json @@ -16,7 +16,11 @@ "pin": "F0" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "max_brightness": 180, + "sleep": true }, "diode_direction": "COL2ROW", "processor": "atmega32u4", diff --git a/keyboards/qvex/lynepad/config.h b/keyboards/qvex/lynepad/config.h index e266f72ad5b..85f31bf5a86 100644 --- a/keyboards/qvex/lynepad/config.h +++ b/keyboards/qvex/lynepad/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Definitions for encoder tilt/press support */ #define ENC_TILT_THRESHOLD 1 diff --git a/keyboards/qvex/lynepad/info.json b/keyboards/qvex/lynepad/info.json index fa8b71b5d6d..e1205383f4e 100644 --- a/keyboards/qvex/lynepad/info.json +++ b/keyboards/qvex/lynepad/info.json @@ -23,6 +23,9 @@ "pin": "D3" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4, "max_brightness": 240 }, "processor": "atmega32u4", diff --git a/keyboards/qwertyydox/config.h b/keyboards/qwertyydox/config.h index 8bc386dcabe..8e784c3b9cf 100644 --- a/keyboards/qwertyydox/config.h +++ b/keyboards/qwertyydox/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 12 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/qwertyydox/info.json b/keyboards/qwertyydox/info.json index fcc14084b07..50fabb49dbf 100644 --- a/keyboards/qwertyydox/info.json +++ b/keyboards/qwertyydox/info.json @@ -13,6 +13,12 @@ "cols": ["F7", "F6", "F5", "C6", "D7", "D4", "D1"], "rows": ["B6", "B2", "B3", "B1"] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/rainkeebs/delilah/config.h b/keyboards/rainkeebs/delilah/config.h index 3f9d574f77e..d89d0648cb2 100644 --- a/keyboards/rainkeebs/delilah/config.h +++ b/keyboards/rainkeebs/delilah/config.h @@ -31,7 +31,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/rainkeebs/delilah/info.json b/keyboards/rainkeebs/delilah/info.json index 891c4847785..930d6dd901b 100644 --- a/keyboards/rainkeebs/delilah/info.json +++ b/keyboards/rainkeebs/delilah/info.json @@ -8,6 +8,11 @@ "pid": "0x645C", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8 + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/rainkeebs/trailmix/info.json b/keyboards/rainkeebs/trailmix/info.json new file mode 100644 index 00000000000..7b3cfdfcdd3 --- /dev/null +++ b/keyboards/rainkeebs/trailmix/info.json @@ -0,0 +1,96 @@ +{ + "manufacturer": "rainkeebs", + "keyboard_name": "trailmix", + "maintainer": "ATron789", + "bootloader": "atmel-dfu", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "diode_direction": "COL2ROW", + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "B2", "pin_b": "B4"} + ] + }, + "matrix_pins": { + "cols": ["F6", "D4", "F5", "D0", "F4", "B6"], + "rows": ["D1", "D7", "F7", "C6"] + }, + "processor": "atmega32u4", + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "B2", "pin_b": "B4"} + ] + } + }, + "soft_serial_pin": "D3" + }, + "url": "https://www.rainkeebs.mx", + "usb": { + "device_version": "1.0.0", + "pid": "0x7363", + "vid": "0x726B" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "L00", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "L01", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "L02", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "L04", "matrix": [0, 4], "x": 4, "y": 0}, + + {"label": "R04", "matrix": [4, 4], "x": 8, "y": 0}, + {"label": "R03", "matrix": [4, 3], "x": 9, "y": 0}, + {"label": "R02", "matrix": [4, 2], "x": 10, "y": 0}, + {"label": "R01", "matrix": [4, 1], "x": 11, "y": 0}, + {"label": "R00", "matrix": [4, 0], "x": 12, "y": 0}, + + {"label": "L10", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "L11", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "L12", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "L13", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "L14", "matrix": [1, 4], "x": 4, "y": 1}, + + {"label": "R14", "matrix": [5, 4], "x": 8, "y": 1}, + {"label": "R13", "matrix": [5, 3], "x": 9, "y": 1}, + {"label": "R12", "matrix": [5, 2], "x": 10, "y": 1}, + {"label": "R11", "matrix": [5, 1], "x": 11, "y": 1}, + {"label": "R10", "matrix": [5, 0], "x": 12, "y": 1}, + + {"label": "L20", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "L21", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "L22", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "L23", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "L24", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "L25", "matrix": [2, 5], "x": 5, "y": 2}, + + {"label": "R25", "matrix": [6, 5], "x": 7, "y": 2}, + {"label": "R24", "matrix": [6, 4], "x": 8, "y": 2}, + {"label": "R23", "matrix": [6, 3], "x": 9, "y": 2}, + {"label": "R22", "matrix": [6, 2], "x": 10, "y": 2}, + {"label": "R21", "matrix": [6, 1], "x": 11, "y": 2}, + {"label": "R20", "matrix": [6, 0], "x": 12, "y": 2}, + + {"label": "L30", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "L31", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "L32", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "L33", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "L34", "matrix": [3, 4], "x": 4, "y": 3, "w": 2}, + + {"label": "R34", "matrix": [7, 4], "x": 7, "y": 3, "w": 2}, + {"label": "R33", "matrix": [7, 3], "x": 9, "y": 3}, + {"label": "R32", "matrix": [7, 2], "x": 10, "y": 3}, + {"label": "R31", "matrix": [7, 1], "x": 11, "y": 3}, + {"label": "R30", "matrix": [7, 0], "x": 12, "y": 3} + ] + } + } +} diff --git a/keyboards/rainkeebs/trailmix/keymaps/default/keymap.c b/keyboards/rainkeebs/trailmix/keymaps/default/keymap.c new file mode 100644 index 00000000000..77418f9cd63 --- /dev/null +++ b/keyboards/rainkeebs/trailmix/keymaps/default/keymap.c @@ -0,0 +1,66 @@ +/* Copyright 2021 Regan Palmer + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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 { + _BASE, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define ADJUST MO(_ADJUST) +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT( + 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_ENTER, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, KC_PSCR, KC_N, KC_M, KC_COMM, KC_DOT, KC_BSPC, + KC_LCTL, KC_LALT, KC_LGUI, LOWER,KC_LSFT, KC_SPC, RAISE, KC_RGUI, KC_ESC, KC_TAB + ), + + [_LOWER] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_ESC, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_TRNS, + KC_TAB, KC_INSERT, KC_DELETE, KC_BACKSLASH,KC_MINUS, KC_TRNS, KC_TRNS, KC_PLUS, KC_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_TRNS, KC_TRNS + ), + + [_RAISE] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_GRAVE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_LCBR, KC_RCBR, KC_COLN, KC_DQT, KC_TRNS, + KC_TRNS, KC_CAPS, KC_TRNS, KC_PIPE, KC_UNDS, KC_TRNS, KC_TRNS, KC_EQUAL, KC_QUESTION, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ADJUST, KC_TRNS, KC_TRNS + ), + + [_ADJUST] = 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_PRINT_SCREEN, KC_SCROLL_LOCK, KC_PAUSE, KC_H, KC_J, KC_K, KC_L, KC_ENTER, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, KC_PSCR, KC_N, KC_M, KC_COMM, KC_DOT, KC_BSPC, + KC_LCTL, KC_LALT, ADJUST, RAISE, KC_SPC, KC_LSFT, LOWER, ADJUST, KC_RALT, KC_RCTL + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN)}, + [_LOWER] = {ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_HOME, KC_END)}, + [_RAISE] = {ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_WH_L, KC_WH_R)}, + [_ADJUST] = {ENCODER_CCW_CW(KC_MS_LEFT, KC_MS_RIGHT), ENCODER_CCW_CW(KC_MS_UP, KC_MS_DOWN)}, +}; +#endif diff --git a/keyboards/rainkeebs/trailmix/keymaps/default/rules.mk b/keyboards/rainkeebs/trailmix/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/rainkeebs/trailmix/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rainkeebs/trailmix/readme.md b/keyboards/rainkeebs/trailmix/readme.md new file mode 100644 index 00000000000..2b2b6437e68 --- /dev/null +++ b/keyboards/rainkeebs/trailmix/readme.md @@ -0,0 +1,28 @@ +# Trailmix + +![Trailmix](https://i.postimg.cc/wB4Zk1pS/IMG-20230326-222616.jpg) + + +Ortho split 40% keyboard by rainkeenbs with encoders. + +* Keyboard Maintainer: [ATron789](https://github.com/atron789) +* Hardware Supported: `Elite Pi`, `Pro Micro Type-C USB`, `Elite-C (v4)`, `nice!nano v2` controllers + + +Make example for this keyboard (after setting up your build environment): + + make rainkeebs/trailmix:default + +Flashing example for this keyboard: + + make rainkeebs/rainkeeb:default:flash + +(Flash one side of the keyboard at the time) + +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: + +* **Physical reset button**: reset button located next to the encoder slot, one on each side of the keyboard. diff --git a/keyboards/rainkeebs/trailmix/rules.mk b/keyboards/rainkeebs/trailmix/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/rainkeebs/trailmix/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/rainkeebs/trailmix/trailmix.c b/keyboards/rainkeebs/trailmix/trailmix.c new file mode 100644 index 00000000000..105d988dadb --- /dev/null +++ b/keyboards/rainkeebs/trailmix/trailmix.c @@ -0,0 +1,91 @@ +/* +Copyright 2023 Alberto Pavano "ATron789" + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public 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" + +enum layers { _BASE, _LOWER, _RAISE, _ADJUST }; + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + switch (get_highest_layer(layer_state)) { + case _BASE: + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + if (clockwise) { + tap_code(KC_MS_WH_DOWN); + } else { + tap_code(KC_MS_WH_UP); + } + } + break; + case _RAISE: + if (index == 0) { + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + } else if (index == 1) { + if (clockwise) { + tap_code(KC_WH_R); + } else { + tap_code(KC_WH_L); + } + } + break; + case _LOWER: + if (index == 0) { + if (clockwise) { + tap_code(KC_PGUP); + } else { + tap_code(KC_PGDN); + } + } else if (index == 1) { + if (clockwise) { + tap_code(KC_END); + } else { + tap_code(KC_HOME); + } + } + break; + case _ADJUST: + if (index == 0) { + if (clockwise) { + tap_code(KC_MS_RIGHT); + } else { + tap_code(KC_MS_LEFT); + } + } else if (index == 1) { + if (clockwise) { + tap_code(KC_MS_DOWN); + } else { + tap_code(KC_MS_UP); + } + } + break; + } + return true; +} +#endif diff --git a/keyboards/rainkeebs/yasui/config.h b/keyboards/rainkeebs/yasui/config.h index 5033c1ceac1..d89d0648cb2 100644 --- a/keyboards/rainkeebs/yasui/config.h +++ b/keyboards/rainkeebs/yasui/config.h @@ -31,7 +31,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/rainkeebs/yasui/info.json b/keyboards/rainkeebs/yasui/info.json index c1c874c77bc..d58b272597f 100644 --- a/keyboards/rainkeebs/yasui/info.json +++ b/keyboards/rainkeebs/yasui/info.json @@ -8,6 +8,11 @@ "pid": "0x7973", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/rart/rart4x4/config.h b/keyboards/rart/rart4x4/config.h index 76ffbba1cf6..cc0f4f0e890 100644 --- a/keyboards/rart/rart4x4/config.h +++ b/keyboards/rart/rart4x4/config.h @@ -33,8 +33,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 7 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/rart/rart4x4/info.json b/keyboards/rart/rart4x4/info.json index 3cd5710ddf9..980a2b6bfb1 100644 --- a/keyboards/rart/rart4x4/info.json +++ b/keyboards/rart/rart4x4/info.json @@ -12,7 +12,11 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "max_brightness": 240, + "sleep": true }, "matrix_pins": { "cols": ["F7", "B2", "B5", "B4"], diff --git a/keyboards/rart/rart67/config.h b/keyboards/rart/rart67/config.h index 21a2aba522a..cc0f4f0e890 100644 --- a/keyboards/rart/rart67/config.h +++ b/keyboards/rart/rart67/config.h @@ -33,8 +33,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 11 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/rart/rart67/info.json b/keyboards/rart/rart67/info.json index d12df10ae12..bd3ed061ec6 100644 --- a/keyboards/rart/rart67/info.json +++ b/keyboards/rart/rart67/info.json @@ -12,7 +12,11 @@ "pin": "B7" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 11, + "max_brightness": 240, + "sleep": true }, "matrix_pins": { "cols": ["B3", "B2", "B1", "D5", "D4", "D6", "D7", "B4", "B5", "F0", "F7", "F6", "F5", "F4", "F1", "E6"], diff --git a/keyboards/rart/rart75hs/config.h b/keyboards/rart/rart75hs/config.h index 26adeb96a73..fbe2c720a0c 100644 --- a/keyboards/rart/rart75hs/config.h +++ b/keyboards/rart/rart75hs/config.h @@ -29,9 +29,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_KNIGHT #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -/* You can change the number of RGB strip */ -#define RGBLED_NUM 11 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/rart/rart75hs/info.json b/keyboards/rart/rart75hs/info.json index 80b09b6357c..e3a2cb7a3f0 100644 --- a/keyboards/rart/rart75hs/info.json +++ b/keyboards/rart/rart75hs/info.json @@ -26,7 +26,11 @@ "pin": "C0" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 11, + "max_brightness": 240, + "sleep": true }, "bootmagic": { "matrix": [0, 1] diff --git a/keyboards/rart/rart80/config.h b/keyboards/rart/rart80/config.h index 4c08a231aab..fbe2c720a0c 100644 --- a/keyboards/rart/rart80/config.h +++ b/keyboards/rart/rart80/config.h @@ -29,9 +29,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_KNIGHT #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -/* You can change the number of RGB strip */ -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/rart/rart80/info.json b/keyboards/rart/rart80/info.json index 5b9f768c74d..787363a8816 100644 --- a/keyboards/rart/rart80/info.json +++ b/keyboards/rart/rart80/info.json @@ -21,7 +21,11 @@ "pin": "D5" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "max_brightness": 240, + "sleep": true }, "bootmagic": { "matrix": [0, 1] diff --git a/keyboards/rart/rartlice/config.h b/keyboards/rart/rartlice/config.h index b242e63013b..f5b050fa4e2 100644 --- a/keyboards/rart/rartlice/config.h +++ b/keyboards/rart/rartlice/config.h @@ -32,7 +32,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 11 #define WS2812_SPI SPID2 /* diff --git a/keyboards/rart/rartlice/info.json b/keyboards/rart/rartlice/info.json index b1046227cc5..56266f38454 100644 --- a/keyboards/rart/rartlice/info.json +++ b/keyboards/rart/rartlice/info.json @@ -19,6 +19,9 @@ "scroll_lock": "A9", "on_state": 0 }, + "rgblight": { + "led_count": 11 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/rart/rartlice/rules.mk b/keyboards/rart/rartlice/rules.mk index 49179d2fb92..47297d817f8 100644 --- a/keyboards/rart/rartlice/rules.mk +++ b/keyboards/rart/rartlice/rules.mk @@ -14,5 +14,3 @@ SLEEP_LED_ENABLE = yes OLED_ENABLE = yes OLED_DRIVER = SSD1306 -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/rart/rartpad/config.h b/keyboards/rart/rartpad/config.h index bf87b3204da..cc0f4f0e890 100644 --- a/keyboards/rart/rartpad/config.h +++ b/keyboards/rart/rartpad/config.h @@ -33,8 +33,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/rart/rartpad/info.json b/keyboards/rart/rartpad/info.json index 01929e01764..298ac75da80 100644 --- a/keyboards/rart/rartpad/info.json +++ b/keyboards/rart/rartpad/info.json @@ -26,7 +26,11 @@ "pin": "F7" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "max_brightness": 240, + "sleep": true }, "processor": "atmega32u4", "bootloader": "caterina", diff --git a/keyboards/rastersoft/minitkl/info.json b/keyboards/rastersoft/minitkl/info.json new file mode 100644 index 00000000000..7de5b4f75dc --- /dev/null +++ b/keyboards/rastersoft/minitkl/info.json @@ -0,0 +1,339 @@ +{ + "keyboard_name": "MiniTKL", + "manufacturer": "Rastersoft", + "url": "https://gitlab.com/rastersoft/full-ten-keyless", + "maintainer": "rastersoft", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "usb": { + "vid": "0xFEED", + "pid": "0x68F1", + "device_version": "0.0.1" + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "rows": ["D6", "D4", "B6", "D5", "B4", "D3", "D7", "D1", "C6", "D2", "C7", "D0"], + "cols": ["F4", "F1", "F0", "F5", "F6", "F7", "B7", "B5"] + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgblight": true + }, + "rgblight": { + "led_count": 3, + "pin": "B2", + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8, + "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 + }, + "layers": { + "enabled": true + } + }, + "ws2812": { + "pin": "B2" + }, + "layouts": { + "LAYOUT_iso": { + "layout": [ + {"label":"esc", "x":0, "y":0, "matrix": [0, 0]}, + {"label":"F1", "x":1, "y":0, "matrix": [0, 1]}, + {"label":"F2", "x":2, "y":0, "matrix": [0, 2]}, + {"label":"F3", "x":3, "y":0, "matrix": [0, 3]}, + {"label":"F4", "x":4, "y":0, "matrix": [0, 4]}, + {"label":"F5", "x":5, "y":0, "matrix": [0, 5]}, + {"label":"F6", "x":6, "y":0, "matrix": [0, 6]}, + {"label":"F7", "x":7, "y":0, "matrix": [0, 7]}, + {"label":"F8", "x":8, "y":0, "matrix": [1, 7]}, + {"label":"F9", "x":9, "y":0, "matrix": [1, 6]}, + {"label":"F10", "x":10, "y":0, "matrix": [1, 5]}, + {"label":"F11", "x":11, "y":0, "matrix": [1, 4]}, + {"label":"F12", "x":12, "y":0, "matrix": [1, 3]}, + {"label":"PrtScr", "x":13, "y":0, "matrix": [1, 2]}, + {"label":"ScrollLock", "x":14, "y":0, "matrix": [1, 1]}, + {"label":"Pause", "x":15, "y":0, "matrix": [1, 0]}, + + {"label":"º", "x":0, "y":1, "matrix": [2, 0]}, + {"label":"1", "x":1, "y":1, "matrix": [2, 1]}, + {"label":"2", "x":2, "y":1, "matrix": [2, 2]}, + {"label":"3", "x":3, "y":1, "matrix": [2, 3]}, + {"label":"4", "x":4, "y":1, "matrix": [2, 4]}, + {"label":"5", "x":5, "y":1, "matrix": [2, 5]}, + {"label":"6", "x":6, "y":1, "matrix": [2, 6]}, + {"label":"7", "x":7, "y":1, "matrix": [2, 7]}, + {"label":"8", "x":8, "y":1, "matrix": [3, 7]}, + {"label":"9", "x":9, "y":1, "matrix": [3, 6]}, + {"label":"0", "x":10, "y":1, "matrix": [3, 5]}, + {"label":"'", "x":11, "y":1, "matrix": [3, 4]}, + {"label":"\u00bf", "x":12, "y":1, "matrix": [3, 3]}, + {"label":"Backspace", "x":13, "y":1, "matrix": [3, 2], "w":2}, + {"label":"Home", "x":15, "y":1, "matrix": [3, 1]}, + {"label":"End", "x":16, "y":1, "matrix": [3, 0]}, + + {"label":"Tab", "x":0, "y":2, "w":1.5, "matrix": [4, 0]}, + {"label":"Q", "x":1.5, "y":2, "matrix": [4, 1]}, + {"label":"W", "x":2.5, "y":2, "matrix": [4, 2]}, + {"label":"E", "x":3.5, "y":2, "matrix": [4, 3]}, + {"label":"R", "x":4.5, "y":2, "matrix": [4, 4]}, + {"label":"T", "x":5.5, "y":2, "matrix": [4, 5]}, + {"label":"Y", "x":6.5, "y":2, "matrix": [4, 6]}, + {"label":"U", "x":7.5, "y":2, "matrix": [4, 7]}, + {"label":"I", "x":8.5, "y":2, "matrix": [5, 7]}, + {"label":"O", "x":9.5, "y":2, "matrix": [5, 6]}, + {"label":"P", "x":10.5, "y":2, "matrix": [5, 5]}, + {"label":"^", "x":11.5, "y":2, "matrix": [5, 4]}, + {"label":"*", "x":12.5, "y":2, "matrix": [5, 3]}, + {"label":"Insert", "x":15, "y":2, "matrix": [5, 1]}, + {"label":"PgUp", "x":15, "y":2, "matrix": [5, 0]}, + + {"label":"Shift Lock", "x":0, "y":3, "w":1.75, "matrix": [6, 0]}, + {"label":"A", "x":1.75, "y":3, "matrix": [6, 1]}, + {"label":"S", "x":2.75, "y":3, "matrix": [6, 2]}, + {"label":"D", "x":3.75, "y":3, "matrix": [6, 3]}, + {"label":"F", "x":4.75, "y":3, "matrix": [6, 4]}, + {"label":"G", "x":5.75, "y":3, "matrix": [6, 5]}, + {"label":"H", "x":6.75, "y":3, "matrix": [6, 6]}, + {"label":"J", "x":7.75, "y":3, "matrix": [6, 7]}, + {"label":"K", "x":8.75, "y":3, "matrix": [7, 7]}, + {"label":"L", "x":9.75, "y":3, "matrix": [7, 6]}, + {"label":"\u00d1", "x":10.75, "y":3, "matrix": [7, 5]}, + {"label":"\u00a8", "x":11.75, "y":3, "matrix": [7, 4]}, + {"label":"ç", "x":12.75, "y":3, "matrix": [7, 3]}, + {"label":"Return", "x":13.75, "y":2, "w":1.25, "h":2, "matrix": [5, 2]}, + {"label":"Del", "x":15, "y":3, "matrix": [7, 1]}, + {"label":"PgDow", "x":16, "y":3, "matrix": [7, 0]}, + + {"label":"Shift", "x":0, "y":4, "w":1.25, "matrix": [8, 0]}, + {"label":">", "x":1.25, "y":4, "matrix": [8, 1]}, + {"label":"Z", "x":2.25, "y":4, "matrix": [8, 2]}, + {"label":"X", "x":3.25, "y":4, "matrix": [8, 3]}, + {"label":"C", "x":4.25, "y":4, "matrix": [8, 4]}, + {"label":"V", "x":5.25, "y":4, "matrix": [8, 5]}, + {"label":"B", "x":6.25, "y":4, "matrix": [8, 6]}, + {"label":"N", "x":7.25, "y":4, "matrix": [8, 7]}, + {"label":"M", "x":8.25, "y":4, "matrix": [9, 7]}, + {"label":";", "x":9.25, "y":4, "matrix": [9, 6]}, + {"label":":", "x":10.25, "y":4, "matrix": [9, 5]}, + {"label":"_", "x":11.25, "y":4, "matrix": [9, 4]}, + {"label":"Shift", "x":12.25, "y":4, "w":2.75, "matrix": [9, 3]}, + {"label":"Up", "x":15, "y":4, "matrix": [9, 1]}, + {"label":"Fn", "x":16, "y":4, "matrix": [9, 0]}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25, "matrix": [10, 0]}, + {"label":"Mod", "x":1.25, "y":5, "w":1.25, "matrix": [10, 1]}, + {"label":"Alt", "x":2.25, "y":5, "w":1.25, "matrix": [10, 2]}, + {"label":"Space", "x":3.5, "y":5, "w":6.5, "matrix": [10, 6]}, + {"label":"AltGr", "x":10, "y":5, "w":1.25, "matrix": [11, 5]}, + {"label":"Menu", "x":11, "y":5, "w":1.25, "matrix": [11, 4]}, + {"label":"Ctrl", "x":12, "y":5, "w":1.25, "matrix": [11, 3]}, + {"label":"Left", "x":13, "y":5, "matrix": [11, 2]}, + {"label":"Bottom", "x":14, "y":5, "matrix": [11, 1]}, + {"label":"Right", "x":15, "y":5, "matrix": [11, 0]} + ] + },"LAYOUT_ansi": { + "layout": [ + {"label":"esc", "x":0, "y":0, "matrix": [0, 0]}, + {"label":"F1", "x":1, "y":0, "matrix": [0, 1]}, + {"label":"F2", "x":2, "y":0, "matrix": [0, 2]}, + {"label":"F3", "x":3, "y":0, "matrix": [0, 3]}, + {"label":"F4", "x":4, "y":0, "matrix": [0, 4]}, + {"label":"F5", "x":5, "y":0, "matrix": [0, 5]}, + {"label":"F6", "x":6, "y":0, "matrix": [0, 6]}, + {"label":"F7", "x":7, "y":0, "matrix": [0, 7]}, + {"label":"F8", "x":8, "y":0, "matrix": [1, 7]}, + {"label":"F9", "x":9, "y":0, "matrix": [1, 6]}, + {"label":"F10", "x":10, "y":0, "matrix": [1, 5]}, + {"label":"F11", "x":11, "y":0, "matrix": [1, 4]}, + {"label":"F12", "x":12, "y":0, "matrix": [1, 3]}, + {"label":"PrtScr", "x":13, "y":0, "matrix": [1, 2]}, + {"label":"ScrollLock", "x":14, "y":0, "matrix": [1, 1]}, + {"label":"Pause", "x":15, "y":0, "matrix": [1, 0]}, + + {"label":"º", "x":0, "y":1, "matrix": [2, 0]}, + {"label":"1", "x":1, "y":1, "matrix": [2, 1]}, + {"label":"2", "x":2, "y":1, "matrix": [2, 2]}, + {"label":"3", "x":3, "y":1, "matrix": [2, 3]}, + {"label":"4", "x":4, "y":1, "matrix": [2, 4]}, + {"label":"5", "x":5, "y":1, "matrix": [2, 5]}, + {"label":"6", "x":6, "y":1, "matrix": [2, 6]}, + {"label":"7", "x":7, "y":1, "matrix": [2, 7]}, + {"label":"8", "x":8, "y":1, "matrix": [3, 7]}, + {"label":"9", "x":9, "y":1, "matrix": [3, 6]}, + {"label":"0", "x":10, "y":1, "matrix": [3, 5]}, + {"label":"-", "x":11, "y":1, "matrix": [3, 4]}, + {"label":"=", "x":12, "y":1, "matrix": [3, 3]}, + {"label":"Backspace", "x":13, "y":1, "matrix": [3, 2], "w":2}, + {"label":"Home", "x":15, "y":1, "matrix": [3, 1]}, + {"label":"End", "x":16, "y":1, "matrix": [3, 0]}, + + {"label":"Tab", "x":0, "y":2, "w":1.5, "matrix": [4, 0]}, + {"label":"Q", "x":1.5, "y":2, "matrix": [4, 1]}, + {"label":"W", "x":2.5, "y":2, "matrix": [4, 2]}, + {"label":"E", "x":3.5, "y":2, "matrix": [4, 3]}, + {"label":"R", "x":4.5, "y":2, "matrix": [4, 4]}, + {"label":"T", "x":5.5, "y":2, "matrix": [4, 5]}, + {"label":"Y", "x":6.5, "y":2, "matrix": [4, 6]}, + {"label":"U", "x":7.5, "y":2, "matrix": [4, 7]}, + {"label":"I", "x":8.5, "y":2, "matrix": [5, 7]}, + {"label":"O", "x":9.5, "y":2, "matrix": [5, 6]}, + {"label":"P", "x":10.5, "y":2, "matrix": [5, 5]}, + {"label":"[", "x":11.5, "y":2, "matrix": [5, 4]}, + {"label":"]", "x":12.5, "y":2, "matrix": [5, 3]}, + {"label":"|", "x":13.75, "y":2, "w":1.25, "matrix": [5, 2]}, + {"label":"Insert", "x":15, "y":2, "matrix": [5, 1]}, + {"label":"PgUp", "x":15, "y":2, "matrix": [5, 0]}, + + {"label":"Shift Lock", "x":0, "y":3, "w":1.75, "matrix": [6, 0]}, + {"label":"A", "x":1.75, "y":3, "matrix": [6, 1]}, + {"label":"S", "x":2.75, "y":3, "matrix": [6, 2]}, + {"label":"D", "x":3.75, "y":3, "matrix": [6, 3]}, + {"label":"F", "x":4.75, "y":3, "matrix": [6, 4]}, + {"label":"G", "x":5.75, "y":3, "matrix": [6, 5]}, + {"label":"H", "x":6.75, "y":3, "matrix": [6, 6]}, + {"label":"J", "x":7.75, "y":3, "matrix": [6, 7]}, + {"label":"K", "x":8.75, "y":3, "matrix": [7, 7]}, + {"label":"L", "x":9.75, "y":3, "matrix": [7, 6]}, + {"label":";", "x":10.75, "y":3, "matrix": [7, 5]}, + {"label":"\u00a8", "x":11.75, "y":3, "matrix": [7, 4]}, + {"label":"Return", "x":12.75, "y":3, "w":2.25, "matrix": [7, 3]}, + {"label":"Del", "x":15, "y":3, "matrix": [7, 1]}, + {"label":"PgDow", "x":16, "y":3, "matrix": [7, 0]}, + + {"label":"Shift", "x":0, "y":4, "w":2.25, "matrix": [8, 0]}, + {"label":"Z", "x":2.25, "y":4, "matrix": [8, 2]}, + {"label":"X", "x":3.25, "y":4, "matrix": [8, 3]}, + {"label":"C", "x":4.25, "y":4, "matrix": [8, 4]}, + {"label":"V", "x":5.25, "y":4, "matrix": [8, 5]}, + {"label":"B", "x":6.25, "y":4, "matrix": [8, 6]}, + {"label":"N", "x":7.25, "y":4, "matrix": [8, 7]}, + {"label":"M", "x":8.25, "y":4, "matrix": [9, 7]}, + {"label":";", "x":9.25, "y":4, "matrix": [9, 6]}, + {"label":":", "x":10.25, "y":4, "matrix": [9, 5]}, + {"label":"_", "x":11.25, "y":4, "matrix": [9, 4]}, + {"label":"Shift", "x":12.25, "y":4, "w":2.75, "matrix": [9, 3]}, + {"label":"Up", "x":15, "y":4, "matrix": [9, 1]}, + {"label":"Fn", "x":16, "y":4, "matrix": [9, 0]}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25, "matrix": [10, 0]}, + {"label":"Mod", "x":1.25, "y":5, "w":1.25, "matrix": [10, 1]}, + {"label":"Alt", "x":2.25, "y":5, "w":1.25, "matrix": [10, 2]}, + {"label":"Space", "x":3.5, "y":5, "w":6.5, "matrix": [10, 6]}, + {"label":"AltGr", "x":10, "y":5, "w":1.25, "matrix": [11, 5]}, + {"label":"Menu", "x":11, "y":5, "w":1.25, "matrix": [11, 4]}, + {"label":"Ctrl", "x":12, "y":5, "w":1.25, "matrix": [11, 3]}, + {"label":"Left", "x":13, "y":5, "matrix": [11, 2]}, + {"label":"Bottom", "x":14, "y":5, "matrix": [11, 1]}, + {"label":"Right", "x":15, "y":5, "matrix": [11, 0]} + ] + },"LAYOUT_hybrid": { + "layout": [ + {"label":"esc", "x":0, "y":0, "matrix": [0, 0]}, + {"label":"F1", "x":1, "y":0, "matrix": [0, 1]}, + {"label":"F2", "x":2, "y":0, "matrix": [0, 2]}, + {"label":"F3", "x":3, "y":0, "matrix": [0, 3]}, + {"label":"F4", "x":4, "y":0, "matrix": [0, 4]}, + {"label":"F5", "x":5, "y":0, "matrix": [0, 5]}, + {"label":"F6", "x":6, "y":0, "matrix": [0, 6]}, + {"label":"F7", "x":7, "y":0, "matrix": [0, 7]}, + {"label":"F8", "x":8, "y":0, "matrix": [1, 7]}, + {"label":"F9", "x":9, "y":0, "matrix": [1, 6]}, + {"label":"F10", "x":10, "y":0, "matrix": [1, 5]}, + {"label":"F11", "x":11, "y":0, "matrix": [1, 4]}, + {"label":"F12", "x":12, "y":0, "matrix": [1, 3]}, + {"label":"PrtScr", "x":13, "y":0, "matrix": [1, 2]}, + {"label":"ScrollLock", "x":14, "y":0, "matrix": [1, 1]}, + {"label":"Pause", "x":15, "y":0, "matrix": [1, 0]}, + + {"label":"º", "x":0, "y":1, "matrix": [2, 0]}, + {"label":"1", "x":1, "y":1, "matrix": [2, 1]}, + {"label":"2", "x":2, "y":1, "matrix": [2, 2]}, + {"label":"3", "x":3, "y":1, "matrix": [2, 3]}, + {"label":"4", "x":4, "y":1, "matrix": [2, 4]}, + {"label":"5", "x":5, "y":1, "matrix": [2, 5]}, + {"label":"6", "x":6, "y":1, "matrix": [2, 6]}, + {"label":"7", "x":7, "y":1, "matrix": [2, 7]}, + {"label":"8", "x":8, "y":1, "matrix": [3, 7]}, + {"label":"9", "x":9, "y":1, "matrix": [3, 6]}, + {"label":"0", "x":10, "y":1, "matrix": [3, 5]}, + {"label":"-", "x":11, "y":1, "matrix": [3, 4]}, + {"label":"=", "x":12, "y":1, "matrix": [3, 3]}, + {"label":"Backspace", "x":13, "y":1, "matrix": [3, 2], "w":2}, + {"label":"Home", "x":15, "y":1, "matrix": [3, 1]}, + {"label":"End", "x":16, "y":1, "matrix": [3, 0]}, + + {"label":"Tab", "x":0, "y":2, "w":1.5, "matrix": [4, 0]}, + {"label":"Q", "x":1.5, "y":2, "matrix": [4, 1]}, + {"label":"W", "x":2.5, "y":2, "matrix": [4, 2]}, + {"label":"E", "x":3.5, "y":2, "matrix": [4, 3]}, + {"label":"R", "x":4.5, "y":2, "matrix": [4, 4]}, + {"label":"T", "x":5.5, "y":2, "matrix": [4, 5]}, + {"label":"Y", "x":6.5, "y":2, "matrix": [4, 6]}, + {"label":"U", "x":7.5, "y":2, "matrix": [4, 7]}, + {"label":"I", "x":8.5, "y":2, "matrix": [5, 7]}, + {"label":"O", "x":9.5, "y":2, "matrix": [5, 6]}, + {"label":"P", "x":10.5, "y":2, "matrix": [5, 5]}, + {"label":"[", "x":11.5, "y":2, "matrix": [5, 4]}, + {"label":"]", "x":12.5, "y":2, "matrix": [5, 3]}, + {"label":"|", "x":13.75, "y":2, "w":1.25, "matrix": [5, 2]}, + {"label":"Insert", "x":15, "y":2, "matrix": [5, 1]}, + {"label":"PgUp", "x":15, "y":2, "matrix": [5, 0]}, + + {"label":"Shift Lock", "x":0, "y":3, "w":1.75, "matrix": [6, 0]}, + {"label":"A", "x":1.75, "y":3, "matrix": [6, 1]}, + {"label":"S", "x":2.75, "y":3, "matrix": [6, 2]}, + {"label":"D", "x":3.75, "y":3, "matrix": [6, 3]}, + {"label":"F", "x":4.75, "y":3, "matrix": [6, 4]}, + {"label":"G", "x":5.75, "y":3, "matrix": [6, 5]}, + {"label":"H", "x":6.75, "y":3, "matrix": [6, 6]}, + {"label":"J", "x":7.75, "y":3, "matrix": [6, 7]}, + {"label":"K", "x":8.75, "y":3, "matrix": [7, 7]}, + {"label":"L", "x":9.75, "y":3, "matrix": [7, 6]}, + {"label":";", "x":10.75, "y":3, "matrix": [7, 5]}, + {"label":"\u00a8", "x":11.75, "y":3, "matrix": [7, 4]}, + {"label":"Return", "x":12.75, "y":3, "w":2.25, "matrix": [7, 3]}, + {"label":"Del", "x":15, "y":3, "matrix": [7, 1]}, + {"label":"PgDow", "x":16, "y":3, "matrix": [7, 0]}, + + {"label":"Shift", "x":0, "y":4, "w":1.25, "matrix": [8, 0]}, + {"label":">", "x":1.25, "y":4, "matrix": [8, 1]}, + {"label":"Z", "x":2.25, "y":4, "matrix": [8, 2]}, + {"label":"X", "x":3.25, "y":4, "matrix": [8, 3]}, + {"label":"C", "x":4.25, "y":4, "matrix": [8, 4]}, + {"label":"V", "x":5.25, "y":4, "matrix": [8, 5]}, + {"label":"B", "x":6.25, "y":4, "matrix": [8, 6]}, + {"label":"N", "x":7.25, "y":4, "matrix": [8, 7]}, + {"label":"M", "x":8.25, "y":4, "matrix": [9, 7]}, + {"label":";", "x":9.25, "y":4, "matrix": [9, 6]}, + {"label":":", "x":10.25, "y":4, "matrix": [9, 5]}, + {"label":"_", "x":11.25, "y":4, "matrix": [9, 4]}, + {"label":"Shift", "x":12.25, "y":4, "w":2.75, "matrix": [9, 3]}, + {"label":"Up", "x":15, "y":4, "matrix": [9, 1]}, + {"label":"Fn", "x":16, "y":4, "matrix": [9, 0]}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25, "matrix": [10, 0]}, + {"label":"Mod", "x":1.25, "y":5, "w":1.25, "matrix": [10, 1]}, + {"label":"Alt", "x":2.25, "y":5, "w":1.25, "matrix": [10, 2]}, + {"label":"Space", "x":3.5, "y":5, "w":6.5, "matrix": [10, 6]}, + {"label":"AltGr", "x":10, "y":5, "w":1.25, "matrix": [11, 5]}, + {"label":"Menu", "x":11, "y":5, "w":1.25, "matrix": [11, 4]}, + {"label":"Ctrl", "x":12, "y":5, "w":1.25, "matrix": [11, 3]}, + {"label":"Left", "x":13, "y":5, "matrix": [11, 2]}, + {"label":"Bottom", "x":14, "y":5, "matrix": [11, 1]}, + {"label":"Right", "x":15, "y":5, "matrix": [11, 0]} + ] + } + } +} diff --git a/keyboards/rastersoft/minitkl/keymaps/ansi/keymap.c b/keyboards/rastersoft/minitkl/keymaps/ansi/keymap.c new file mode 100644 index 00000000000..fce96e6a05e --- /dev/null +++ b/keyboards/rastersoft/minitkl/keymaps/ansi/keymap.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 Raster Software Vigo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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( + 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_HOME, 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_INS, 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_DEL, 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, LT(1, KC_APP), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_ansi( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, RGB_TOG, RGB_MODE_FORWARD, RGB_MODE_REVERSE, 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, KC_MUTE, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLD, KC_VOLU + ), +}; diff --git a/keyboards/rastersoft/minitkl/keymaps/ansi/readme.md b/keyboards/rastersoft/minitkl/keymaps/ansi/readme.md new file mode 100644 index 00000000000..7b3324b99c5 --- /dev/null +++ b/keyboards/rastersoft/minitkl/keymaps/ansi/readme.md @@ -0,0 +1,5 @@ +# The ANSI keymap for MiniTKL + +![keymap](https://images2.imgbox.com/2e/e5/vj7f99XL_o.png) + +The `Fn` key trigger `KC_APP` when tapped, and activate Layer 1 when held. diff --git a/keyboards/rastersoft/minitkl/keymaps/default/keymap.c b/keyboards/rastersoft/minitkl/keymaps/default/keymap.c new file mode 100644 index 00000000000..12d9548433a --- /dev/null +++ b/keyboards/rastersoft/minitkl/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 Raster Software Vigo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_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_HOME, 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_INS, 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_DEL, 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, LT(1, KC_APP), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_iso( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, RGB_TOG, RGB_MODE_FORWARD, RGB_MODE_REVERSE, 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, KC_MUTE, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLD, KC_VOLU + ), +}; diff --git a/keyboards/rastersoft/minitkl/keymaps/default/readme.md b/keyboards/rastersoft/minitkl/keymaps/default/readme.md new file mode 100644 index 00000000000..6962acb70b4 --- /dev/null +++ b/keyboards/rastersoft/minitkl/keymaps/default/readme.md @@ -0,0 +1,5 @@ +# The default keymap for MiniTKL + +![keymap](https://images2.imgbox.com/53/28/YxGS3GJT_o.png) + +The `Fn` key trigger `KC_APP` when tapped, and activate Layer 1 when held. diff --git a/keyboards/rastersoft/minitkl/keymaps/hybrid/keymap.c b/keyboards/rastersoft/minitkl/keymaps/hybrid/keymap.c new file mode 100644 index 00000000000..a65df705739 --- /dev/null +++ b/keyboards/rastersoft/minitkl/keymaps/hybrid/keymap.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 Raster Software Vigo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_hybrid( + 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_HOME, 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_NUHS, KC_INS, 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_DEL, 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, LT(1, KC_APP), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_hybrid( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, RGB_TOG, RGB_MODE_FORWARD, RGB_MODE_REVERSE, 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, KC_MUTE, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLD, KC_VOLU + ), +}; diff --git a/keyboards/rastersoft/minitkl/keymaps/hybrid/readme.md b/keyboards/rastersoft/minitkl/keymaps/hybrid/readme.md new file mode 100644 index 00000000000..121f6277f2c --- /dev/null +++ b/keyboards/rastersoft/minitkl/keymaps/hybrid/readme.md @@ -0,0 +1,11 @@ +# The HYBRID keymap for MiniTKL + +![keymap](https://images2.imgbox.com/00/22/vjrqgfHy_o.png) + +This keymap is designed to be able to have an ISO keyboard with the ANSI Return +key. This is useful in, at least, two cases: + +* some programmers prefer the ANSI key, but want to use European languages. +* some keycaps come without ISO return key, even for European languages layouts. + +The `Fn` key trigger `KC_APP` when tapped, and activate Layer 1 when held. diff --git a/keyboards/rastersoft/minitkl/minitkl.c b/keyboards/rastersoft/minitkl/minitkl.c new file mode 100644 index 00000000000..3d5135b332f --- /dev/null +++ b/keyboards/rastersoft/minitkl/minitkl.c @@ -0,0 +1,54 @@ +/* + * Copyright 2023 Raster Software Vigo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public 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" + + +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 3, 85,255,192} // not-so-bright HSV_GREEN for CAPS LOCK +); +const rgblight_segment_t PROGMEM my_scroll_lock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 3, HSV_RED} // HSV_RED for SCROLL LOCK +); +const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 3, HSV_ORANGE} // HSV_ORANGE for Fn key pressed +); + +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_capslock_layer, + my_scroll_lock_layer, + my_fn_layer +); + +void keyboard_post_init_kb(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; + keyboard_post_init_user(); +} + +bool led_update_kb(led_t led_state) { + if (led_update_user(led_state)) { + rgblight_set_layer_state(0, led_state.caps_lock); // all LEDs green in caps lock + rgblight_set_layer_state(1, led_state.scroll_lock); // all LEDs red in scroll lock + } + return true; +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + rgblight_set_layer_state(2, layer_state_cmp(state, 1)); // all LEDs orange if FN is pressed + return layer_state_set_user(state); +} diff --git a/keyboards/rastersoft/minitkl/readme.md b/keyboards/rastersoft/minitkl/readme.md new file mode 100644 index 00000000000..e2f75d39890 --- /dev/null +++ b/keyboards/rastersoft/minitkl/readme.md @@ -0,0 +1,31 @@ +# MiniTKL + +![MiniTKL](https://images2.imgbox.com/53/28/YxGS3GJT_o.png) + +A compact TenKeyLess keyboard. + +* Keyboard maintainer: [Sergio Costas](https://github.com/rastersoft) +* Hardware supported: ISO version. ANSI will be added in a future. +* Hardware Availability: it's a build-yourself keyboard. + +Make example for this keyboard (after setting up your build environment): + + make rastersoft/minitkl:default + +Flashing example for this keyboard: + + make rastersoft/minitkl:default:flash + +![PCB](https://images2.imgbox.com/84/b3/GnPfMO94_o.png) + +![Result](https://images2.imgbox.com/78/90/rM5iLSdx_o.jpg) + +The default layout is ISO. Replace 'default' with 'ansi' for ANSI layout, or 'hybrid' for the ANSI/ISO hybrid layout. + +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 + +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead + +More info: [gitlab.com/rastersoft/full-ten-keyless](https://gitlab.com/rastersoft/full-ten-keyless) diff --git a/keyboards/rastersoft/minitkl/rules.mk b/keyboards/rastersoft/minitkl/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/rastersoft/minitkl/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/rate/pistachio/rev1/config.h b/keyboards/rate/pistachio/rev1/config.h index e74350e8e59..cad548df8e6 100644 --- a/keyboards/rate/pistachio/rev1/config.h +++ b/keyboards/rate/pistachio/rev1/config.h @@ -19,12 +19,7 @@ along with this program. If not, see . #define USE_I2C -/* ws2812 RGB LED */ -#define RGBLIGHT_SPLIT -#define RGBLED_NUM 2 #define RGBLIGHT_LAYERS -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 400 diff --git a/keyboards/rate/pistachio/rev1/info.json b/keyboards/rate/pistachio/rev1/info.json index 60b907c809b..2bec0c52af2 100644 --- a/keyboards/rate/pistachio/rev1/info.json +++ b/keyboards/rate/pistachio/rev1/info.json @@ -1,5 +1,7 @@ { "rgblight": { + "hue_steps": 10, + "led_count": 2, "split_count": [1, 1] }, "ws2812": { diff --git a/keyboards/rate/pistachio/rev2/config.h b/keyboards/rate/pistachio/rev2/config.h index adec2ec66a2..8b5dcbc9f49 100644 --- a/keyboards/rate/pistachio/rev2/config.h +++ b/keyboards/rate/pistachio/rev2/config.h @@ -22,12 +22,7 @@ along with this program. If not, see . /* Split hand configration */ #define SPLIT_HAND_MATRIX_GRID D4,D3 -/* ws2812 RGB LED */ -#define RGBLIGHT_SPLIT -#define RGBLED_NUM 84 #define RGBLIGHT_LAYERS -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 400 diff --git a/keyboards/rate/pistachio/rev2/info.json b/keyboards/rate/pistachio/rev2/info.json index cf2c1db741b..9f0c169b873 100644 --- a/keyboards/rate/pistachio/rev2/info.json +++ b/keyboards/rate/pistachio/rev2/info.json @@ -3,6 +3,8 @@ "pin": "D2" }, "rgblight": { + "hue_steps": 10, + "led_count": 84, "max_brightness": 195, "split_count": [38, 46] }, diff --git a/keyboards/rate/pistachio_mp/config.h b/keyboards/rate/pistachio_mp/config.h index 25aac817da7..eaa46500a1f 100644 --- a/keyboards/rate/pistachio_mp/config.h +++ b/keyboards/rate/pistachio_mp/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 3 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 400 #else diff --git a/keyboards/rate/pistachio_mp/info.json b/keyboards/rate/pistachio_mp/info.json index 07943e5ca32..a37b55b6aba 100644 --- a/keyboards/rate/pistachio_mp/info.json +++ b/keyboards/rate/pistachio_mp/info.json @@ -9,6 +9,10 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "hue_steps": 10, + "led_count": 3 + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/rate/pistachio_mp/keymaps/default/keymap.c b/keyboards/rate/pistachio_mp/keymaps/default/keymap.c index 86f88d91439..e73abd09eb8 100644 --- a/keyboards/rate/pistachio_mp/keymaps/default/keymap.c +++ b/keyboards/rate/pistachio_mp/keymaps/default/keymap.c @@ -41,16 +41,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO ) }; -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - // Volume control - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return true; -} -#endif diff --git a/keyboards/rate/pistachio_mp/keymaps/via/keymap.c b/keyboards/rate/pistachio_mp/keymaps/via/keymap.c index f459a769702..5e4dc36887f 100644 --- a/keyboards/rate/pistachio_mp/keymaps/via/keymap.c +++ b/keyboards/rate/pistachio_mp/keymaps/via/keymap.c @@ -23,29 +23,10 @@ enum layer_names { _RESERVE_1 }; -static uint8_t encoder_state = 0; -static const keypos_t ENC_CW = {.row = 3, .col = 3}; -static const keypos_t ENC_CCW = {.row = 4, .col = 1}; - -#define LAYOUT_via( \ - ECW,ECCW, K07, \ - K00, K01, K02, K03, \ - K04, K05, K06, \ - K08, K09, K10, K11, \ - K12, K13, K14, \ - K15, K16, K17 ) { \ - { K00, K01, K02, K03 }, \ - { K04, K05, K06, K07 }, \ - { K08, K09, K10, K11 }, \ - { K12, K13, K14, ECCW }, \ - { K15, ECW, K16, K17 }, \ -} - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT_via( - KC_VOLU,KC_VOLD,KC_MPLY, + [_BASE] = LAYOUT( + KC_MPLY, LT(_FN, KC_NUM), KC_PSLS, KC_PAST, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_P4, KC_P5, KC_P6, KC_PPLS, @@ -53,8 +34,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_PDOT, KC_PENT ), /* Fn */ - [_FN] = LAYOUT_via( - KC_VOLU,KC_VOLD,KC_NO, + [_FN] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, @@ -62,8 +43,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO ), /* Reserve */ - [_RESERVE_0] = LAYOUT_via( - KC_VOLU,KC_VOLD,KC_TRNS, + [_RESERVE_0] = 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, @@ -71,8 +52,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS ), /* Reserve */ - [_RESERVE_1] = LAYOUT_via( - KC_VOLU,KC_VOLD,KC_TRNS, + [_RESERVE_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, @@ -81,43 +62,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -#ifdef ENCODER_ENABLE -void encoder_action_unregister(void) { - if (encoder_state) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state >> 1 ? ENC_CW : ENC_CCW, - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state = 0; - action_exec(encoder_event); - } - return; -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? ENC_CW : ENC_CCW, - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); - return; -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); - return; -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - // don't return user actions, because they are in the keymap - // encoder_update_user(index, clockwise); - return true; +#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 diff --git a/keyboards/rate/pistachio_mp/keymaps/via/rules.mk b/keyboards/rate/pistachio_mp/keymaps/via/rules.mk index 036bd6d1c3e..f1adcab005e 100644 --- a/keyboards/rate/pistachio_mp/keymaps/via/rules.mk +++ b/keyboards/rate/pistachio_mp/keymaps/via/rules.mk @@ -1 +1,2 @@ -VIA_ENABLE = yes \ No newline at end of file +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rate/pistachio_pro/keymaps/default/keymap.c b/keyboards/rate/pistachio_pro/keymaps/default/keymap.c index 5a543ef11cc..a757bcce326 100644 --- a/keyboards/rate/pistachio_pro/keymaps/default/keymap.c +++ b/keyboards/rate/pistachio_pro/keymaps/default/keymap.c @@ -91,20 +91,6 @@ bool oled_task_user(void) { return false; } -/* Encoder */ -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - // Volume control - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - - return true; -} - /* Keyboard */ void keyboard_post_init_user(void) { bme280_init(); diff --git a/keyboards/rate/pistachio_pro/keymaps/via/keymap.c b/keyboards/rate/pistachio_pro/keymaps/via/keymap.c index b5b8e3c4404..30156f08980 100644 --- a/keyboards/rate/pistachio_pro/keymaps/via/keymap.c +++ b/keyboards/rate/pistachio_pro/keymaps/via/keymap.c @@ -26,54 +26,34 @@ enum layer_names { _RESERVE_1 }; -static uint8_t encoder_state = 0; -static const keypos_t ENC_CW = {.row = 0, .col = 14 }; -static const keypos_t ENC_CCW = {.row = 0, .col = 15 }; - -#define LAYOUT_via( \ - k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, ENC_CW, ENC_CCW, k013, \ - k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, k117, \ - k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, \ - k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, \ - k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k413, \ - k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k510, k511, k512, k513 ) { \ - { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, ENC_CW, ENC_CCW, KC_NO, KC_NO }, \ - { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, k117 }, \ - { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, KC_NO, KC_NO }, \ - { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k413, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k510, k511, k512, k513, KC_NO, KC_NO, KC_NO, KC_NO } \ -} - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT_via( - 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_VOLU,KC_VOLD,KC_MPLY, + [_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, JP_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_CIRC, 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, JP_AT, JP_LBRC, KC_DEL, KC_END, KC_PGDN, JP_EISU, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_SCLN, JP_COLN, JP_RBRC, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, KC_SPC, LT(_FN, JP_HENK), JP_KANA, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_FN] = LAYOUT_via( - KC_TRNS, KC_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_MPLY, + [_FN] = 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_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, JP_DOT, JP_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_RESERVE_0] = LAYOUT_via( - KC_TRNS, KC_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_MPLY, + [_RESERVE_0] = 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_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_RESERVE_1] = LAYOUT_via( - KC_TRNS, KC_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_MPLY, + [_RESERVE_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_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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -129,40 +109,6 @@ bool oled_task_user(void) { return false; } -/* Encoder */ -void encoder_action_unregister(void) { - if (encoder_state) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state >> 1 ? ENC_CW : ENC_CCW, - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state = 0; - action_exec(encoder_event); - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? ENC_CW : ENC_CCW, - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_user(void) { - encoder_action_unregister(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return false; -} - /* Keyboard */ void keyboard_post_init_user(void) { bme280_init(); @@ -179,3 +125,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } + +#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 diff --git a/keyboards/rate/pistachio_pro/keymaps/via/rules.mk b/keyboards/rate/pistachio_pro/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/rate/pistachio_pro/keymaps/via/rules.mk +++ b/keyboards/rate/pistachio_pro/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/config.h b/keyboards/rationalist/ratio65_hotswap/rev_a/config.h index 17ec1a2babc..27246c865e8 100644 --- a/keyboards/rationalist/ratio65_hotswap/rev_a/config.h +++ b/keyboards/rationalist/ratio65_hotswap/rev_a/config.h @@ -16,11 +16,6 @@ along with this program. If not, see . */ #pragma once -#define RGBLED_NUM 18 - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/info.json b/keyboards/rationalist/ratio65_hotswap/rev_a/info.json index c9fb81dad88..78d2f9fe455 100644 --- a/keyboards/rationalist/ratio65_hotswap/rev_a/info.json +++ b/keyboards/rationalist/ratio65_hotswap/rev_a/info.json @@ -8,6 +8,11 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/rationalist/ratio65_solder/rev_a/config.h b/keyboards/rationalist/ratio65_solder/rev_a/config.h index c3f781ab7c5..c58b9bd78a6 100644 --- a/keyboards/rationalist/ratio65_solder/rev_a/config.h +++ b/keyboards/rationalist/ratio65_solder/rev_a/config.h @@ -16,11 +16,6 @@ along with this program. If not, see . */ #pragma once -#define RGBLED_NUM 18 - -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rationalist/ratio65_solder/rev_a/info.json b/keyboards/rationalist/ratio65_solder/rev_a/info.json index a35fb509720..4d44cd03045 100644 --- a/keyboards/rationalist/ratio65_solder/rev_a/info.json +++ b/keyboards/rationalist/ratio65_solder/rev_a/info.json @@ -8,6 +8,11 @@ "pid": "0x0002", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/recompile_keys/mio/config.h b/keyboards/recompile_keys/mio/config.h index 2a9f3d4187c..3dae0066a33 100644 --- a/keyboards/recompile_keys/mio/config.h +++ b/keyboards/recompile_keys/mio/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 8 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/recompile_keys/mio/info.json b/keyboards/recompile_keys/mio/info.json index 450cf1c3b0b..fa801b4c112 100644 --- a/keyboards/recompile_keys/mio/info.json +++ b/keyboards/recompile_keys/mio/info.json @@ -8,6 +8,12 @@ "pid": "0x4D41", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/rect44/config.h b/keyboards/rect44/config.h index 6fb0d430fbc..4697a6ecd93 100644 --- a/keyboards/rect44/config.h +++ b/keyboards/rect44/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 12 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rect44/info.json b/keyboards/rect44/info.json index bf985f6202f..efa82165ac5 100644 --- a/keyboards/rect44/info.json +++ b/keyboards/rect44/info.json @@ -8,6 +8,9 @@ "pid": "0x4DD7", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/redox/rev1/config.h b/keyboards/redox/rev1/config.h index 5b44f7541f0..fdda27552df 100644 --- a/keyboards/redox/rev1/config.h +++ b/keyboards/redox/rev1/config.h @@ -22,10 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 14 // Number of LEDs - -#define RGBLIGHT_SPLIT // sync LEDs between RIGHT and LEFT hand - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/redox/rev1/info.json b/keyboards/redox/rev1/info.json index 908404466a9..c0c5ce6e1a6 100644 --- a/keyboards/redox/rev1/info.json +++ b/keyboards/redox/rev1/info.json @@ -8,6 +8,10 @@ "pid": "0x5244", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 14, + "split": true + }, "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/retro_75/config.h b/keyboards/retro_75/config.h index a5d547936b2..3091e911269 100644 --- a/keyboards/retro_75/config.h +++ b/keyboards/retro_75/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 18 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/retro_75/info.json b/keyboards/retro_75/info.json index 1b15ca5e805..f9ec25d6717 100644 --- a/keyboards/retro_75/info.json +++ b/keyboards/retro_75/info.json @@ -8,6 +8,9 @@ "pid": "0x5275", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "pin": "A9" }, diff --git a/keyboards/reversestudio/decadepad/config.h b/keyboards/reversestudio/decadepad/config.h index a730f35d8c6..7eaf08234ae 100644 --- a/keyboards/reversestudio/decadepad/config.h +++ b/keyboards/reversestudio/decadepad/config.h @@ -33,10 +33,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/reversestudio/decadepad/info.json b/keyboards/reversestudio/decadepad/info.json index 3b56eb8c536..6ab28acbba1 100644 --- a/keyboards/reversestudio/decadepad/info.json +++ b/keyboards/reversestudio/decadepad/info.json @@ -8,6 +8,11 @@ "pid": "0x4450", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/reviung/reviung33/config.h b/keyboards/reviung/reviung33/config.h index 269d01a9ee8..f3f04b11f14 100644 --- a/keyboards/reviung/reviung33/config.h +++ b/keyboards/reviung/reviung33/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 5 -# define RGBLIGHT_HUE_STEP 16 -# define RGBLIGHT_SAT_STEP 16 -# define RGBLIGHT_VAL_STEP 16 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/reviung/reviung33/info.json b/keyboards/reviung/reviung33/info.json index d5dfa7061a1..86ebb7e08e3 100644 --- a/keyboards/reviung/reviung33/info.json +++ b/keyboards/reviung/reviung33/info.json @@ -8,6 +8,13 @@ "pid": "0x516D", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 16, + "saturation_steps": 16, + "brightness_steps": 16, + "led_count": 5, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/reviung/reviung41/config.h b/keyboards/reviung/reviung41/config.h index 0269cf131b0..f3f04b11f14 100644 --- a/keyboards/reviung/reviung41/config.h +++ b/keyboards/reviung/reviung41/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 11 - #define RGBLIGHT_HUE_STEP 16 - #define RGBLIGHT_SAT_STEP 16 - #define RGBLIGHT_VAL_STEP 16 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/reviung/reviung41/info.json b/keyboards/reviung/reviung41/info.json index 6344a3e53e1..4a67a933854 100644 --- a/keyboards/reviung/reviung41/info.json +++ b/keyboards/reviung/reviung41/info.json @@ -8,6 +8,13 @@ "pid": "0xDCCB", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 16, + "saturation_steps": 16, + "brightness_steps": 16, + "led_count": 11, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/reviung/reviung5/config.h b/keyboards/reviung/reviung5/config.h index d955973b258..4a105e56c15 100644 --- a/keyboards/reviung/reviung5/config.h +++ b/keyboards/reviung/reviung5/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 4 -# define RGBLIGHT_HUE_STEP 16 -# define RGBLIGHT_SAT_STEP 16 -# define RGBLIGHT_VAL_STEP 16 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/reviung/reviung5/info.json b/keyboards/reviung/reviung5/info.json index 59ca122b113..d1c6c7caa5b 100644 --- a/keyboards/reviung/reviung5/info.json +++ b/keyboards/reviung/reviung5/info.json @@ -8,6 +8,13 @@ "pid": "0x4F0D", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 16, + "saturation_steps": 16, + "brightness_steps": 16, + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/reviung/reviung53/config.h b/keyboards/reviung/reviung53/config.h index 5d55e83d358..79ac2a59cc4 100644 --- a/keyboards/reviung/reviung53/config.h +++ b/keyboards/reviung/reviung53/config.h @@ -3,11 +3,6 @@ #pragma once -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 16 -#define RGBLIGHT_SAT_STEP 16 -#define RGBLIGHT_VAL_STEP 16 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/reviung/reviung53/info.json b/keyboards/reviung/reviung53/info.json index d79d31ae9ea..0742f9c221d 100644 --- a/keyboards/reviung/reviung53/info.json +++ b/keyboards/reviung/reviung53/info.json @@ -8,6 +8,13 @@ "pid": "0x4E09", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 16, + "saturation_steps": 16, + "brightness_steps": 16, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h index b5b7c0ce95c..55a1c7367cf 100644 --- a/keyboards/rgbkb/mun/config.h +++ b/keyboards/rgbkb/mun/config.h @@ -9,8 +9,6 @@ #pragma once -#define MATRIX_IO_DELAY 5 - #define BUSY_WAIT #define BUSY_WAIT_INSTRUCTIONS 35 // Increase if two rows are pressed at the same time. #define GPIO_INPUT_PIN_DELAY 10 @@ -49,7 +47,6 @@ #define SPLIT_TRANSACTION_IDS_KB TOUCH_ENCODER_SYNC, RGB_MENU_SYNC /* RGB LED Configuration */ -#define RGBLED_NUM 98 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -134,7 +131,6 @@ #define TOUCH_UPDATE_INTERVAL 33 #define OLED_UPDATE_INTERVAL 33 -#define TAP_CODE_DELAY 5 #define WEAR_LEVELING_BACKING_SIZE 4096 #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/rgbkb/mun/keymaps/default/keymap.c b/keyboards/rgbkb/mun/keymaps/default/keymap.c index a1b9dcfe460..aa8ba1eba0f 100644 --- a/keyboards/rgbkb/mun/keymaps/default/keymap.c +++ b/keyboards/rgbkb/mun/keymaps/default/keymap.c @@ -66,9 +66,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| * | Ctrl | Win | Alt | RGBTOG | Adjust | Space | Bksp | | Enter | Space | Left | Down | Up | Right | Ctrl | * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------' - * Encoder 1 Encoder 2 Encoder 3 Encoder 4 - * .-----------------------------------. .-----------------------------------. - * | VolUp | VolDn | VolUp | VolDn | | PgUp | PgDn | PgUp | PgDn | * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------| * | VolDn | VolUp | Next | Play | Prev | Touch Encoder Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI | * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------' @@ -80,7 +77,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_SENT, KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJUST, KC_SPC, KC_DEL, KC_ENT, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_RCTL, - KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_PGDN, KC_PGUP, KC_PGDN, KC_PGUP, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD ), @@ -91,7 +87,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -102,7 +97,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F4, KC_F8, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -113,7 +107,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TCH_TOG, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -124,7 +117,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, _______, RGB_RMOD,_______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -135,7 +127,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -146,7 +137,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -157,7 +147,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; @@ -251,3 +240,10 @@ bool oled_task_user(void) { oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } + +#ifdef 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_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [1 ... 7] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/rgbkb/mun/keymaps/default/rules.mk b/keyboards/rgbkb/mun/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/rgbkb/mun/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c b/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c index 8767edbb57c..4d62b95b963 100644 --- a/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c +++ b/keyboards/rgbkb/mun/keymaps/peott-fr/keymap.c @@ -42,40 +42,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------' */ [_BASE] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_EQL, 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_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_GRV, KC_EQL, 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_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_END, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, KC_MUTE, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, - KC_LCTL, KC_LGUI, KC_LALT, MO(3), DEL_FUNC, SPC_LHND, SPC_LHND, BSP_FUNC, BSP_FUNC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL, + SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, KC_MUTE, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, + KC_LCTL, KC_LGUI, KC_LALT, MO(3), DEL_FUNC, SPC_LHND, SPC_LHND, BSP_FUNC, BSP_FUNC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL, // Here we have the encoder setup. Encoder 0 clockwise, Encoder 0 counter-clockwise, Encoder 1 clockwise, Encoder 1 counter-clockwise , then right side - KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_PGDN, KC_PGUP, KC_PGDN, KC_PGUP, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD, RGB_TOG, RGB_MOD + KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD, RGB_TOG, RGB_MOD ), [_LHAND] = LAYOUT( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, - KC_TRNS, 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, + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, + KC_TRNS, 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_PGUP, KC_PGDN, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, - KC_LSFT, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_RSFT, + KC_LSFT, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_RSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, // Encoders. - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [_FUNC] = LAYOUT( - 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, 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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, 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, // Encoders. - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), // Placeholder layer! [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, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, // Encoders. - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ) -}; \ No newline at end of file +}; + +#ifdef 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_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/rgbkb/mun/keymaps/peott-fr/rules.mk b/keyboards/rgbkb/mun/keymaps/peott-fr/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/rgbkb/mun/keymaps/peott-fr/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rgbkb/mun/keymaps/via/keymap.c b/keyboards/rgbkb/mun/keymaps/via/keymap.c index a1b9dcfe460..aa8ba1eba0f 100644 --- a/keyboards/rgbkb/mun/keymaps/via/keymap.c +++ b/keyboards/rgbkb/mun/keymaps/via/keymap.c @@ -66,9 +66,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| * | Ctrl | Win | Alt | RGBTOG | Adjust | Space | Bksp | | Enter | Space | Left | Down | Up | Right | Ctrl | * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------' - * Encoder 1 Encoder 2 Encoder 3 Encoder 4 - * .-----------------------------------. .-----------------------------------. - * | VolUp | VolDn | VolUp | VolDn | | PgUp | PgDn | PgUp | PgDn | * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------| * | VolDn | VolUp | Next | Play | Prev | Touch Encoder Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI | * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------' @@ -80,7 +77,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_SENT, KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJUST, KC_SPC, KC_DEL, KC_ENT, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_RCTL, - KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_PGDN, KC_PGUP, KC_PGDN, KC_PGUP, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD ), @@ -91,7 +87,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -102,7 +97,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F4, KC_F8, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -113,7 +107,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TCH_TOG, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -124,7 +117,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME, _______, RGB_RMOD,_______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NUM, QWERTY, COLEMAK, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -135,7 +127,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -146,7 +137,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -157,7 +147,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; @@ -251,3 +240,10 @@ bool oled_task_user(void) { oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } + +#ifdef 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_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [1 ... 7] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/rgbkb/mun/keymaps/via/rules.mk b/keyboards/rgbkb/mun/keymaps/via/rules.mk index 40bded39919..74b4513b046 100644 --- a/keyboards/rgbkb/mun/keymaps/via/rules.mk +++ b/keyboards/rgbkb/mun/keymaps/via/rules.mk @@ -1 +1,2 @@ -VIA_ENABLE=yes \ No newline at end of file +VIA_ENABLE=yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c index 960cc9266da..eefb59e676a 100644 --- a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c +++ b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c @@ -46,9 +46,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| * | Ctrl- | Win | Alt | Del | Space | | ADJ | | FN | | Space | '" | Alt | App | Ctrl= | * '--------+--------+--------+--------|--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------' - * Encoder 1 Encoder 2 Encoder 3 Encoder 4 - * .-----------------------------------. .-----------------------------------. - * | VolUp | VolDn | VolUp | VolDn | | PgUp | PgDn | PgUp | PgDn | * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------| * | VolDn | VolUp | Next | Play | Prev | Touch Encoder Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI | * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------' @@ -60,7 +57,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, SC_LCPO, KC_LGUI, KC_LALT, KC_DEL, KC_SPC, KC_NO, ADJ, FN, KC_NO, KC_SPC, KC_QUOTE,KC_RALT, KC_APP, SC_RCPC, - KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, MENU_DN, MENU_UP, MENU_DN, MENU_UP, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD ), @@ -76,9 +72,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| * | | | | | | | | | | | Play | Prev | Next | VolUp | VolDn | * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------' - * Encoder 1 Encoder 2 Encoder 3 Encoder 4 - * .-----------------------------------. .-----------------------------------. - * | | | | | | | | | | * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------| * | | | | | | Touch Encoder Touch Encoder | | | | | | * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------' @@ -90,7 +83,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_RST, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -120,7 +112,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, EE_CLR, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_PDOT, KC_PENT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; @@ -247,3 +238,11 @@ bool oled_task_user(void) { oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } + +#ifdef 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(MENU_DN, MENU_UP), ENCODER_CCW_CW(MENU_DN, MENU_UP) }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk b/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk index a087f669da4..e6b71e56d17 100644 --- a/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk +++ b/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk @@ -1,3 +1,5 @@ MOUSEKEY_ENABLE = yes # using for mouse wheel up and down, more granular than page up/down -OPT_DEFS += -DRGB_UNLIMITED_POWER \ No newline at end of file +OPT_DEFS += -DRGB_UNLIMITED_POWER + +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rgbkb/mun/rev1/info.json b/keyboards/rgbkb/mun/rev1/info.json index 3bf22fa6562..e948f27a59e 100644 --- a/keyboards/rgbkb/mun/rev1/info.json +++ b/keyboards/rgbkb/mun/rev1/info.json @@ -9,6 +9,7 @@ "device_version": "0.0.1" }, "rgblight": { + "led_count": 98, "split_count": [49, 49] }, "ws2812": { @@ -20,7 +21,8 @@ }, "matrix_pins": { "cols": ["A0", "B11", "B0", "B10", "B12", "B2", "A8"], - "rows": ["A1", "A3", "B3", "A13", "B15", null, null] + "rows": ["A1", "A3", "B3", "A13", "B15", null, null], + "io_delay": 5 }, "diode_direction": "COL2ROW", "encoder": { @@ -29,6 +31,9 @@ {"pin_a": "B9", "pin_b": "A15"} ] }, + "qmk": { + "tap_keycode_delay": 5 + }, "split": { "soft_serial_pin": "A9" }, @@ -117,16 +122,6 @@ {"matrix": [11, 1], "x": 12.5, "y": 4}, {"matrix": [11, 0], "x": 13.5, "y": 4}, - {"matrix": [5, 0], "x": 0, "y": 5.5}, - {"matrix": [5, 1], "x": 1, "y": 5.5}, - {"matrix": [5, 2], "x": 2, "y": 5.5}, - {"matrix": [5, 3], "x": 3, "y": 5.5}, - - {"matrix": [12, 0], "x": 10.5, "y": 5.5}, - {"matrix": [12, 1], "x": 11.5, "y": 5.5}, - {"matrix": [12, 2], "x": 12.5, "y": 5.5}, - {"matrix": [12, 3], "x": 13.5, "y": 5.5}, - {"matrix": [6, 0], "x": 0, "y": 6.5}, {"matrix": [6, 1], "x": 1, "y": 6.5}, {"matrix": [6, 2], "x": 2, "y": 6.5}, diff --git a/keyboards/rgbkb/mun/rev1/rev1.c b/keyboards/rgbkb/mun/rev1/rev1.c index 564ce4dfb94..986916b4a98 100644 --- a/keyboards/rgbkb/mun/rev1/rev1.c +++ b/keyboards/rgbkb/mun/rev1/rev1.c @@ -12,25 +12,12 @@ #define NUMBER_OF_TOUCH_ENCODERS 2 #define TOUCH_ENCODER_OPTIONS TOUCH_SEGMENTS + 2 -#define NUMBER_OF_ENCODERS 4 -#define ENCODER_OPTIONS 2 - typedef struct PACKED { uint8_t r; uint8_t c; } encodermap_t; -// this maps encoders and then touch encoders to their respective electrical matrix entry -// mapping is row (y) then column (x) when looking at the electrical layout -const encodermap_t encoder_map[NUMBER_OF_ENCODERS][ENCODER_OPTIONS] = -{ - { { 5, 0 }, { 5, 1 } }, // Encoder 1 matrix entries - { { 5, 2 }, { 5, 3 } }, // Encoder 2 matrix entries - { { 12, 0 }, { 12, 1 } }, // Encoder 3 matrix entries - { { 12, 2 }, { 12, 3 } }, // Encoder 4 matrix entries -}; - -const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPTIONS] = +const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPTIONS] = { { { 6, 0 }, { 6, 1 }, { 6, 2 }, { 6, 3 }, { 6, 4 } }, // Touch Encoder 1 matrix entries { { 13, 0 }, { 13, 1 }, { 13, 2 }, { 13, 3 }, { 13, 4 } } // Touch Encoder 2 matrix entries @@ -44,24 +31,6 @@ static void process_encoder_matrix(encodermap_t pos) { action_exec(MAKE_KEYEVENT(pos.r, pos.c, false)); } -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) - return false; - - // Mapping clockwise (typically increase) to zero, and counter clockwise (decrease) to 1 - process_encoder_matrix(encoder_map[index][clockwise ? 0 : 1]); - return false; -} - -bool touch_encoder_update_kb(uint8_t index, bool clockwise) { - if (!touch_encoder_update_user(index, clockwise)) - return false; - - // Mapping clockwise (typically increase) to zero, and counter clockwise (decrease) to 1 - process_encoder_matrix(touch_encoder_map[index][clockwise ? 0 : 1]); - return false; -} - bool touch_encoder_tapped_kb(uint8_t index, uint8_t section) { if (!touch_encoder_tapped_user(index, section)) return false; diff --git a/keyboards/rgbkb/pan/config.h b/keyboards/rgbkb/pan/config.h index b89b6b4f658..242e397db48 100644 --- a/keyboards/rgbkb/pan/config.h +++ b/keyboards/rgbkb/pan/config.h @@ -16,7 +16,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 64 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -27,7 +26,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 64 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json index 5c3ed6f6101..1f408bd7135 100644 --- a/keyboards/rgbkb/pan/info.json +++ b/keyboards/rgbkb/pan/info.json @@ -12,6 +12,7 @@ "driver": "custom" }, "rgblight": { + "led_count": 64, "max_brightness": 120 }, "layouts": { diff --git a/keyboards/rgbkb/sol/config.h b/keyboards/rgbkb/sol/config.h index 5c327fd760d..a0a2202afa3 100644 --- a/keyboards/rgbkb/sol/config.h +++ b/keyboards/rgbkb/sol/config.h @@ -18,9 +18,6 @@ along with this program. If not, see . #pragma once - -#define TAPPING_TERM 150 - #define EE_HANDS #ifdef IOS_DEVICE_ENABLE diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c b/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c index c476f4c2df5..194ec4de2f0 100644 --- a/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c @@ -254,10 +254,10 @@ static void render_status(void) { } // Host Keyboard LED Status - uint8_t led_usb_state = host_keyboard_leds(); - oled_write_P(led_usb_state & (1<. /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 16 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/rgbkb/zen/rev1/info.json b/keyboards/rgbkb/zen/rev1/info.json index 940df081c96..81370b916dd 100644 --- a/keyboards/rgbkb/zen/rev1/info.json +++ b/keyboards/rgbkb/zen/rev1/info.json @@ -16,6 +16,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/rgbkb/zen/rev2/config.h b/keyboards/rgbkb/zen/rev2/config.h index 394fd1630bc..6f706c197ba 100644 --- a/keyboards/rgbkb/zen/rev2/config.h +++ b/keyboards/rgbkb/zen/rev2/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#define RGBLED_NUM 34 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rgbkb/zen/rev2/info.json b/keyboards/rgbkb/zen/rev2/info.json index eed39e56287..c2c4e52ec64 100644 --- a/keyboards/rgbkb/zen/rev2/info.json +++ b/keyboards/rgbkb/zen/rev2/info.json @@ -21,6 +21,9 @@ "split": { "soft_serial_pin": "D3" }, + "rgblight": { + "led_count": 34 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/rgbkb/zen/rev2/rev2.c b/keyboards/rgbkb/zen/rev2/rev2.c index 4c308264d67..c36a32c161b 100644 --- a/keyboards/rgbkb/zen/rev2/rev2.c +++ b/keyboards/rgbkb/zen/rev2/rev2.c @@ -40,11 +40,11 @@ void render_status(void) { oled_write_P(layer_name_user(get_highest_layer(layer_state)), false); // Host Keyboard LED Status - uint8_t led_usb_state = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); oled_set_cursor(0, oled_max_lines() - 4); // Line 13 - oled_write_P(led_usb_state & (1<. #pragma once -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rmi_kb/squishy65/info.json b/keyboards/rmi_kb/squishy65/info.json index 35aeac5706f..d94f8ef40ef 100644 --- a/keyboards/rmi_kb/squishy65/info.json +++ b/keyboards/rmi_kb/squishy65/info.json @@ -8,6 +8,9 @@ "pid": "0x10B5", "device_version": "0.6.5" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/rmi_kb/squishy65/rules.mk b/keyboards/rmi_kb/squishy65/rules.mk index 4eaa5819ac4..31f4f7acad0 100644 --- a/keyboards/rmi_kb/squishy65/rules.mk +++ b/keyboards/rmi_kb/squishy65/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/rmi_kb/squishyfrl/config.h b/keyboards/rmi_kb/squishyfrl/config.h index 1433de81063..bb7b14c3cd7 100644 --- a/keyboards/rmi_kb/squishyfrl/config.h +++ b/keyboards/rmi_kb/squishyfrl/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 16 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rmi_kb/squishyfrl/info.json b/keyboards/rmi_kb/squishyfrl/info.json index f6ab10f5d93..4ec0c9243d9 100644 --- a/keyboards/rmi_kb/squishyfrl/info.json +++ b/keyboards/rmi_kb/squishyfrl/info.json @@ -8,6 +8,9 @@ "pid": "0x4BE5", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "C15" }, diff --git a/keyboards/rmi_kb/squishyfrl/rules.mk b/keyboards/rmi_kb/squishyfrl/rules.mk index 5c31520ab48..d612de6c5f5 100644 --- a/keyboards/rmi_kb/squishyfrl/rules.mk +++ b/keyboards/rmi_kb/squishyfrl/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/rmi_kb/squishytkl/config.h b/keyboards/rmi_kb/squishytkl/config.h index 1433de81063..bb7b14c3cd7 100644 --- a/keyboards/rmi_kb/squishytkl/config.h +++ b/keyboards/rmi_kb/squishytkl/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 16 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rmi_kb/squishytkl/info.json b/keyboards/rmi_kb/squishytkl/info.json index b49d72c8293..f2ebdf503a4 100644 --- a/keyboards/rmi_kb/squishytkl/info.json +++ b/keyboards/rmi_kb/squishytkl/info.json @@ -8,6 +8,9 @@ "pid": "0x00B1", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "C15" }, @@ -457,10 +460,7 @@ {"matrix": [7, 23], "x": 15.25, "y": 5.75}, {"matrix": [7, 24], "x": 16.25, "y": 5.75}, - {"matrix": [7, 25], "x": 17.25, "y": 5.75}, - - {"matrix": [13, 0], "x": 18.5, "y": 0}, - {"matrix": [13, 1], "x": 18.5, "y": 1} + {"matrix": [7, 25], "x": 17.25, "y": 5.75} ] } } diff --git a/keyboards/rmi_kb/squishytkl/keymaps/via/keymap.c b/keyboards/rmi_kb/squishytkl/keymaps/via/keymap.c index 2c33b4869cf..ea11eadd080 100644 --- a/keyboards/rmi_kb/squishytkl/keymaps/via/keymap.c +++ b/keyboards/rmi_kb/squishytkl/keymaps/via/keymap.c @@ -22,46 +22,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_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_NO, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, - KC_VOLU, KC_VOLD - ), + KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) }; -keyevent_t encoder_ccw = { - .key = (keypos_t){.row = 13, .col = 0}, - .pressed = false, - .type = KEY_EVENT +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } }; - -keyevent_t encoder_cw = { - .key = (keypos_t){.row = 13, .col = 1}, - .pressed = false, - .type = KEY_EVENT -}; - -void matrix_scan_user(void) { - if (encoder_ccw.pressed) { - encoder_ccw.pressed = false; - encoder_ccw.time = timer_read(); - action_exec(encoder_ccw); - } - - if (encoder_cw.pressed) { - encoder_cw.pressed = false; - encoder_cw.time = timer_read(); - action_exec(encoder_cw); - } -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - encoder_cw.pressed = true; - encoder_cw.time = timer_read(); - action_exec(encoder_cw); - } else { - encoder_ccw.pressed = true; - encoder_ccw.time = timer_read(); - action_exec(encoder_ccw); - } - return true; -} +#endif diff --git a/keyboards/rmi_kb/squishytkl/keymaps/via/rules.mk b/keyboards/rmi_kb/squishytkl/keymaps/via/rules.mk index 1e5b99807cb..f1adcab005e 100644 --- a/keyboards/rmi_kb/squishytkl/keymaps/via/rules.mk +++ b/keyboards/rmi_kb/squishytkl/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rmi_kb/squishytkl/rules.mk b/keyboards/rmi_kb/squishytkl/rules.mk index ae292c0a5af..a84e51ab51c 100644 --- a/keyboards/rmi_kb/squishytkl/rules.mk +++ b/keyboards/rmi_kb/squishytkl/rules.mk @@ -11,6 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Enable rotary encoder fuctionality - -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE \ No newline at end of file diff --git a/keyboards/rmi_kb/tkl_ff/v2/config.h b/keyboards/rmi_kb/tkl_ff/v2/config.h index b5d023489af..6ada421d93d 100644 --- a/keyboards/rmi_kb/tkl_ff/v2/config.h +++ b/keyboards/rmi_kb/tkl_ff/v2/config.h @@ -19,11 +19,6 @@ #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF -# define RGBLED_NUM 26 -# define RGBLIGHT_HUE_STEP 32 -# define RGBLIGHT_SAT_STEP 32 -# define RGBLIGHT_VAL_STEP 32 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rmi_kb/tkl_ff/v2/info.json b/keyboards/rmi_kb/tkl_ff/v2/info.json index a7617b5f30e..01fdf2ec46c 100644 --- a/keyboards/rmi_kb/tkl_ff/v2/info.json +++ b/keyboards/rmi_kb/tkl_ff/v2/info.json @@ -2,6 +2,12 @@ "usb": { "pid": "0x10FF" }, + "rgblight": { + "hue_steps": 32, + "saturation_steps": 32, + "brightness_steps": 32, + "led_count": 26 + }, "ws2812": { "pin": "E2" } diff --git a/keyboards/rmi_kb/wete/v1/config.h b/keyboards/rmi_kb/wete/v1/config.h index c4d0637afe2..b45bf03be5e 100644 --- a/keyboards/rmi_kb/wete/v1/config.h +++ b/keyboards/rmi_kb/wete/v1/config.h @@ -21,7 +21,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PAL_MODE 1 -#define RGBLED_NUM 24 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rmi_kb/wete/v1/info.json b/keyboards/rmi_kb/wete/v1/info.json index c3ae142d319..df88e509b0c 100644 --- a/keyboards/rmi_kb/wete/v1/info.json +++ b/keyboards/rmi_kb/wete/v1/info.json @@ -18,6 +18,9 @@ "levels": 24, "breathing": true }, + "rgblight": { + "led_count": 24 + }, "ws2812": { "pin": "B4" }, diff --git a/keyboards/rmi_kb/wete/v1/rules.mk b/keyboards/rmi_kb/wete/v1/rules.mk index e81a5dd98ed..108db79ad0b 100644 --- a/keyboards/rmi_kb/wete/v1/rules.mk +++ b/keyboards/rmi_kb/wete/v1/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SLEEP_LED_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/rmi_kb/wete/v2/config.h b/keyboards/rmi_kb/wete/v2/config.h index 3c46afada59..bad6ef83ded 100644 --- a/keyboards/rmi_kb/wete/v2/config.h +++ b/keyboards/rmi_kb/wete/v2/config.h @@ -20,11 +20,6 @@ along with this program. If not, see . #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF -# define RGBLED_NUM 18 -# define RGBLIGHT_HUE_STEP 32 -# define RGBLIGHT_SAT_STEP 32 -# define RGBLIGHT_VAL_STEP 32 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/rmi_kb/wete/v2/info.json b/keyboards/rmi_kb/wete/v2/info.json index f1e87a6e287..364a61bf44c 100644 --- a/keyboards/rmi_kb/wete/v2/info.json +++ b/keyboards/rmi_kb/wete/v2/info.json @@ -18,6 +18,12 @@ {"pin_a": "D2", "pin_b": "D1"} ] }, + "rgblight": { + "hue_steps": 32, + "saturation_steps": 32, + "brightness_steps": 32, + "led_count": 18 + }, "ws2812": { "pin": "D0" }, @@ -393,10 +399,7 @@ {"matrix": [10, 8], "x": 16.25, "y": 5.25}, {"matrix": [11, 8], "x": 17.25, "y": 5.25}, {"matrix": [10, 9], "x": 18.25, "y": 5.25}, - {"matrix": [11, 9], "x": 19.25, "y": 5.25}, - - {"matrix": [12, 0], "x": 19, "y": 0, "w": 0.5}, - {"matrix": [12, 1], "x": 20.5, "y": 0, "w": 0.5} + {"matrix": [11, 9], "x": 19.25, "y": 5.25} ] } } diff --git a/keyboards/rmi_kb/wete/v2/keymaps/via/keymap.c b/keyboards/rmi_kb/wete/v2/keymaps/via/keymap.c index 05df87fc94c..8d4f3c88eb6 100644 --- a/keyboards/rmi_kb/wete/v2/keymaps/via/keymap.c +++ b/keyboards/rmi_kb/wete/v2/keymaps/via/keymap.c @@ -14,6 +14,7 @@ * 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_SCRL, KC_PAUS, 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_DEL, @@ -21,8 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_END, KC_P4, KC_P5, KC_P6, KC_NO, KC_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_P1, KC_P2, KC_P3, KC_PENT, 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_UP, KC_PGDN, - KC_P0, KC_NO, KC_PDOT, KC_NO, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, - KC_VOLD, KC_VOLU + KC_P0, KC_NO, KC_PDOT, KC_NO, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -30,49 +30,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; -keyevent_t encoder_ccw = { - .key = (keypos_t){.row = 12, .col = 0}, - .pressed = false, - .type = KEY_EVENT -}; - -keyevent_t encoder_cw = { - .key = (keypos_t){.row = 12, .col = 1}, - .pressed = false, - .type = KEY_EVENT +#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(_______, _______) } }; - -void matrix_scan_user(void) { - if (encoder_ccw.pressed) { - encoder_ccw.pressed = false; - encoder_ccw.time = timer_read(); - action_exec(encoder_ccw); - } - - if (encoder_cw.pressed) { - encoder_cw.pressed = false; - encoder_cw.time = timer_read(); - action_exec(encoder_cw); - } -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - encoder_cw.pressed = true; - encoder_cw.time = timer_read(); - action_exec(encoder_cw); - } else { - encoder_ccw.pressed = true; - encoder_ccw.time = timer_read(); - action_exec(encoder_ccw); - } - return true; -} +#endif #ifdef RGBLIGHT_ENABLE // Can probably still be optimized, but I like it as is for clarity diff --git a/keyboards/rmi_kb/wete/v2/keymaps/via/rules.mk b/keyboards/rmi_kb/wete/v2/keymaps/via/rules.mk index 1e5b99807cb..f1adcab005e 100644 --- a/keyboards/rmi_kb/wete/v2/keymaps/via/rules.mk +++ b/keyboards/rmi_kb/wete/v2/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rmkeebs/rm_fullsize/info.json b/keyboards/rmkeebs/rm_fullsize/info.json new file mode 100644 index 00000000000..4b02137ad3e --- /dev/null +++ b/keyboards/rmkeebs/rm_fullsize/info.json @@ -0,0 +1,155 @@ +{ + "manufacturer": "RuckerMachine", + "keyboard_name": "rm_fullsize", + "maintainer": "RuckerMachine", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "encoder": true + }, + "matrix_pins": { + "cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP12", "GP13", "GP14", "GP16", "GP17"], + "rows": ["GP8", "GP7", "GP9", "GP20", "GP18", "GP19"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "encoder": { + "rotary": [ + { "pin_a": "GP11", "pin_b": "GP10" } + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0.25 }, + { "matrix": [0, 2], "x": 2, "y": 0.25 }, + { "matrix": [0, 3], "x": 3, "y": 0.25 }, + { "matrix": [0, 4], "x": 4, "y": 0.25 }, + { "matrix": [0, 5], "x": 5, "y": 0.25 }, + { "matrix": [0, 6], "x": 6.5, "y": 0.25 }, + { "matrix": [0, 7], "x": 7.5, "y": 0.25 }, + { "matrix": [0, 8], "x": 8.5, "y": 0.25 }, + { "matrix": [0, 9], "x": 9.5, "y": 0.25 }, + { "matrix": [0, 10], "x": 11, "y": 0.25 }, + { "matrix": [0, 11], "x": 12, "y": 0.25 }, + { "matrix": [0, 12], "x": 13, "y": 0.25 }, + { "matrix": [0, 13], "x": 14, "y": 0.25 }, + { "matrix": [0, 14], "x": 15.25, "y": 0.25 }, + { "matrix": [0, 15], "x": 16.25, "y": 0.25 }, + { "matrix": [3, 15], "x": 17.25, "y": 0.25 }, + { "matrix": [0, 16], "x": 18.5, "y": 0.25 }, + { "matrix": [0, 17], "x": 19.5, "y": 0.25 }, + { "matrix": [0, 18], "x": 20.5, "y": 0.25 }, + { "matrix": [0, 19], "x": 21.75, "y": 0 }, + + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.5 }, + { "matrix": [1, 2], "x": 2, "y": 1.5 }, + { "matrix": [1, 3], "x": 3, "y": 1.5 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "matrix": [1, 6], "x": 6, "y": 1.5 }, + { "matrix": [1, 7], "x": 7, "y": 1.5 }, + { "matrix": [1, 8], "x": 8, "y": 1.5 }, + { "matrix": [1, 9], "x": 9, "y": 1.5 }, + { "matrix": [1, 10], "x": 10, "y": 1.5 }, + { "matrix": [1, 11], "x": 11, "y": 1.5 }, + { "matrix": [1, 12], "x": 12, "y": 1.5 }, + { "matrix": [1, 13], "x": 13, "y": 1.5 }, + { "matrix": [2, 13], "x": 14, "y": 1.5 }, + { "matrix": [1, 14], "x": 15.25, "y": 1.5 }, + { "matrix": [1, 15], "x": 16.25, "y": 1.5 }, + { "matrix": [4, 15], "x": 17.25, "y": 1.5 }, + { "matrix": [1, 16], "x": 18.5, "y": 1.5 }, + { "matrix": [1, 17], "x": 19.5, "y": 1.5 }, + { "matrix": [1, 18], "x": 20.5, "y": 1.5 }, + { "matrix": [1, 19], "x": 21.5, "y": 1.5 }, + + { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1.5, "y": 2.5 }, + { "matrix": [2, 2], "x": 2.5, "y": 2.5 }, + { "matrix": [2, 3], "x": 3.5, "y": 2.5 }, + { "matrix": [2, 4], "x": 4.5, "y": 2.5 }, + { "matrix": [2, 5], "x": 5.5, "y": 2.5 }, + { "matrix": [2, 6], "x": 6.5, "y": 2.5 }, + { "matrix": [2, 7], "x": 7.5, "y": 2.5 }, + { "matrix": [2, 8], "x": 8.5, "y": 2.5 }, + { "matrix": [2, 9], "x": 9.5, "y": 2.5 }, + { "matrix": [2, 10], "x": 10.5, "y": 2.5 }, + { "matrix": [2, 11], "x": 11.5, "y": 2.5 }, + { "matrix": [2, 12], "x": 12.5, "y": 2.5 }, + { "matrix": [3, 13], "w": 1.5, "x": 13.5, "y": 2.5 }, + { "matrix": [2, 14], "x": 15.25, "y": 2.5 }, + { "matrix": [2, 15], "x": 16.25, "y": 2.5 }, + { "matrix": [5, 15], "x": 17.25, "y": 2.5 }, + { "matrix": [2, 16], "x": 18.5, "y": 2.5 }, + { "matrix": [2, 17], "x": 19.5, "y": 2.5 }, + { "matrix": [2, 18], "x": 20.5, "y": 2.5 }, + { "matrix": [2, 19], "x": 21.5, "y": 2.5 }, + + { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, + { "matrix": [3, 1], "x": 1.75, "y": 3.5 }, + { "matrix": [3, 2], "x": 2.75, "y": 3.5 }, + { "matrix": [3, 3], "x": 3.75, "y": 3.5 }, + { "matrix": [3, 4], "x": 4.75, "y": 3.5 }, + { "matrix": [3, 5], "x": 5.75, "y": 3.5 }, + { "matrix": [3, 6], "x": 6.75, "y": 3.5 }, + { "matrix": [3, 7], "x": 7.75, "y": 3.5 }, + { "matrix": [3, 8], "x": 8.75, "y": 3.5 }, + { "matrix": [3, 9], "x": 9.75, "y": 3.5 }, + { "matrix": [3, 10], "x": 10.75, "y": 3.5 }, + { "matrix": [3, 11], "x": 11.75, "y": 3.5 }, + { "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.5 }, + { "matrix": [3, 16], "x": 18.5, "y": 3.5 }, + { "matrix": [3, 17], "x": 19.5, "y": 3.5 }, + { "matrix": [3, 18], "x": 20.5, "y": 3.5 }, + { "matrix": [3, 19], "x": 21.5, "y": 3.5 }, + + { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.5 }, + { "matrix": [4, 1], "x": 2.25, "y": 4.5 }, + { "matrix": [4, 2], "x": 3.25, "y": 4.5 }, + { "matrix": [4, 3], "x": 4.25, "y": 4.5 }, + { "matrix": [4, 4], "x": 5.25, "y": 4.5 }, + { "matrix": [4, 5], "x": 6.25, "y": 4.5 }, + { "matrix": [4, 6], "x": 7.25, "y": 4.5 }, + { "matrix": [4, 7], "x": 8.25, "y": 4.5 }, + { "matrix": [4, 8], "x": 9.25, "y": 4.5 }, + { "matrix": [4, 9], "x": 10.25, "y": 4.5 }, + { "matrix": [4, 10], "x": 11.25, "y": 4.5 }, + { "matrix": [4, 11], "w": 2.75, "x": 12.25, "y": 4.5 }, + { "matrix": [3, 14], "x": 16.25, "y": 4.5 }, + { "matrix": [4, 16], "x": 18.5, "y": 4.5 }, + { "matrix": [4, 17], "x": 19.5, "y": 4.5 }, + { "matrix": [4, 18], "x": 20.5, "y": 4.5 }, + { "matrix": [4, 19], "x": 21.5, "y": 4.5 }, + + { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.5 }, + { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.5 }, + { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.5 }, + { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.5 }, + { "matrix": [5, 9], "w": 1.25, "x": 10, "y": 5.5 }, + { "matrix": [5, 10], "w": 1.25, "x": 11.25, "y": 5.5 }, + { "matrix": [5, 11], "w": 1.25, "x": 12.5, "y": 5.5 }, + { "matrix": [5, 12], "w": 1.25, "x": 13.75, "y": 5.5 }, + { "matrix": [5, 13], "x": 15.25, "y": 5.5 }, + { "matrix": [4, 14], "x": 16.25, "y": 5.5 }, + { "matrix": [5, 14], "x": 17.25, "y": 5.5 }, + { "matrix": [5, 16], "x": 18.5, "y": 5.5 }, + { "matrix": [5, 17], "x": 19.5, "y": 5.5 }, + { "matrix": [5, 18], "x": 20.5, "y": 5.5 }, + { "matrix": [5, 19], "x": 21.5, "y": 5.5 } + ] + } + } +} diff --git a/keyboards/rmkeebs/rm_fullsize/keymaps/default/keymap.c b/keyboards/rmkeebs/rm_fullsize/keymaps/default/keymap.c new file mode 100644 index 00000000000..c94cc2e526e --- /dev/null +++ b/keyboards/rmkeebs/rm_fullsize/keymaps/default/keymap.c @@ -0,0 +1,54 @@ +// Copyright 2022 JRucker (@JRucker) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_keycodes { + KC_00 = QK_USER +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* ┌───┐ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┐ │ENC│ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ │PLA│PRV│NXT│ └───┘ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Und│Bsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 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 │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ 00│ . │Del│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───┴───┴───┴───┘ + */ + [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_MPLY, KC_MPRV, KC_MNXT, 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, C(KC_Z), 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_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_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_DEL, + 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_00, KC_PDOT, KC_PENT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_00: + if (record->event.pressed) { + // when keycode KC_00 is pressed + SEND_STRING("00"); + } + return false; + } + return true; +}; diff --git a/keyboards/rmkeebs/rm_fullsize/keymaps/default/rules.mk b/keyboards/rmkeebs/rm_fullsize/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/rmkeebs/rm_fullsize/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/rmkeebs/rm_fullsize/readme.md b/keyboards/rmkeebs/rm_fullsize/readme.md new file mode 100644 index 00000000000..5158d447c6f --- /dev/null +++ b/keyboards/rmkeebs/rm_fullsize/readme.md @@ -0,0 +1,26 @@ +# rm_fullsize + +![rm_full](https://i.imgur.com/k61zEtah.jpg) + +A fullsized keyboard with multiple layout options and a big knob. The case is manchined out of 6061 Aluminum by Rucker Machine in the USA. + +* Keyboard Maintainer: [Rucker Machine](https://github.com/RuckerMachine) +* Hardware Supported: RM Fullsized PCB, RP2040 controller +* Hardware Availability: [RM Fullsized](https://www.rmkeebs.com/product/rm-fullsized/) + +Make example for this keyboard (after setting up your build environment): + + make rmkeebs/rm_fullsize:default + +Flashing example for this keyboard: + + make rmkeebs/rm_fullsize: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 (Escape key) and plug in the keyboard +* **Physical reset button**: Hold down the button on the back of the PCB labeled BOOTLOADER, then press and hold the button labeled RESET for 3 seconds, then release both buttons. diff --git a/keyboards/rmkeebs/rm_fullsize/rules.mk b/keyboards/rmkeebs/rm_fullsize/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/rmkeebs/rm_fullsize/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/rocketboard_16/config.h b/keyboards/rocketboard_16/config.h index 64c493ace87..2c81b4cb7bd 100644 --- a/keyboards/rocketboard_16/config.h +++ b/keyboards/rocketboard_16/config.h @@ -27,17 +27,11 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP // OLED stuff #define OLED_DISPLAY_128X64 #define OLED_FONT_H "custom_font.h" -// Allows for rotary encoder volume control -#define TAP_CODE_DELAY 20 - #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE diff --git a/keyboards/rocketboard_16/info.json b/keyboards/rocketboard_16/info.json index 00006749d80..4b0b5f481a9 100644 --- a/keyboards/rocketboard_16/info.json +++ b/keyboards/rocketboard_16/info.json @@ -21,9 +21,17 @@ {"pin_a": "A2", "pin_b": "A3"} ] }, + "qmk": { + "tap_keycode_delay": 20 + }, "bootmagic": { "matrix": [4, 1] }, + "rgblight": { + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "A4" }, diff --git a/keyboards/rocketboard_16/rules.mk b/keyboards/rocketboard_16/rules.mk index dd493f5f18b..110ba7d10a5 100644 --- a/keyboards/rocketboard_16/rules.mk +++ b/keyboards/rocketboard_16/rules.mk @@ -22,7 +22,4 @@ ENCODER_ENABLE = yes RAW_ENABLE = yes # Enables HID RAW communication between the board and the PC -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - LTO_ENABLE = yes diff --git a/keyboards/rominronin/katana60/rev1/config.h b/keyboards/rominronin/katana60/rev1/config.h index 6c1b144b58c..13f0a19cbd2 100644 --- a/keyboards/rominronin/katana60/rev1/config.h +++ b/keyboards/rominronin/katana60/rev1/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAPPING_TERM 200 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c index 02bd23a9b42..ca2be62a194 100644 --- a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c +++ b/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c @@ -120,14 +120,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case M_QWERTY: @@ -157,7 +149,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/rominronin/katana60/rev1/keymaps/msiu/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/msiu/keymap.c index a65a5260b5d..7850d38c903 100644 --- a/keyboards/rominronin/katana60/rev1/keymaps/msiu/keymap.c +++ b/keyboards/rominronin/katana60/rev1/keymaps/msiu/keymap.c @@ -48,23 +48,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; - - - - - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c index 6fa09146ede..615de932f89 100644 --- a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c +++ b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c @@ -63,20 +63,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/rominronin/katana60/rev2/config.h b/keyboards/rominronin/katana60/rev2/config.h index 0de481d0def..8e3d35a7beb 100644 --- a/keyboards/rominronin/katana60/rev2/config.h +++ b/keyboards/rominronin/katana60/rev2/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAPPING_TERM 200 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/rpiguy9907/southpaw66/config.h b/keyboards/rpiguy9907/southpaw66/config.h index 99fb7f54ea5..b4da5d530f8 100644 --- a/keyboards/rpiguy9907/southpaw66/config.h +++ b/keyboards/rpiguy9907/southpaw66/config.h @@ -16,9 +16,6 @@ #pragma once - -#define TAPPING_TERM 400 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/rpiguy9907/southpaw66/info.json b/keyboards/rpiguy9907/southpaw66/info.json index 3cebdcb4a8c..6c90980e7c5 100644 --- a/keyboards/rpiguy9907/southpaw66/info.json +++ b/keyboards/rpiguy9907/southpaw66/info.json @@ -16,6 +16,9 @@ "bootmagic": { "matrix": [1, 0] }, + "tapping": { + "term": 400 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/runes/vaengr/config.h b/keyboards/runes/vaengr/config.h index 2f307f633f5..0a344fbbaa2 100644 --- a/keyboards/runes/vaengr/config.h +++ b/keyboards/runes/vaengr/config.h @@ -27,11 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /* * Feature disable options diff --git a/keyboards/runes/vaengr/info.json b/keyboards/runes/vaengr/info.json index 98354c2900b..51473b56674 100644 --- a/keyboards/runes/vaengr/info.json +++ b/keyboards/runes/vaengr/info.json @@ -9,6 +9,11 @@ "device_version": "0.0.1", "force_nkro": true }, + "rgblight": { + "hue_steps": 10, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/rura66/rev1/config.h b/keyboards/rura66/rev1/config.h index 5934a18162a..e36d93ee00d 100644 --- a/keyboards/rura66/rev1/config.h +++ b/keyboards/rura66/rev1/config.h @@ -21,13 +21,7 @@ along with this program. If not, see . #define MASTER_LEFT #ifdef RGBLIGHT_ENABLE - #define RGBLED_NUM 66 // Number of LEDs - #define RGBLIGHT_SPLIT - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RGB_TEST -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== choose animations ==*/ // #define RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/rura66/rev1/info.json b/keyboards/rura66/rev1/info.json index fb093b9d4ec..4165a8abec2 100644 --- a/keyboards/rura66/rev1/info.json +++ b/keyboards/rura66/rev1/info.json @@ -12,6 +12,9 @@ "driver": "WS2812" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 66, "max_brightness": 120, "split_count": [33, 33] }, diff --git a/keyboards/ryanbaekr/rb18/config.h b/keyboards/ryanbaekr/rb18/config.h index 835872aed57..e38f0dc8626 100644 --- a/keyboards/ryanbaekr/rb18/config.h +++ b/keyboards/ryanbaekr/rb18/config.h @@ -28,7 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 3 #define RGBLED_HUE_STEP 8 #define RGBLED_SAT_STEP 8 #define RGBLED_VAL_STEP 8 diff --git a/keyboards/ryanbaekr/rb18/info.json b/keyboards/ryanbaekr/rb18/info.json index 2ee09674860..72135377e27 100644 --- a/keyboards/ryanbaekr/rb18/info.json +++ b/keyboards/ryanbaekr/rb18/info.json @@ -8,6 +8,9 @@ "pid": "0x0018", "device_version": "0.0.3" }, + "rgblight": { + "led_count": 3 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/ryanbaekr/rb69/config.h b/keyboards/ryanbaekr/rb69/config.h index 5614dfa1005..e9ff04496c5 100644 --- a/keyboards/ryanbaekr/rb69/config.h +++ b/keyboards/ryanbaekr/rb69/config.h @@ -28,7 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 #define RGBLED_HUE_STEP 8 #define RGBLED_SAT_STEP 8 #define RGBLED_VAL_STEP 8 diff --git a/keyboards/ryanbaekr/rb69/info.json b/keyboards/ryanbaekr/rb69/info.json index 0b514a46f67..019dbbe7557 100644 --- a/keyboards/ryanbaekr/rb69/info.json +++ b/keyboards/ryanbaekr/rb69/info.json @@ -8,6 +8,9 @@ "pid": "0x0069", "device_version": "0.0.3" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "B0" }, @@ -16,8 +19,8 @@ "rows": ["D7", "C6", "D4", "D0", "D1"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "elite_c", + "pin_compatible": "elite_c", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/ryanbaekr/rb86/info.json b/keyboards/ryanbaekr/rb86/info.json index 5c4c3485dff..fb4b9a4d21c 100644 --- a/keyboards/ryanbaekr/rb86/info.json +++ b/keyboards/ryanbaekr/rb86/info.json @@ -13,8 +13,8 @@ "rows": ["B0", "B1", "B2", "B3", "B4", "D7"] }, "diode_direction": "COL2ROW", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "elite_c", + "pin_compatible": "elite_c", "layout_aliases": { "LAYOUT_numpad_6x17": "LAYOUT" }, diff --git a/keyboards/ryanbaekr/rb87/config.h b/keyboards/ryanbaekr/rb87/config.h index ca1f8284c52..e38f0dc8626 100644 --- a/keyboards/ryanbaekr/rb87/config.h +++ b/keyboards/ryanbaekr/rb87/config.h @@ -28,7 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 15 #define RGBLED_HUE_STEP 8 #define RGBLED_SAT_STEP 8 #define RGBLED_VAL_STEP 8 diff --git a/keyboards/ryanbaekr/rb87/info.json b/keyboards/ryanbaekr/rb87/info.json index 8741408aaa1..b633314bb31 100644 --- a/keyboards/ryanbaekr/rb87/info.json +++ b/keyboards/ryanbaekr/rb87/info.json @@ -3,13 +3,16 @@ "manufacturer": "ryanbaekr", "url": "", "maintainer": "ryanbaekr", - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "elite_c", + "pin_compatible": "elite_c", "usb": { "vid": "0x7262", "pid": "0x0087", "device_version": "0.0.3" }, + "rgblight": { + "led_count": 15 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/ryloo_studio/m0110/config.h b/keyboards/ryloo_studio/m0110/config.h index 9ed41827d0c..bd9da79d604 100755 --- a/keyboards/ryloo_studio/m0110/config.h +++ b/keyboards/ryloo_studio/m0110/config.h @@ -33,7 +33,3 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 18 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/ryloo_studio/m0110/info.json b/keyboards/ryloo_studio/m0110/info.json index cded8206f4a..037dce93ae3 100644 --- a/keyboards/ryloo_studio/m0110/info.json +++ b/keyboards/ryloo_studio/m0110/info.json @@ -21,6 +21,9 @@ "pin": "E2" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, "max_brightness": 123 }, "processor": "atmega32u4", diff --git a/keyboards/s_ol/0xc_pad/0xc_pad.c b/keyboards/s_ol/0xc_pad/0xc_pad.c index c471da92cc5..ba8cd96aec2 100644 --- a/keyboards/s_ol/0xc_pad/0xc_pad.c +++ b/keyboards/s_ol/0xc_pad/0xc_pad.c @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "0xc_pad.h" +#include "quantum.h" #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { { diff --git a/keyboards/s_ol/0xc_pad/0xc_pad.h b/keyboards/s_ol/0xc_pad/0xc_pad.h deleted file mode 100644 index 013f4c89dcb..00000000000 --- a/keyboards/s_ol/0xc_pad/0xc_pad.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2021 s-ol - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 LED_LAYOUT( \ - \ - k01, k05, k02, k06, k10, k03, k07, k11, k15, k08, k12, k16) \ - \ - { k01, k02, k03, k08, k07, k06, k05, k10, k11, k12, k16, k15, } diff --git a/keyboards/saevus/cor_tkl/config.h b/keyboards/saevus/cor_tkl/config.h index b42ece99a60..7fedf4dce12 100644 --- a/keyboards/saevus/cor_tkl/config.h +++ b/keyboards/saevus/cor_tkl/config.h @@ -20,5 +20,4 @@ along with this program. If not, see . /* RGB Matrix setup */ #define RGB_MATRIX_LED_COUNT 2 -#define RGBLED_NUM 2 #define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral diff --git a/keyboards/salicylic_acid3/7skb/rev1/config.h b/keyboards/salicylic_acid3/7skb/rev1/config.h index 44b7b88cfab..74be5103a2a 100644 --- a/keyboards/salicylic_acid3/7skb/rev1/config.h +++ b/keyboards/salicylic_acid3/7skb/rev1/config.h @@ -25,11 +25,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 12 - #define RGBLIGHT_SPLIT -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -48,8 +43,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for naked48 keyboard diff --git a/keyboards/salicylic_acid3/7skb/rev1/info.json b/keyboards/salicylic_acid3/7skb/rev1/info.json index e195344ed11..7b74a1ac340 100644 --- a/keyboards/salicylic_acid3/7skb/rev1/info.json +++ b/keyboards/salicylic_acid3/7skb/rev1/info.json @@ -17,6 +17,8 @@ "soft_serial_pin": "D2" }, "rgblight": { + "hue_steps": 10, + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/salicylic_acid3/7splus/config.h b/keyboards/salicylic_acid3/7splus/config.h index e8a6d3a3935..501738ca2dc 100644 --- a/keyboards/salicylic_acid3/7splus/config.h +++ b/keyboards/salicylic_acid3/7splus/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 31 - #define RGBLIGHT_SPLIT -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -47,8 +42,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for naked48 keyboard diff --git a/keyboards/salicylic_acid3/7splus/info.json b/keyboards/salicylic_acid3/7splus/info.json index fa9c166ada8..59c6060c636 100644 --- a/keyboards/salicylic_acid3/7splus/info.json +++ b/keyboards/salicylic_acid3/7splus/info.json @@ -17,6 +17,8 @@ "soft_serial_pin": "D2" }, "rgblight": { + "hue_steps": 10, + "led_count": 31, "split_count": [11, 20] }, "ws2812": { diff --git a/keyboards/salicylic_acid3/ergoarrows/config.h b/keyboards/salicylic_acid3/ergoarrows/config.h index e829c4b8275..a062f906ed1 100644 --- a/keyboards/salicylic_acid3/ergoarrows/config.h +++ b/keyboards/salicylic_acid3/ergoarrows/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 86 - #define RGBLIGHT_SPLIT -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -47,8 +42,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 30 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for naked48 keyboard diff --git a/keyboards/salicylic_acid3/ergoarrows/info.json b/keyboards/salicylic_acid3/ergoarrows/info.json index b058a5367d1..fabbb4c5426 100644 --- a/keyboards/salicylic_acid3/ergoarrows/info.json +++ b/keyboards/salicylic_acid3/ergoarrows/info.json @@ -17,6 +17,8 @@ "soft_serial_pin": "D0" }, "rgblight": { + "hue_steps": 10, + "led_count": 86, "split_count": [43, 43] }, "ws2812": { diff --git a/keyboards/salicylic_acid3/getta25/rev1/config.h b/keyboards/salicylic_acid3/getta25/rev1/config.h index cdc803a98c6..18c1a03538c 100644 --- a/keyboards/salicylic_acid3/getta25/rev1/config.h +++ b/keyboards/salicylic_acid3/getta25/rev1/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 9 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,8 +41,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for naked48 keyboard diff --git a/keyboards/salicylic_acid3/getta25/rev1/info.json b/keyboards/salicylic_acid3/getta25/rev1/info.json index de9fe887e76..2f58de0c720 100644 --- a/keyboards/salicylic_acid3/getta25/rev1/info.json +++ b/keyboards/salicylic_acid3/getta25/rev1/info.json @@ -8,6 +8,10 @@ "pid": "0x3060", "device_version": "0.1.3" }, + "rgblight": { + "hue_steps": 10, + "led_count": 9 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/salicylic_acid3/jisplit89/rev1/config.h b/keyboards/salicylic_acid3/jisplit89/rev1/config.h index 5bc8bce7d59..2a5c6d27e7f 100644 --- a/keyboards/salicylic_acid3/jisplit89/rev1/config.h +++ b/keyboards/salicylic_acid3/jisplit89/rev1/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 32 - #define RGBLIGHT_SPLIT -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -47,8 +42,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for naked48 keyboard diff --git a/keyboards/salicylic_acid3/jisplit89/rev1/info.json b/keyboards/salicylic_acid3/jisplit89/rev1/info.json index bc2759751ed..a83024ef64a 100644 --- a/keyboards/salicylic_acid3/jisplit89/rev1/info.json +++ b/keyboards/salicylic_acid3/jisplit89/rev1/info.json @@ -17,6 +17,8 @@ "soft_serial_pin": "D2" }, "rgblight": { + "hue_steps": 10, + "led_count": 32, "split_count": [11, 21] }, "ws2812": { diff --git a/keyboards/salicylic_acid3/nafuda/config.h b/keyboards/salicylic_acid3/nafuda/config.h index 94d44bfce83..5436d668f6e 100644 --- a/keyboards/salicylic_acid3/nafuda/config.h +++ b/keyboards/salicylic_acid3/nafuda/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 7 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,8 +41,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 400 diff --git a/keyboards/salicylic_acid3/nafuda/info.json b/keyboards/salicylic_acid3/nafuda/info.json index ea2645cf23f..21b7b6cb5cb 100644 --- a/keyboards/salicylic_acid3/nafuda/info.json +++ b/keyboards/salicylic_acid3/nafuda/info.json @@ -8,6 +8,10 @@ "pid": "0x3060", "device_version": "0.1.2" }, + "rgblight": { + "hue_steps": 10, + "led_count": 7 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/salicylic_acid3/naked48/rev1/config.h b/keyboards/salicylic_acid3/naked48/rev1/config.h index c7246fad769..30c0e75be4a 100644 --- a/keyboards/salicylic_acid3/naked48/rev1/config.h +++ b/keyboards/salicylic_acid3/naked48/rev1/config.h @@ -22,10 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 48 -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -38,6 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_TWINKLE #define RGBLIGHT_DEFAULT_VAL 50 - -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 diff --git a/keyboards/salicylic_acid3/naked48/rev1/info.json b/keyboards/salicylic_acid3/naked48/rev1/info.json index a378952d252..d1209310c28 100644 --- a/keyboards/salicylic_acid3/naked48/rev1/info.json +++ b/keyboards/salicylic_acid3/naked48/rev1/info.json @@ -25,6 +25,10 @@ } } }, + "rgblight": { + "hue_steps": 10, + "led_count": 48 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/salicylic_acid3/naked64/rev1/config.h b/keyboards/salicylic_acid3/naked64/rev1/config.h index 33ee2b50302..56fc1eede0a 100644 --- a/keyboards/salicylic_acid3/naked64/rev1/config.h +++ b/keyboards/salicylic_acid3/naked64/rev1/config.h @@ -23,9 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 12 // Number of LEDs -#define RGBLIGHT_LED_MAP { 0, 1, 3, 2, 2, 3, 2, 3, 4, 5, 6, 7 } - #ifndef IOS_DEVICE_ENABLE #define RGBLIGHT_LIMIT_VAL 180 #define RGBLIGHT_VAL_STEP 17 @@ -33,8 +30,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 // Selection of RGBLIGHT MODE to use. #define RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/salicylic_acid3/naked64/rev1/info.json b/keyboards/salicylic_acid3/naked64/rev1/info.json index a58acf807b0..0ca53c1444b 100644 --- a/keyboards/salicylic_acid3/naked64/rev1/info.json +++ b/keyboards/salicylic_acid3/naked64/rev1/info.json @@ -22,6 +22,11 @@ } } }, + "rgblight": { + "hue_steps": 10, + "led_count": 12, + "led_map": [0, 1, 3, 2, 2, 3, 2, 3, 4, 5, 6, 7] + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/salicylic_acid3/nknl7en/config.h b/keyboards/salicylic_acid3/nknl7en/config.h index f4a8e200d3c..d548a9378ac 100644 --- a/keyboards/salicylic_acid3/nknl7en/config.h +++ b/keyboards/salicylic_acid3/nknl7en/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 21 - #define RGBLIGHT_SPLIT -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -47,8 +42,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for naked48 keyboard diff --git a/keyboards/salicylic_acid3/nknl7en/info.json b/keyboards/salicylic_acid3/nknl7en/info.json index db2460d28ab..2499586479d 100644 --- a/keyboards/salicylic_acid3/nknl7en/info.json +++ b/keyboards/salicylic_acid3/nknl7en/info.json @@ -17,6 +17,8 @@ "soft_serial_pin": "D0" }, "rgblight": { + "hue_steps": 10, + "led_count": 21, "split_count": [9, 12] }, "ws2812": { diff --git a/keyboards/salicylic_acid3/nknl7jp/config.h b/keyboards/salicylic_acid3/nknl7jp/config.h index b11397bde8d..d548a9378ac 100644 --- a/keyboards/salicylic_acid3/nknl7jp/config.h +++ b/keyboards/salicylic_acid3/nknl7jp/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#ifndef RGBLED_NUM - #define RGBLED_NUM 20 - #define RGBLIGHT_SPLIT -#endif - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -47,8 +42,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) // USB_MAX_POWER_CONSUMPTION value for naked48 keyboard diff --git a/keyboards/salicylic_acid3/nknl7jp/info.json b/keyboards/salicylic_acid3/nknl7jp/info.json index bcbabe051d8..b3ddda00670 100644 --- a/keyboards/salicylic_acid3/nknl7jp/info.json +++ b/keyboards/salicylic_acid3/nknl7jp/info.json @@ -17,6 +17,8 @@ "soft_serial_pin": "D0" }, "rgblight": { + "hue_steps": 10, + "led_count": 20, "split_count": [9, 11] }, "ws2812": { diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c index e117d26eee4..b7cde4d4e09 100644 --- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c @@ -173,8 +173,8 @@ void render_layer_state(void) { oled_write_P(PSTR(" Macro "), layer_state_is(_MACRO)); } -void render_keylock_status(uint8_t led_usb_state) { - oled_write_P(PSTR("NumLock"), led_usb_state & (1 << USB_LED_NUM_LOCK)); +void render_keylock_status(led_t led_state) { + oled_write_P(PSTR("NumLock"), led_state.num_lock); oled_write_P(PSTR(" "), false); } @@ -186,7 +186,7 @@ void render_layer_messages(void) { void render_status(void) { /* Show Keyboard Layout */ render_layer_messages(); - render_keylock_status(host_keyboard_leds()); + render_keylock_status(host_keyboard_led_state()); render_layer_state(); } diff --git a/keyboards/salicylic_acid3/setta21/rev1/config.h b/keyboards/salicylic_acid3/setta21/rev1/config.h index eb9e0b5b1dc..5436d668f6e 100644 --- a/keyboards/salicylic_acid3/setta21/rev1/config.h +++ b/keyboards/salicylic_acid3/setta21/rev1/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 21 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,8 +41,6 @@ along with this program. If not, see . #define RGBLIGHT_LIMIT_VAL 50 #define RGBLIGHT_VAL_STEP 4 #endif -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) #define USB_MAX_POWER_CONSUMPTION 400 diff --git a/keyboards/salicylic_acid3/setta21/rev1/info.json b/keyboards/salicylic_acid3/setta21/rev1/info.json index 642bde6298a..af491489d53 100644 --- a/keyboards/salicylic_acid3/setta21/rev1/info.json +++ b/keyboards/salicylic_acid3/setta21/rev1/info.json @@ -8,6 +8,10 @@ "pid": "0x3060", "device_version": "0.1.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 21 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/sam/s80/config.h b/keyboards/sam/s80/config.h deleted file mode 100644 index 4c3d6ae5049..00000000000 --- a/keyboards/sam/s80/config.h +++ /dev/null @@ -1,26 +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 . - */ - -#pragma once - -# define RGBLED_NUM 20 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - -// generated by KBFirmware JSON to QMK Parser -// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/sam/s80/info.json b/keyboards/sam/s80/info.json index 73794ba3eb9..3949a2680ab 100644 --- a/keyboards/sam/s80/info.json +++ b/keyboards/sam/s80/info.json @@ -20,6 +20,9 @@ "pin": "E2" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, "max_brightness": 100 }, "processor": "atmega32u4", diff --git a/keyboards/sam/sg81m/config.h b/keyboards/sam/sg81m/config.h index b999af6eec4..f8165d9514b 100644 --- a/keyboards/sam/sg81m/config.h +++ b/keyboards/sam/sg81m/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/sam/sg81m/info.json b/keyboards/sam/sg81m/info.json index baa1cec9a75..3fa4da7e5c9 100644 --- a/keyboards/sam/sg81m/info.json +++ b/keyboards/sam/sg81m/info.json @@ -16,6 +16,12 @@ "indicators": { "caps_lock": "B0" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/satt/comet46/lib/host_led_state_reader.c b/keyboards/satt/comet46/lib/host_led_state_reader.c index 758fc4c1dcb..e9910e01414 100644 --- a/keyboards/satt/comet46/lib/host_led_state_reader.c +++ b/keyboards/satt/comet46/lib/host_led_state_reader.c @@ -4,12 +4,12 @@ char host_led_state_str[22]; const char *read_host_led_state(void) { - uint8_t leds = host_keyboard_leds(); + led_t led_state = host_keyboard_led_state(); snprintf(host_led_state_str, sizeof(host_led_state_str), "Lock: %s%s%s", - (leds & (1 << USB_LED_CAPS_LOCK)) ? "CAPL " : "", - (leds & (1 << USB_LED_SCROLL_LOCK)) ? "SCRL " : "", - (leds & (1 << USB_LED_NUM_LOCK)) ? "NUML" : ""); + led_state.caps_lock ? "CAPL " : "", + led_state.scroll_lock ? "SCRL " : "", + led_state.num_lock ? "NUML" : ""); return host_led_state_str; } diff --git a/keyboards/satt/vision/rules.mk b/keyboards/satt/vision/rules.mk index 0aeca0dd9f3..7f4f202a1b7 100644 --- a/keyboards/satt/vision/rules.mk +++ b/keyboards/satt/vision/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/sauce/mild/rules.mk b/keyboards/sauce/mild/rules.mk index eed469b44e8..ca4d3845848 100644 --- a/keyboards/sauce/mild/rules.mk +++ b/keyboards/sauce/mild/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/sawnsprojects/amber80/solder/config.h b/keyboards/sawnsprojects/amber80/solder/config.h index b47e1efd74a..17220860b4a 100644 --- a/keyboards/sawnsprojects/amber80/solder/config.h +++ b/keyboards/sawnsprojects/amber80/solder/config.h @@ -17,11 +17,6 @@ #pragma once /* RGB */ - #define RGBLED_NUM 22 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // /*== or choose animations ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/sawnsprojects/amber80/solder/info.json b/keyboards/sawnsprojects/amber80/solder/info.json index 9fe412c3cd4..8bb41b07319 100644 --- a/keyboards/sawnsprojects/amber80/solder/info.json +++ b/keyboards/sawnsprojects/amber80/solder/info.json @@ -18,6 +18,12 @@ "scroll_lock": "B0", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "sleep": true + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/sawnsprojects/krush/krush60/solder/config.h b/keyboards/sawnsprojects/krush/krush60/solder/config.h index 9cdc6354ecc..a1c767be61e 100644 --- a/keyboards/sawnsprojects/krush/krush60/solder/config.h +++ b/keyboards/sawnsprojects/krush/krush60/solder/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/sawnsprojects/krush/krush60/solder/info.json b/keyboards/sawnsprojects/krush/krush60/solder/info.json index 2cdecaaeb41..40addc5f36d 100644 --- a/keyboards/sawnsprojects/krush/krush60/solder/info.json +++ b/keyboards/sawnsprojects/krush/krush60/solder/info.json @@ -21,7 +21,11 @@ "pin": "F1" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/config.h b/keyboards/sawnsprojects/krush/krush65/hotswap/config.h index 380a50edbec..54868685fc3 100644 --- a/keyboards/sawnsprojects/krush/krush65/hotswap/config.h +++ b/keyboards/sawnsprojects/krush/krush65/hotswap/config.h @@ -16,17 +16,7 @@ #pragma once -/* Encoders */ - -#define ENCODERS_CW_KEY { { 12, 3 } } -#define ENCODERS_CCW_KEY { { 12, 4 } } - /* RGB */ - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.c b/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.c deleted file mode 100644 index 96fcc9a6141..00000000000 --- a/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright 2020 Neil Brian Ramirez - * Copyright 2021 drashna jael're (@drashna) - * Copyright 2021 uybv - * Copyright 2021 SawnsProjects - * - * This program is free software: you can 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 "encoder_actions.h" - -#ifdef ENCODER_ENABLE -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -#endif diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.h b/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.h deleted file mode 100644 index fb226326324..00000000000 --- a/keyboards/sawnsprojects/krush/krush65/hotswap/encoder_actions.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "quantum.h" - -void encoder_action_unregister(void); - -void encoder_action_register(uint8_t index, bool clockwise); \ No newline at end of file diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.h b/keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.h deleted file mode 100644 index 5f25d9c5c34..00000000000 --- a/keyboards/sawnsprojects/krush/krush65/hotswap/hotswap.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 SawnsProjects - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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" -#include "encoder_actions.h" diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/info.json b/keyboards/sawnsprojects/krush/krush65/hotswap/info.json index 4cec48d86e6..45525195333 100644 --- a/keyboards/sawnsprojects/krush/krush65/hotswap/info.json +++ b/keyboards/sawnsprojects/krush/krush65/hotswap/info.json @@ -26,12 +26,16 @@ "pin": "E6" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -109,88 +113,6 @@ {"matrix": [4, 14], "x": 14, "y": 4}, {"matrix": [4, 15], "x": 15, "y": 4} ] - }, - "LAYOUT_via_rotary": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.75}, - {"matrix": [0, 1], "x": 1, "y": 0.75}, - {"matrix": [0, 2], "x": 2, "y": 0.75}, - {"matrix": [0, 3], "x": 3, "y": 0.75}, - {"matrix": [0, 4], "x": 4, "y": 0.75}, - {"matrix": [0, 5], "x": 5, "y": 0.75}, - {"matrix": [0, 6], "x": 6, "y": 0.75}, - {"matrix": [0, 7], "x": 7, "y": 0.75}, - {"matrix": [0, 8], "x": 8, "y": 0.75}, - {"matrix": [0, 9], "x": 9, "y": 0.75}, - {"matrix": [0, 10], "x": 10, "y": 0.75}, - {"matrix": [0, 11], "x": 11, "y": 0.75}, - {"matrix": [0, 12], "x": 12, "y": 0.75}, - {"matrix": [0, 13], "x": 13, "y": 0.75}, - {"matrix": [0, 14], "x": 14, "y": 0.75}, - {"matrix": [0, 15], "x": 15, "y": 0.75}, - - {"matrix": [3, 12], "x": 14.75, "y": 0, "w": 0.75, "h": 0.75}, - {"matrix": [4, 12], "x": 15.5, "y": 0, "w": 0.75, "h": 0.75}, - - {"matrix": [1, 0], "x": 0, "y": 1.75, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1.75}, - {"matrix": [1, 2], "x": 2.5, "y": 1.75}, - {"matrix": [1, 3], "x": 3.5, "y": 1.75}, - {"matrix": [1, 4], "x": 4.5, "y": 1.75}, - {"matrix": [1, 5], "x": 5.5, "y": 1.75}, - {"matrix": [1, 6], "x": 6.5, "y": 1.75}, - {"matrix": [1, 7], "x": 7.5, "y": 1.75}, - {"matrix": [1, 8], "x": 8.5, "y": 1.75}, - {"matrix": [1, 9], "x": 9.5, "y": 1.75}, - {"matrix": [1, 10], "x": 10.5, "y": 1.75}, - {"matrix": [1, 11], "x": 11.5, "y": 1.75}, - {"matrix": [1, 12], "x": 12.5, "y": 1.75}, - {"matrix": [1, 13], "x": 13.5, "y": 1.75, "w": 1.5}, - {"matrix": [1, 15], "x": 15, "y": 1.75}, - - {"matrix": [2, 0], "x": 0, "y": 2.75, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2.75}, - {"matrix": [2, 2], "x": 2.75, "y": 2.75}, - {"matrix": [2, 3], "x": 3.75, "y": 2.75}, - {"matrix": [2, 4], "x": 4.75, "y": 2.75}, - {"matrix": [2, 5], "x": 5.75, "y": 2.75}, - {"matrix": [2, 6], "x": 6.75, "y": 2.75}, - {"matrix": [2, 7], "x": 7.75, "y": 2.75}, - {"matrix": [2, 8], "x": 8.75, "y": 2.75}, - {"matrix": [2, 9], "x": 9.75, "y": 2.75}, - {"matrix": [2, 10], "x": 10.75, "y": 2.75}, - {"matrix": [2, 11], "x": 11.75, "y": 2.75}, - {"matrix": [2, 13], "x": 12.75, "y": 2.75, "w": 2.25}, - {"matrix": [2, 15], "x": 15, "y": 2.75}, - - {"matrix": [3, 0], "x": 0, "y": 3.75, "w": 2.25}, - {"matrix": [3, 2], "x": 2.25, "y": 3.75}, - {"matrix": [3, 3], "x": 3.25, "y": 3.75}, - {"matrix": [3, 4], "x": 4.25, "y": 3.75}, - {"matrix": [3, 5], "x": 5.25, "y": 3.75}, - {"matrix": [3, 6], "x": 6.25, "y": 3.75}, - {"matrix": [3, 7], "x": 7.25, "y": 3.75}, - {"matrix": [3, 8], "x": 8.25, "y": 3.75}, - {"matrix": [3, 9], "x": 9.25, "y": 3.75}, - {"matrix": [3, 10], "x": 10.25, "y": 3.75}, - {"matrix": [3, 11], "x": 11.25, "y": 3.75}, - {"matrix": [3, 13], "x": 12.25, "y": 3.75, "w": 1.75}, - {"matrix": [3, 14], "x": 14, "y": 3.75}, - {"matrix": [3, 15], "x": 15, "y": 3.75}, - - {"matrix": [4, 0], "x": 0, "y": 4.75, "w": 1.25}, - {"matrix": [4, 2], "x": 1.25, "y": 4.75, "w": 1.25}, - {"matrix": [4, 3], "x": 2.5, "y": 4.75, "w": 1.25}, - {"matrix": [4, 5], "x": 3.75, "y": 4.75, "w": 2.25}, - {"matrix": [4, 6], "x": 6, "y": 4.75, "w": 1.25}, - {"matrix": [4, 7], "x": 7.25, "y": 4.75, "w": 2.75}, - {"matrix": [4, 8], "x": 10, "y": 4.75, "w": 1.25}, - {"matrix": [4, 11], "x": 11.25, "y": 4.75, "w": 1.25}, - - {"matrix": [4, 13], "x": 13, "y": 4.75}, - {"matrix": [4, 14], "x": 14, "y": 4.75}, - {"matrix": [4, 15], "x": 15, "y": 4.75} - ] } } } diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/keymap.c b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/keymap.c index 13883d07e45..8487c555bae 100644 --- a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/keymap.c +++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [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_GRV, 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_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, @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_all( + [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/sawnsprojects/krush/krush65/hotswap/keymaps/via/keymap.c b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/keymap.c index d55eb74fb0d..7d239cc5232 100644 --- a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/keymap.c +++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/keymap.c @@ -19,42 +19,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_via_rotary( - 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_PSCR, KC_VOLD ,KC_VOLU, - KC_TAB, KC_Q, 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_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [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_GRV, 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_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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_via_rotary( - 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, KC_TRNS + [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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_via_rotary( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 ), - [3] = LAYOUT_via_rotary( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 ), }; - -void matrix_scan_user(void) { - encoder_action_unregister(); -} -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return false; // override kb default behavior -}; \ No newline at end of file +#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 diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/rules.mk b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/rules.mk index a9739430b9a..1189f4ad192 100644 --- a/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/rules.mk +++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keymaps/via/rules.mk @@ -1,5 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes - -# Added encoder Action -SRC += encoder_actions.c \ No newline at end of file +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/sawnsprojects/krush/krush65/solder/config.h b/keyboards/sawnsprojects/krush/krush65/solder/config.h index c5b074931d3..8f8bbbde840 100644 --- a/keyboards/sawnsprojects/krush/krush65/solder/config.h +++ b/keyboards/sawnsprojects/krush/krush65/solder/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/sawnsprojects/krush/krush65/solder/info.json b/keyboards/sawnsprojects/krush/krush65/solder/info.json index bd84e19a0ea..42dbc0060d1 100644 --- a/keyboards/sawnsprojects/krush/krush65/solder/info.json +++ b/keyboards/sawnsprojects/krush/krush65/solder/info.json @@ -26,7 +26,11 @@ "pin": "F1" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/sawnsprojects/satxri6key/config.h b/keyboards/sawnsprojects/satxri6key/config.h index b7b34360512..76bf7bffcc4 100644 --- a/keyboards/sawnsprojects/satxri6key/config.h +++ b/keyboards/sawnsprojects/satxri6key/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 6 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/sawnsprojects/satxri6key/info.json b/keyboards/sawnsprojects/satxri6key/info.json index 642f813a67e..b9047bed4bf 100644 --- a/keyboards/sawnsprojects/satxri6key/info.json +++ b/keyboards/sawnsprojects/satxri6key/info.json @@ -8,6 +8,12 @@ "pid": "0x0727", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/sawnsprojects/vcl65/solder/config.h b/keyboards/sawnsprojects/vcl65/solder/config.h index 4fd203480c3..a1c767be61e 100644 --- a/keyboards/sawnsprojects/vcl65/solder/config.h +++ b/keyboards/sawnsprojects/vcl65/solder/config.h @@ -16,12 +16,6 @@ #pragma once - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/sawnsprojects/vcl65/solder/info.json b/keyboards/sawnsprojects/vcl65/solder/info.json index 47b141ad4e1..1473cb5132d 100644 --- a/keyboards/sawnsprojects/vcl65/solder/info.json +++ b/keyboards/sawnsprojects/vcl65/solder/info.json @@ -21,7 +21,11 @@ "pin": "B7" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/sck/gtm/config.h b/keyboards/sck/gtm/config.h index c95d84b30d0..9ae2a01bd57 100644 --- a/keyboards/sck/gtm/config.h +++ b/keyboards/sck/gtm/config.h @@ -18,5 +18,4 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 4 #endif diff --git a/keyboards/sck/gtm/info.json b/keyboards/sck/gtm/info.json index 422fb0c0f1e..3fc2bcc54d5 100644 --- a/keyboards/sck/gtm/info.json +++ b/keyboards/sck/gtm/info.json @@ -8,6 +8,9 @@ "pid": "0x6090", "device_version": "0.0.2" }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/sck/osa/config.h b/keyboards/sck/osa/config.h deleted file mode 100644 index cc6739122e2..00000000000 --- a/keyboards/sck/osa/config.h +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2019 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 . -*/ - -#pragma once - - #define RGBLED_NUM 9 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - -/* - * 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/sck/osa/info.json b/keyboards/sck/osa/info.json index ae63add0625..823b94f4777 100644 --- a/keyboards/sck/osa/info.json +++ b/keyboards/sck/osa/info.json @@ -18,6 +18,11 @@ "num_lock": "C7", "scroll_lock": "B6" }, + "rgblight": { + "hue_steps": 10, + "led_count": 9, + "sleep": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/sck/osa/keymaps/ocm/keymap.c b/keyboards/sck/osa/keymaps/ocm/keymap.c index cd48b57291f..87544b7375e 100644 --- a/keyboards/sck/osa/keymaps/ocm/keymap.c +++ b/keyboards/sck/osa/keymaps/ocm/keymap.c @@ -15,13 +15,6 @@ */ #include QMK_KEYBOARD_H -// Defines the keycodes used by our macros in process_record_user -//enum custom_keycodes { -// QMKBEST = SAFE_RANGE, -// QMKURL -//}; - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap BASE: (Base Layer) Default Layer * .----.,----------------------------------------------------------------------. @@ -84,40 +77,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL ), }; - - - - -//bool process_record_user(uint16_t keycode, keyrecord_t *record) { -// switch (keycode) { -// case QMKBEST: -// if (record->event.pressed) { -// // when keycode QMKBEST is pressed -// SEND_STRING("QMK is the best thing ever!"); -// } else { -// // when keycode QMKBEST is released -// } -// break; -// case QMKURL: -// if (record->event.pressed) { -// // when keycode QMKURL is pressed -// SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER)); -// } else { -// // when keycode QMKURL is released -// } -// break; -// } -// return true; -//} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/sck/osa/keymaps/splitbs/keymap.c b/keyboards/sck/osa/keymaps/splitbs/keymap.c index 528e45329b7..367e084443a 100644 --- a/keyboards/sck/osa/keymaps/splitbs/keymap.c +++ b/keyboards/sck/osa/keymaps/splitbs/keymap.c @@ -15,13 +15,6 @@ */ #include QMK_KEYBOARD_H -// Defines the keycodes used by our macros in process_record_user -//enum custom_keycodes { -// QMKBEST = SAFE_RANGE, -// QMKURL -//}; - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap BASE: (Base Layer) Default Layer * .----.,----------------------------------------------------------------------. @@ -64,40 +57,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, _______, KC_SPC, KC_RALT, KC_RCTL ), }; - - - - -//bool process_record_user(uint16_t keycode, keyrecord_t *record) { -// switch (keycode) { -// case QMKBEST: -// if (record->event.pressed) { -// // when keycode QMKBEST is pressed -// SEND_STRING("QMK is the best thing ever!"); -// } else { -// // when keycode QMKBEST is released -// } -// break; -// case QMKURL: -// if (record->event.pressed) { -// // when keycode QMKURL is pressed -// SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER)); -// } else { -// // when keycode QMKURL is released -// } -// break; -// } -// return true; -//} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/sck/osa/keymaps/splitrs/keymap.c b/keyboards/sck/osa/keymaps/splitrs/keymap.c index 3c64300667e..92f156321c9 100644 --- a/keyboards/sck/osa/keymaps/splitrs/keymap.c +++ b/keyboards/sck/osa/keymaps/splitrs/keymap.c @@ -15,13 +15,6 @@ */ #include QMK_KEYBOARD_H -// Defines the keycodes used by our macros in process_record_user -//enum custom_keycodes { -// QMKBEST = SAFE_RANGE, -// QMKURL -//}; - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap BASE: (Base Layer) Default Layer * .----.,----------------------------------------------------------------------. @@ -64,40 +57,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, _______, KC_SPC, KC_RALT, KC_RCTL ), }; - - - - -//bool process_record_user(uint16_t keycode, keyrecord_t *record) { -// switch (keycode) { -// case QMKBEST: -// if (record->event.pressed) { -// // when keycode QMKBEST is pressed -// SEND_STRING("QMK is the best thing ever!"); -// } else { -// // when keycode QMKBEST is released -// } -// break; -// case QMKURL: -// if (record->event.pressed) { -// // when keycode QMKURL is pressed -// SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER)); -// } else { -// // when keycode QMKURL is released -// } -// break; -// } -// return true; -//} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/sendyyeah/pix/config.h b/keyboards/sendyyeah/pix/config.h index 071064c8bcb..9cef535287f 100644 --- a/keyboards/sendyyeah/pix/config.h +++ b/keyboards/sendyyeah/pix/config.h @@ -25,11 +25,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 15 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/sendyyeah/pix/info.json b/keyboards/sendyyeah/pix/info.json index c1ca4137ccc..fdf28b40d06 100644 --- a/keyboards/sendyyeah/pix/info.json +++ b/keyboards/sendyyeah/pix/info.json @@ -8,6 +8,12 @@ "pid": "0x4E34", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 15, + "sleep": true + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/senselessclay/ck65/config.h b/keyboards/senselessclay/ck65/config.h index 9aad2f69c34..7f1195b18c2 100644 --- a/keyboards/senselessclay/ck65/config.h +++ b/keyboards/senselessclay/ck65/config.h @@ -39,7 +39,6 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT /* RGB Backlighting */ -#define RGBLED_NUM 69 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -50,5 +49,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+5 diff --git a/keyboards/senselessclay/ck65/info.json b/keyboards/senselessclay/ck65/info.json index 75bff408c68..3653aaf82ef 100644 --- a/keyboards/senselessclay/ck65/info.json +++ b/keyboards/senselessclay/ck65/info.json @@ -12,7 +12,9 @@ "pin": "B1" }, "rgblight": { - "max_brightness": 122 + "led_count": 69, + "max_brightness": 122, + "sleep": true }, "matrix_pins": { "cols": ["F0", "D5", "D3", "D2", "D1", "D0", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], diff --git a/keyboards/senselessclay/gos65/config.h b/keyboards/senselessclay/gos65/config.h index 907e7dea5d3..38391089fc9 100644 --- a/keyboards/senselessclay/gos65/config.h +++ b/keyboards/senselessclay/gos65/config.h @@ -39,7 +39,6 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT /* RGB Backlighting */ -#define RGBLED_NUM 68 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -50,4 +49,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP diff --git a/keyboards/senselessclay/gos65/info.json b/keyboards/senselessclay/gos65/info.json index eb59447c39e..ca23cd1a832 100644 --- a/keyboards/senselessclay/gos65/info.json +++ b/keyboards/senselessclay/gos65/info.json @@ -12,7 +12,9 @@ "pin": "B0" }, "rgblight": { - "max_brightness": 125 + "led_count": 68, + "max_brightness": 125, + "sleep": true }, "matrix_pins": { "cols": ["F4", "D5", "D3", "D2", "D1", "D0", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], diff --git a/keyboards/sentraq/number_pad/config.h b/keyboards/sentraq/number_pad/config.h index d1cb9939bd9..b3914214feb 100644 --- a/keyboards/sentraq/number_pad/config.h +++ b/keyboards/sentraq/number_pad/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 13 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/sentraq/number_pad/info.json b/keyboards/sentraq/number_pad/info.json index 61b085d86f8..7f78c1be998 100644 --- a/keyboards/sentraq/number_pad/info.json +++ b/keyboards/sentraq/number_pad/info.json @@ -7,6 +7,12 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/sentraq/s60_x/default/config.h b/keyboards/sentraq/s60_x/default/config.h index 1fa22a6e9db..c265dc1ef12 100644 --- a/keyboards/sentraq/s60_x/default/config.h +++ b/keyboards/sentraq/s60_x/default/config.h @@ -6,7 +6,4 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define LOCKING_SUPPORT_ENABLE -#define LOCKING_RESYNC_ENABLE - #define NO_ACTION_ONESHOT diff --git a/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c b/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c index 6337639143f..f1c8c29128e 100644 --- a/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c +++ b/keyboards/sentraq/s60_x/keymaps/ansi_qwertz/keymap.c @@ -34,9 +34,6 @@ along with this program. If not, see . #define KC_FUNC MO(2) #define MICMUTE RCTL(KC_LCTL) -enum function_codes { -}; - enum layer_names { DEFAULT, GAMING, @@ -144,14 +141,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - bool process_german(uint16_t keycode, keyrecord_t *record) { uint16_t send_code = 0; if (record->event.pressed) { @@ -208,7 +197,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; #endif } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/sentraq/s60_x/rgb/config.h b/keyboards/sentraq/s60_x/rgb/config.h index da4d3257a62..d702489ee7a 100644 --- a/keyboards/sentraq/s60_x/rgb/config.h +++ b/keyboards/sentraq/s60_x/rgb/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/sentraq/s60_x/rgb/info.json b/keyboards/sentraq/s60_x/rgb/info.json index c311c6a5134..fb95952d92a 100644 --- a/keyboards/sentraq/s60_x/rgb/info.json +++ b/keyboards/sentraq/s60_x/rgb/info.json @@ -9,6 +9,11 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/sentraq/s65_plus/config.h b/keyboards/sentraq/s65_plus/config.h index 900ea0aa40a..1f134beb1ec 100644 --- a/keyboards/sentraq/s65_plus/config.h +++ b/keyboards/sentraq/s65_plus/config.h @@ -10,10 +10,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 20 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/sentraq/s65_plus/info.json b/keyboards/sentraq/s65_plus/info.json index f9287f2507f..d2161c5cdbf 100644 --- a/keyboards/sentraq/s65_plus/info.json +++ b/keyboards/sentraq/s65_plus/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "B7" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/sentraq/s65_x/config.h b/keyboards/sentraq/s65_x/config.h index 7b388614f4b..1f134beb1ec 100644 --- a/keyboards/sentraq/s65_x/config.h +++ b/keyboards/sentraq/s65_x/config.h @@ -10,12 +10,7 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 20 -#define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/sentraq/s65_x/info.json b/keyboards/sentraq/s65_x/info.json index d87a6873cac..764c1edf2f7 100644 --- a/keyboards/sentraq/s65_x/info.json +++ b/keyboards/sentraq/s65_x/info.json @@ -18,6 +18,12 @@ "levels": 5, "as_caps_lock": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/sets3n/kk980/config.h b/keyboards/sets3n/kk980/config.h index d7b29ad7328..25a0458f32e 100644 --- a/keyboards/sets3n/kk980/config.h +++ b/keyboards/sets3n/kk980/config.h @@ -33,22 +33,10 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 102 -#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\ - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, \ - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 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, 66, 67, \ - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, \ - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, \ - 96, 97, 98, 99, 100, 101, 102 } // 1 --> ScollLock 2 --> CapsLock 3 --> Bluetooth 4 --> NumLock -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF #ifdef RGB_MATRIX_ENABLE -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 102 #define RGB_MATRIX_KEYPRESSES #endif diff --git a/keyboards/sets3n/kk980/info.json b/keyboards/sets3n/kk980/info.json index f59f186bf4c..1350b900132 100644 --- a/keyboards/sets3n/kk980/info.json +++ b/keyboards/sets3n/kk980/info.json @@ -12,6 +12,9 @@ "pin": "B7" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 102, "max_brightness": 230 }, "matrix_pins": { diff --git a/keyboards/shoc/keymaps/bongo/keymap.c b/keyboards/shoc/keymaps/bongo/keymap.c index 14779f1d755..8f57181330d 100644 --- a/keyboards/shoc/keymaps/bongo/keymap.c +++ b/keyboards/shoc/keymaps/bongo/keymap.c @@ -163,7 +163,7 @@ bool oled_task_user(void) { oled_set_cursor(0,6); oled_write_P(PSTR(" WPM: "), false); oled_write(get_u8_str(get_current_wpm(), '0'), false); - if(host_keyboard_leds() & (1<. #define MASTER_RIGHT - //#define RGBLIGHT_SPLIT - #define RGBLED_NUM 52 #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 52 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 - #define RGB_MATRIX_HUE_STEP 8 - #define RGB_MATRIX_SAT_STEP 8 - #define RGB_MATRIX_VAL_STEP 8 - #define RGB_MATRIX_SPD_STEP 8 - #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP #else - #define RGBLIGHT_LED_MAP { 0,1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,3,4,5,6, \ - 26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,29,30,31,32 } - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - //#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/silverbullet44/info.json b/keyboards/silverbullet44/info.json index 9ca5218d120..11edcee166a 100644 --- a/keyboards/silverbullet44/info.json +++ b/keyboards/silverbullet44/info.json @@ -12,10 +12,17 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 8 }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 52, "max_brightness": 150, + "led_map": [0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3, 4, 5, 6, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 29, 30, 31, 32], "split_count": [26, 26] }, "matrix_pins": { diff --git a/keyboards/singa/config.h b/keyboards/singa/config.h index 75b78de22de..d849732a072 100644 --- a/keyboards/singa/config.h +++ b/keyboards/singa/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 18 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/singa/info.json b/keyboards/singa/info.json index 4c582df8584..e2441b48e54 100644 --- a/keyboards/singa/info.json +++ b/keyboards/singa/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c b/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c index f63da310fd7..5b55d1ba246 100644 --- a/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c +++ b/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c @@ -130,14 +130,6 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = { ) }; -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case MAC: @@ -171,7 +163,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/skeletn87/hotswap/config.h b/keyboards/skeletn87/hotswap/config.h index 26ec63afd49..3da790a0396 100644 --- a/keyboards/skeletn87/hotswap/config.h +++ b/keyboards/skeletn87/hotswap/config.h @@ -27,8 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/skeletn87/hotswap/info.json b/keyboards/skeletn87/hotswap/info.json index 6eccddef6b4..fc3232ec850 100644 --- a/keyboards/skeletn87/hotswap/info.json +++ b/keyboards/skeletn87/hotswap/info.json @@ -26,7 +26,11 @@ "pin": "B3" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/skeletn87/soldered/config.h b/keyboards/skeletn87/soldered/config.h index 26ec63afd49..3da790a0396 100644 --- a/keyboards/skeletn87/soldered/config.h +++ b/keyboards/skeletn87/soldered/config.h @@ -27,8 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/skeletn87/soldered/info.json b/keyboards/skeletn87/soldered/info.json index fefb5073bb1..479d68e7017 100644 --- a/keyboards/skeletn87/soldered/info.json +++ b/keyboards/skeletn87/soldered/info.json @@ -26,7 +26,11 @@ "pin": "B2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h b/keyboards/skeletonkbd/frost68/config.h similarity index 61% rename from keyboards/capsunlocked/cu80/v2_iso/rgb/config.h rename to keyboards/skeletonkbd/frost68/config.h index db6ab832b41..eaf7a31fb6e 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h +++ b/keyboards/skeletonkbd/frost68/config.h @@ -1,31 +1,14 @@ -/* -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 . -*/ +// Copyright 2023 skeletonkbd (@skeletonkbd) +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once -/* enable RGB matrix */ -#define CU80_RGB +#define WS2812_PIO_USE_PIO1 +#define RGB_MATRIX_LED_COUNT 68 + +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define USB_SUSPEND_WAKEUP_DELAY 200 -/* moved to RGB specific */ -#define RGB_MATRIX_KEYPRESSES -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT @@ -52,13 +35,16 @@ along with this program. If not, see . #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_PIXEL_FLOW +#define ENABLE_RGB_MATRIX_PIXEL_RAIN + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS #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 RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYRELEASES #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE @@ -72,7 +58,4 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -/* RGB firmware override */ -#undef RGBLIGHT_HUE_STEP -#undef RGBLIGHT_SAT_STEP -#undef RGBLIGHT_VAL_STEP +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN diff --git a/keyboards/skeletonkbd/frost68/frost68.c b/keyboards/skeletonkbd/frost68/frost68.c new file mode 100644 index 00000000000..4bfd3fa28f3 --- /dev/null +++ b/keyboards/skeletonkbd/frost68/frost68.c @@ -0,0 +1,18 @@ +// Copyright 2023 skeletonkbd (@skeletonkbd) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = led_min; i < led_max; i++) { + if (g_led_config.flags[i] & LED_FLAG_INDICATOR) { + rgb_matrix_set_color(i, RGB_RED); + } + } + } + return false; +} diff --git a/keyboards/skeletonkbd/frost68/info.json b/keyboards/skeletonkbd/frost68/info.json new file mode 100644 index 00000000000..e609f8e1918 --- /dev/null +++ b/keyboards/skeletonkbd/frost68/info.json @@ -0,0 +1,185 @@ +{ + "manufacturer": "skeletonkbd", + "keyboard_name": "Frost68", + "maintainer": "skeletonkbd", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "build": { + "debounce_type": "sym_eager_pk" + }, + "matrix_pins": { + "cols": ["GP21", "GP22", "GP23", "GP24", "GP25", "GP26", "GP28", "GP3", "GP4", "GP5", "GP6", "GP9", "GP10", "GP11", "GP12", "GP13"], + "rows": ["GP29", "GP27", "GP20", "GP19", "GP18"] + }, + "processor": "RP2040", + "ws2812": { + "driver": "vendor", + "pin": "GP0" + }, + "rgb_matrix": { + "driver": "WS2812", + "layout": [ + {"matrix": [0, 0], "x": 33.1, "y": 3.7, "flags": 4}, + {"matrix": [0, 1], "x": 45.7, "y": 3.7, "flags": 4}, + {"matrix": [0, 2], "x": 58.3, "y": 2.4, "flags": 4}, + {"matrix": [0, 3], "x": 71.1, "y": 6.4, "flags": 4}, + {"matrix": [0, 4], "x": 83.4, "y": 10.4, "flags": 4}, + {"matrix": [0, 5], "x": 95.7, "y": 14.3, "flags": 4}, + {"matrix": [0, 6], "x": 108, "y": 18.3, "flags": 4}, + {"matrix": [1, 5], "x": 99.3, "y": 35, "flags": 4}, + {"matrix": [1, 4], "x": 86.9, "y": 31, "flags": 4}, + {"matrix": [1, 3], "x": 74.6, "y": 27, "flags": 4}, + {"matrix": [1, 2], "x": 62.3, "y": 23.1, "flags": 4}, + {"matrix": [1, 1], "x": 49.2, "y": 22.7, "flags": 4}, + {"matrix": [1, 0], "x": 33.5, "y": 22.7, "flags": 1}, + {"matrix": [2, 0], "x": 32.3, "y": 41.8, "flags": 1}, + {"matrix": [2, 1], "x": 49.7, "y": 41.8, "flags": 4}, + {"matrix": [2, 2], "x": 62.7, "y": 42.7, "flags": 4}, + {"matrix": [2, 3], "x": 75.1, "y": 46.7, "flags": 4}, + {"matrix": [2, 4], "x": 87.4, "y": 50.6, "flags": 4}, + {"matrix": [2, 5], "x": 99.7, "y": 54.6, "flags": 4}, + {"matrix": [3, 5], "x": 103.3, "y": 75.2, "flags": 4}, + {"matrix": [3, 4], "x": 90.9, "y": 71.2, "flags": 4}, + {"matrix": [3, 3], "x": 78.6, "y": 67.3, "flags": 4}, + {"matrix": [3, 2], "x": 66.3, "y": 63.3, "flags": 4}, + {"matrix": [3, 1], "x": 53.3, "y": 60.8, "flags": 4}, + {"matrix": [3, 0], "x": 32.8, "y": 60.8, "flags": 1}, + {"matrix": [4, 0], "x": 28.1, "y": 79.9, "flags": 1}, + {"matrix": [4, 1], "x": 47, "y": 79.9, "flags": 1}, + {"matrix": [4, 3], "x": 80.6, "y": 87.4, "flags": 4}, + {"matrix": [4, 5], "x": 100.6, "y": 93.8, "flags": 4}, + {"matrix": [4, 7], "x": 140.2, "y": 90.4, "flags": 4}, + {"matrix": [4, 10], "x": 166.4, "y": 82.5, "flags": 1}, + {"matrix": [4, 12], "x": 195.7, "y": 79.9, "flags": 1}, + {"matrix": [4, 13], "x": 211.4, "y": 79.9, "flags": 4}, + {"matrix": [4, 14], "x": 224, "y": 79.9, "flags": 4}, + {"matrix": [4, 15], "x": 236.6, "y": 79.9, "flags": 4}, + {"matrix": [3, 14], "x": 224, "y": 60.8, "flags": 4}, + {"matrix": [3, 13], "x": 206.7, "y": 60.8, "flags": 1}, + {"matrix": [3, 12], "x": 189.4, "y": 60.8, "flags": 4}, + {"matrix": [3, 11], "x": 176.8, "y": 60.8, "flags": 4}, + {"matrix": [3, 10], "x": 163.7, "y": 63.3, "flags": 4}, + {"matrix": [3, 9], "x": 151.4, "y": 67.3, "flags": 4}, + {"matrix": [3, 8], "x": 139.1, "y": 71.2, "flags": 4}, + {"matrix": [3, 7], "x": 126.8, "y": 75.2, "flags": 4}, + {"matrix": [2, 7], "x": 130.3, "y": 54.6, "flags": 4}, + {"matrix": [2, 8], "x": 142.6, "y": 50.6, "flags": 4}, + {"matrix": [2, 9], "x": 155, "y": 46.7, "flags": 4}, + {"matrix": [2, 10], "x": 167.3, "y": 42.7, "flags": 4}, + {"matrix": [2, 11], "x": 180.4, "y": 41.8, "flags": 4}, + {"matrix": [2, 12], "x": 193, "y": 41.8, "flags": 4}, + {"matrix": [2, 13], "x": 213.4, "y": 41.8, "flags": 4}, + {"matrix": [2, 15], "x": 236.6, "y": 39.6, "flags": 4}, + {"matrix": [1, 15], "x": 235.3, "y": 20.5, "flags": 4}, + {"matrix": [1, 14], "x": 217.4, "y": 22.7, "flags": 4}, + {"matrix": [1, 13], "x": 201.6, "y": 22.7, "flags": 4}, + {"matrix": [1, 12], "x": 189, "y": 22.7, "flags": 4}, + {"matrix": [1, 11], "x": 176.4, "y": 22, "flags": 4}, + {"matrix": [1, 10], "x": 163.4, "y": 24.5, "flags": 4}, + {"matrix": [1, 9], "x": 151.1, "y": 28.4, "flags": 4}, + {"matrix": [1, 8], "x": 138.7, "y": 32.4, "flags": 4}, + {"matrix": [1, 7], "x": 126.4, "y": 36.4, "flags": 4}, + {"matrix": [0, 7], "x": 128.1, "y": 16.3, "flags": 4}, + {"matrix": [0, 8], "x": 140.5, "y": 12.4, "flags": 4}, + {"matrix": [0, 9], "x": 152.8, "y": 8.4, "flags": 4}, + {"matrix": [0, 10], "x": 165.1, "y": 4.4, "flags": 4}, + {"matrix": [0, 11], "x": 178.2, "y": 2.9, "flags": 4}, + {"matrix": [0, 12], "x": 190.8, "y": 3.7, "flags": 4}, + {"matrix": [0, 14], "x": 209.7, "y": 3.7, "flags": 1}, + {"matrix": [0, 15], "x": 233.9, "y": 1.5, "flags": 4} + ], + "max_brightness": 118, + "sat_steps": 8, + "speed_steps": 10, + "val_steps": 8 + }, + "url": "https://skeletonkbd.com/", + "usb": { + "device_version": "1.0.0", + "pid": "0x68A0", + "vid": "0x1209" + }, + "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": 9, "y": 0}, + {"matrix": [0, 8], "x": 10, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0}, + {"matrix": [0, 10], "x": 12, "y": 0}, + {"matrix": [0, 11], "x": 13, "y": 0}, + {"matrix": [0, 12], "x": 14, "y": 0}, + {"matrix": [0, 13], "x": 15, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 17.25, "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, 7], "x": 8.5, "y": 1}, + {"matrix": [1, 8], "x": 9.5, "y": 1}, + {"matrix": [1, 9], "x": 10.5, "y": 1}, + {"matrix": [1, 10], "x": 11.5, "y": 1}, + {"matrix": [1, 11], "x": 12.5, "y": 1}, + {"matrix": [1, 12], "x": 13.5, "y": 1}, + {"matrix": [1, 13], "x": 14.5, "y": 1}, + {"matrix": [1, 14], "x": 15.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 17.25, "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, 7], "x": 8.75, "y": 2}, + {"matrix": [2, 8], "x": 9.75, "y": 2}, + {"matrix": [2, 9], "x": 10.75, "y": 2}, + {"matrix": [2, 10], "x": 11.75, "y": 2}, + {"matrix": [2, 11], "x": 12.75, "y": 2}, + {"matrix": [2, 12], "x": 13.75, "y": 2}, + {"matrix": [2, 13], "x": 14.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 17.25, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [3, 5], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 8.25, "y": 3}, + {"matrix": [3, 8], "x": 9.25, "y": 3}, + {"matrix": [3, 9], "x": 10.25, "y": 3}, + {"matrix": [3, 10], "x": 11.25, "y": 3}, + {"matrix": [3, 11], "x": 12.25, "y": 3}, + {"matrix": [3, 12], "x": 13.25, "y": 3}, + {"matrix": [3, 13], "x": 14.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 16, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 4, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 8.25, "y": 4, "w": 2.75}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 15, "y": 4}, + {"matrix": [4, 14], "x": 16, "y": 4}, + {"matrix": [4, 15], "x": 17, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c b/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c new file mode 100644 index 00000000000..3d0d6dc794c --- /dev/null +++ b/keyboards/skeletonkbd/frost68/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2023 skeletonkbd (@skeletonkbd) +// 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, + _L1, +}; + +// 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_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_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_ENT, KC_END, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LNG1, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, MO(_L1), KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [_L1] = 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_TRNS, KC_PSCR, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, 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, QK_BOOT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LNG2, 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_PGDN, KC_TRNS), + + +}; \ No newline at end of file diff --git a/keyboards/skeletonkbd/frost68/keymaps/via/keymap.c b/keyboards/skeletonkbd/frost68/keymaps/via/keymap.c new file mode 100644 index 00000000000..16d734b83f3 --- /dev/null +++ b/keyboards/skeletonkbd/frost68/keymaps/via/keymap.c @@ -0,0 +1,29 @@ +// Copyright 2023 skeletonkbd (@skeletonkbd) +// 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, + _L1, +}; + +// 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_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_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_ENT, KC_END, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LNG1, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, MO(_L1), KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [_L1] = 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_TRNS, KC_PSCR, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, 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, QK_BOOT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LNG2, 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_PGDN, KC_TRNS), + + +}; \ No newline at end of file diff --git a/keyboards/skeletonkbd/frost68/keymaps/via/rules.mk b/keyboards/skeletonkbd/frost68/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/skeletonkbd/frost68/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/skeletonkbd/frost68/readme.md b/keyboards/skeletonkbd/frost68/readme.md new file mode 100644 index 00000000000..4864fd1a19e --- /dev/null +++ b/keyboards/skeletonkbd/frost68/readme.md @@ -0,0 +1,27 @@ +# skeletonkbd/skeleton68 + +![skeletonkbd/skeleton68](https://i.imgur.com/ZrtbBNPh.jpg) + +Alice layout keyboard with acrylic case. + +- Keyboard Maintainer: [SkeletonKBD](https://github.com/skeletonkbd) +- Hardware Supported: Frost68 +- Hardware Availability: https://github.com/skeletonkbd/Frost68 + +Make example for this keyboard (after setting up your build environment): + + make skeletonkbd/skeleton68:default + +Flashing example for this keyboard: + + make skeletonkbd/skeleton68: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/skeletonkbd/frost68/rules.mk b/keyboards/skeletonkbd/frost68/rules.mk new file mode 100644 index 00000000000..e69de29bb2d diff --git a/keyboards/skeletonkbd/skeletonnumpad/config.h b/keyboards/skeletonkbd/skeletonnumpad/config.h index 829b08ea52d..ed6c706fe16 100644 --- a/keyboards/skeletonkbd/skeletonnumpad/config.h +++ b/keyboards/skeletonkbd/skeletonnumpad/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 17 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/skeletonkbd/skeletonnumpad/info.json b/keyboards/skeletonkbd/skeletonnumpad/info.json index 7ed7ee39490..380725dae5b 100644 --- a/keyboards/skeletonkbd/skeletonnumpad/info.json +++ b/keyboards/skeletonkbd/skeletonnumpad/info.json @@ -12,7 +12,11 @@ "pin": "D4" }, "rgblight": { - "max_brightness": 120 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 17, + "max_brightness": 120, + "sleep": true }, "matrix_pins": { "cols": ["D6", "D7", "B4", "B5"], diff --git a/keyboards/skippys_custom_pcs/rooboard65/config.h b/keyboards/skippys_custom_pcs/rooboard65/config.h index 5932113c947..e83868463af 100644 --- a/keyboards/skippys_custom_pcs/rooboard65/config.h +++ b/keyboards/skippys_custom_pcs/rooboard65/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 68 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/skippys_custom_pcs/rooboard65/info.json b/keyboards/skippys_custom_pcs/rooboard65/info.json index ca86bae4b98..cf059280582 100644 --- a/keyboards/skippys_custom_pcs/rooboard65/info.json +++ b/keyboards/skippys_custom_pcs/rooboard65/info.json @@ -12,6 +12,7 @@ "pin": "F7" }, "rgblight": { + "led_count": 68, "max_brightness": 96 }, "matrix_pins": { diff --git a/keyboards/skippys_custom_pcs/roopad/config.h b/keyboards/skippys_custom_pcs/roopad/config.h index f787da4012f..c97f2a22df8 100644 --- a/keyboards/skippys_custom_pcs/roopad/config.h +++ b/keyboards/skippys_custom_pcs/roopad/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 21 -#define RGBLIGHT_SLEEP - #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_CHRISTMAS diff --git a/keyboards/skippys_custom_pcs/roopad/info.json b/keyboards/skippys_custom_pcs/roopad/info.json index 0bf27a69dce..dd4ff8c1bbc 100644 --- a/keyboards/skippys_custom_pcs/roopad/info.json +++ b/keyboards/skippys_custom_pcs/roopad/info.json @@ -8,6 +8,10 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 21, + "sleep": true + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/skmt/15k/config.h b/keyboards/skmt/15k/config.h index 9d7338ccce9..6e0360ec7b3 100644 --- a/keyboards/skmt/15k/config.h +++ b/keyboards/skmt/15k/config.h @@ -19,7 +19,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define RGBLED_NUM 15 // Number of LEDs #define RGB_MATRIX_LED_COUNT 15 // Number of LEDs #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 diff --git a/keyboards/smithrune/iron160/iron160_h/info.json b/keyboards/smithrune/iron160/iron160_h/info.json index 5bef6852376..ae65246d26e 100644 --- a/keyboards/smithrune/iron160/iron160_h/info.json +++ b/keyboards/smithrune/iron160/iron160_h/info.json @@ -21,71 +21,150 @@ "led_count": 1 }, "diode_direction": "COL2ROW", + "layout_aliases": { + "LAYOUT": "LAYOUT_60_tsangan_hhkb" + }, + "community_layouts": [ + "60_tsangan_hhkb" + ], "layouts": { - "LAYOUT": { + "LAYOUT_60_ansi_tsangan_split_rshift": { + "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps", "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, 13], "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": "MO(1)", "matrix": [3, 13], "x": 14, "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, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 11], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { "layout": [ - {"label": "Esc", "matrix": [0, 0], "w": 1, "x": 0, "y": 0}, - {"label": "1", "matrix": [0, 1], "w": 1, "x": 1, "y": 0}, - {"label": "2", "matrix": [0, 2], "w": 1, "x": 2, "y": 0}, - {"label": "3", "matrix": [0, 3], "w": 1, "x": 3, "y": 0}, - {"label": "4", "matrix": [0, 4], "w": 1, "x": 4, "y": 0}, - {"label": "5", "matrix": [0, 5], "w": 1, "x": 5, "y": 0}, - {"label": "6", "matrix": [0, 6], "w": 1, "x": 6, "y": 0}, - {"label": "7", "matrix": [0, 7], "w": 1, "x": 7, "y": 0}, - {"label": "8", "matrix": [0, 8], "w": 1, "x": 8, "y": 0}, - {"label": "9", "matrix": [0, 9], "w": 1, "x": 9, "y": 0}, - {"label": "0", "matrix": [0, 10], "w": 1, "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0}, - {"label": "Bspc", "matrix": [0, 13], "w": 1, "x": 13, "y": 0}, - {"label": "Bspc", "matrix": [4, 13], "w": 1, "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, - {"label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1}, - {"label": "{", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1}, - {"label": "}", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1}, - {"label": "Caps", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, - {"label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2}, - {"label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 12.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3}, - {"label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, - {"label": "MO(1)", "matrix": [3, 13], "w": 1, "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, - {"label": "Win", "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4}, - {"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, - {"label": "Space", "matrix": [4, 6], "w": 7, "x": 4, "y": 4}, - {"label": "Alt", "matrix": [4, 10], "w": 1.5, "x": 11, "y": 4}, - {"label": "Win", "matrix": [4, 11], "w": 1, "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 12], "w": 1.5, "x": 13.5, "y": 4} + {"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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bspc", "matrix": [4, 13], "x": 14, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps", "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, 13], "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": "MO(1)", "matrix": [3, 13], "x": 14, "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, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 11], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} ] } } diff --git a/keyboards/smithrune/iron160/iron160_h/keymaps/default/keymap.c b/keyboards/smithrune/iron160/iron160_h/keymaps/default/keymap.c index b39e8d72eb4..b8dc909c947 100755 --- a/keyboards/smithrune/iron160/iron160_h/keymaps/default/keymap.c +++ b/keyboards/smithrune/iron160/iron160_h/keymaps/default/keymap.c @@ -18,18 +18,18 @@ 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, + [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_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_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, KC_RCTL ), - [1] = LAYOUT( - QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + [1] = LAYOUT_60_tsangan_hhkb( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/smithrune/iron160/iron160_h/keymaps/via/keymap.c b/keyboards/smithrune/iron160/iron160_h/keymaps/via/keymap.c index 5a700c2ee87..653a3dcd32a 100755 --- a/keyboards/smithrune/iron160/iron160_h/keymaps/via/keymap.c +++ b/keyboards/smithrune/iron160/iron160_h/keymaps/via/keymap.c @@ -18,32 +18,32 @@ 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, + [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_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_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, KC_RCTL, KC_BSPC + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, KC_RCTL ), - [1] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + [1] = LAYOUT_60_tsangan_hhkb( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + [2] = LAYOUT_60_tsangan_hhkb( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + [3] = LAYOUT_60_tsangan_hhkb( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), + _______, _______, _______, _______, _______, _______, _______ + ) }; diff --git a/keyboards/smithrune/iron160/iron160_h/rules.mk b/keyboards/smithrune/iron160/iron160_h/rules.mk index 4c6ba89ef9d..c889da168d6 100644 --- a/keyboards/smithrune/iron160/iron160_h/rules.mk +++ b/keyboards/smithrune/iron160/iron160_h/rules.mk @@ -16,5 +16,3 @@ LTO_ENABLE = no EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = legacy -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/smithrune/iron160/iron160_s/info.json b/keyboards/smithrune/iron160/iron160_s/info.json index f5d80be1788..91c66a3d4fb 100644 --- a/keyboards/smithrune/iron160/iron160_s/info.json +++ b/keyboards/smithrune/iron160/iron160_s/info.json @@ -24,74 +24,650 @@ "indicators": { "caps_lock": "B0" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { + "layout": [ + {"label": "~", "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bspc", "matrix": [4, 13], "x": 14, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps", "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, 13], "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": "MO(1)", "matrix": [3, 13], "x": 14, "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, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + {"label": "~", "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps", "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, 13], "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": "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, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"label": "~", "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bspc", "matrix": [4, 13], "x": 14, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps", "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, 13], "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": "MO(1)", "matrix": [3, 13], "x": 14, "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, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"label": "~", "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps", "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, 13], "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": "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, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"label": "~", "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bspc", "matrix": [4, 13], "x": 14, "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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps", "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, 13], "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": "MO(1)", "matrix": [3, 13], "x": 14, "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, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label": "~", "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"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": "Caps", "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, 13], "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": "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, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"label": "~", "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bspc", "matrix": [4, 13], "x": 14, "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": "Caps", "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, 13], "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": "MO(1)", "matrix": [3, 13], "x": 14, "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, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"label": "~", "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"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": "Caps", "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, 13], "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": "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, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { "layout": [ - {"label": "~", "matrix": [0, 0], "w": 1, "x": 0, "y": 0}, - {"label": "!", "matrix": [0, 1], "w": 1, "x": 1, "y": 0}, - {"label": "@", "matrix": [0, 2], "w": 1, "x": 2, "y": 0}, - {"label": "#", "matrix": [0, 3], "w": 1, "x": 3, "y": 0}, - {"label": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0}, - {"label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0}, - {"label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0}, - {"label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0}, - {"label": "*", "matrix": [0, 8], "w": 1, "x": 8, "y": 0}, - {"label": "(", "matrix": [0, 9], "w": 1, "x": 9, "y": 0}, - {"label": ")", "matrix": [0, 10], "w": 1, "x": 10, "y": 0}, - {"label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0}, - {"label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0}, - {"label": "Bspc", "matrix": [0, 13], "w": 1, "x": 13, "y": 0}, - {"label": "Bspc", "matrix": [4, 13], "w": 1, "x": 14, "y": 0}, - {"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, - {"label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1}, - {"label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1}, - {"label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1}, - {"label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1}, - {"label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1}, - {"label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1}, - {"label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1}, - {"label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1}, - {"label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1}, - {"label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1}, - {"label": "]", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1}, - {"label": "[", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1}, - {"label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1}, - {"label": "Caps", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, - {"label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2}, - {"label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2}, - {"label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2}, - {"label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2}, - {"label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2}, - {"label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2}, - {"label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2}, - {"label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2}, - {"label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2}, - {"label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2}, - {"label": "\"", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2}, - {"label": "~", "matrix": [2, 12], "w": 1, "x": 12.75, "y": 2}, - {"label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2}, - {"label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3}, - {"label": "|", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3}, - {"label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3}, - {"label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3}, - {"label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3}, - {"label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3}, - {"label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3}, - {"label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3}, - {"label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3}, - {"label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3}, - {"label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3}, - {"label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3}, - {"label": "Shift", "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, - {"label": "MO(1)", "matrix": [3, 13], "w": 1, "x": 14, "y": 3}, - {"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, - {"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4}, - {"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, - {"label": "Space", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4}, - {"label": "Alt", "matrix": [4, 9], "w": 1.25, "x": 10, "y": 4}, - {"label": "Win", "matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4}, - {"label": "Menu", "matrix": [4, 11], "w": 1.25, "x": 12.5, "y": 4}, - {"label": "Ctrl", "matrix": [4, 12], "w": 1.25, "x": 13.75, "y": 4} + {"label": "~", "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": "Bspc", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bspc", "matrix": [4, 13], "x": 14, "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": "Caps", "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, 13], "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": "MO(1)", "matrix": [3, 13], "x": 14, "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, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "Menu", "matrix": [4, 11], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} ] } } diff --git a/keyboards/smithrune/iron160/iron160_s/keymaps/default/keymap.c b/keyboards/smithrune/iron160/iron160_s/keymaps/default/keymap.c index 1cc3dea2f6d..a8efb9749dd 100755 --- a/keyboards/smithrune/iron160/iron160_s/keymaps/default/keymap.c +++ b/keyboards/smithrune/iron160/iron160_s/keymaps/default/keymap.c @@ -18,18 +18,18 @@ 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, + [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_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, MO(1) , - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_BSPC + 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_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL ), - [1] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + [1] = LAYOUT_all( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/smithrune/iron160/iron160_s/keymaps/via/keymap.c b/keyboards/smithrune/iron160/iron160_s/keymaps/via/keymap.c index f8790cc6007..0bbaa7e8456 100755 --- a/keyboards/smithrune/iron160/iron160_s/keymaps/via/keymap.c +++ b/keyboards/smithrune/iron160/iron160_s/keymaps/via/keymap.c @@ -18,32 +18,32 @@ 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, + [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_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, MO(1) , - KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_BSPC + 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_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL ), - [1] = LAYOUT( - QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + [1] = LAYOUT_all( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/smithrune/iron160/iron160_s/matrix_diagram.md b/keyboards/smithrune/iron160/iron160_s/matrix_diagram.md new file mode 100644 index 00000000000..3b4d9bc5789 --- /dev/null +++ b/keyboards/smithrune/iron160/iron160_s/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for SmithRune I160-S + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │4D │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ 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 │3D │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ +│40 │41 │42 │46 │49 │4A │4B │4C │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │46 │4A │4B │4C │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` diff --git a/keyboards/smithrune/iron160/iron160_s/rules.mk b/keyboards/smithrune/iron160/iron160_s/rules.mk index b7824fcbdf7..2c863bbe31a 100644 --- a/keyboards/smithrune/iron160/iron160_s/rules.mk +++ b/keyboards/smithrune/iron160/iron160_s/rules.mk @@ -16,5 +16,3 @@ LTO_ENABLE = no EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = legacy -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/smithrune/iron165r2/f072/config.h b/keyboards/smithrune/iron165r2/f072/config.h index 9f86b9e55c7..67cbf311ae3 100644 --- a/keyboards/smithrune/iron165r2/f072/config.h +++ b/keyboards/smithrune/iron165r2/f072/config.h @@ -21,7 +21,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_CHANNEL 1 #define BACKLIGHT_PAL_MODE 1 -#define RGBLED_NUM 22 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/smithrune/iron165r2/f072/info.json b/keyboards/smithrune/iron165r2/f072/info.json index 8ced3df7758..9e980a15b98 100644 --- a/keyboards/smithrune/iron165r2/f072/info.json +++ b/keyboards/smithrune/iron165r2/f072/info.json @@ -4,6 +4,9 @@ "levels": 20, "breathing": true }, + "rgblight": { + "led_count": 22 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/smithrune/iron165r2/f072/rules.mk b/keyboards/smithrune/iron165r2/f072/rules.mk index 8b584c9a42e..b524e61f4bb 100644 --- a/keyboards/smithrune/iron165r2/f072/rules.mk +++ b/keyboards/smithrune/iron165r2/f072/rules.mk @@ -13,5 +13,3 @@ LTO_ENABLE = no ENCODER_ENABLE = no BACKLIGHT_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/smithrune/iron165r2/f411/config.h b/keyboards/smithrune/iron165r2/f411/config.h index fa904fdabb9..1cd8a5c1503 100644 --- a/keyboards/smithrune/iron165r2/f411/config.h +++ b/keyboards/smithrune/iron165r2/f411/config.h @@ -19,9 +19,7 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 -#define RGBLED_NUM 22 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/smithrune/iron165r2/f411/info.json b/keyboards/smithrune/iron165r2/f411/info.json index 7fd45874f22..220cc4d019a 100644 --- a/keyboards/smithrune/iron165r2/f411/info.json +++ b/keyboards/smithrune/iron165r2/f411/info.json @@ -4,6 +4,9 @@ "levels": 20, "breathing": true }, + "rgblight": { + "led_count": 22 + }, "ws2812": { "pin": "B15", "driver": "pwm" diff --git a/keyboards/smithrune/iron165r2/f411/rules.mk b/keyboards/smithrune/iron165r2/f411/rules.mk index 5d4fe45457b..e38a7a71b3d 100644 --- a/keyboards/smithrune/iron165r2/f411/rules.mk +++ b/keyboards/smithrune/iron165r2/f411/rules.mk @@ -14,5 +14,3 @@ ENCODER_ENABLE = no EEPROM_DRIVER = i2c BACKLIGHT_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/smithrune/iron165r2/iron165r2.c b/keyboards/smithrune/iron165r2/iron165r2.c index 7406c0029cf..6f1606f89d3 100644 --- a/keyboards/smithrune/iron165r2/iron165r2.c +++ b/keyboards/smithrune/iron165r2/iron165r2.c @@ -28,8 +28,6 @@ void board_init(void) { #endif } -#define LED_PIN_ON_STATE 1 - bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if(res) writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock); diff --git a/keyboards/smithrune/iron180/rules.mk b/keyboards/smithrune/iron180/rules.mk index 837bececdc5..bfb4a63764f 100644 --- a/keyboards/smithrune/iron180/rules.mk +++ b/keyboards/smithrune/iron180/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no LTO_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/smk60/config.h b/keyboards/smk60/config.h index 9cc3f8601e0..24fbd4d7b9e 100644 --- a/keyboards/smk60/config.h +++ b/keyboards/smk60/config.h @@ -21,7 +21,6 @@ //#define NO_ACTION_ONESHOT //rgb light setting -#define RGBLED_NUM 4 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -32,6 +31,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/smk60/info.json b/keyboards/smk60/info.json index f80f3f260b3..df95cc0f249 100644 --- a/keyboards/smk60/info.json +++ b/keyboards/smk60/info.json @@ -8,6 +8,11 @@ "pid": "0x6585", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/sneakbox/aliceclonergb/config.h b/keyboards/sneakbox/aliceclonergb/config.h index ceccc0915b8..8c87904b099 100644 --- a/keyboards/sneakbox/aliceclonergb/config.h +++ b/keyboards/sneakbox/aliceclonergb/config.h @@ -27,7 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/sneakbox/aliceclonergb/info.json b/keyboards/sneakbox/aliceclonergb/info.json index e16645e7358..d9b76d7676b 100644 --- a/keyboards/sneakbox/aliceclonergb/info.json +++ b/keyboards/sneakbox/aliceclonergb/info.json @@ -26,6 +26,11 @@ "bootmagic": { "matrix": [2, 0] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16 + }, "ws2812": { "pin": "D5" }, diff --git a/keyboards/sneakbox/ava/config.h b/keyboards/sneakbox/ava/config.h index a97d34f7f26..8c87904b099 100644 --- a/keyboards/sneakbox/ava/config.h +++ b/keyboards/sneakbox/ava/config.h @@ -27,7 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 \ No newline at end of file diff --git a/keyboards/sneakbox/ava/info.json b/keyboards/sneakbox/ava/info.json index 693794e0310..b96ed8290e7 100644 --- a/keyboards/sneakbox/ava/info.json +++ b/keyboards/sneakbox/ava/info.json @@ -22,6 +22,11 @@ "caps_lock": "D6", "num_lock": "D4" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/soda/cherish/config.h b/keyboards/soda/cherish/config.h index 9d07bd0dce4..43840513f48 100644 --- a/keyboards/soda/cherish/config.h +++ b/keyboards/soda/cherish/config.h @@ -48,7 +48,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 1 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/soda/cherish/info.json b/keyboards/soda/cherish/info.json index 71ee91e6604..48e4d137be9 100644 --- a/keyboards/soda/cherish/info.json +++ b/keyboards/soda/cherish/info.json @@ -8,6 +8,11 @@ "pid": "0xEB52", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "A13" }, diff --git a/keyboards/soda/cherish/rules.mk b/keyboards/soda/cherish/rules.mk index 4e0fe558730..a8af2d4ebca 100644 --- a/keyboards/soda/cherish/rules.mk +++ b/keyboards/soda/cherish/rules.mk @@ -14,5 +14,3 @@ AUDIO_ENABLE = no # Audio output # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/soda/mango/config.h b/keyboards/soda/mango/config.h new file mode 100644 index 00000000000..6e9f18cd5d2 --- /dev/null +++ b/keyboards/soda/mango/config.h @@ -0,0 +1,14 @@ +// Copyright 2023 devzhaoyou (@gevzhaoyou) +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define RGB_MATRIX_LED_COUNT 17 + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES + +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 + +#define RGB_DISABLE_WHEN_USB_SUSPENDED // + diff --git a/keyboards/soda/mango/info.json b/keyboards/soda/mango/info.json index a2b3d4b0e09..1524d99da3f 100644 --- a/keyboards/soda/mango/info.json +++ b/keyboards/soda/mango/info.json @@ -20,7 +20,82 @@ "bootmagic": true, "extrakey": true, "mousekey": true, - "nkro": true + "nkro": true, + "rgb_matrix": true + }, + "ws2812": { + "pin": "A2" + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "driver": "WS2812", + "layout": [ + {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, + {"flags": 1, "matrix": [0, 1], "x": 75, "y": 0}, + {"flags": 1, "matrix": [0, 2], "x": 150, "y": 0}, + {"flags": 1, "matrix": [0, 3], "x": 224, "y": 0}, + {"flags": 1, "matrix": [1, 0], "x": 0, "y": 16}, + {"flags": 1, "matrix": [1, 1], "x": 75, "y": 16}, + {"flags": 1, "matrix": [1, 2], "x": 150, "y": 16}, + {"flags": 1, "matrix": [2, 0], "x": 0, "y": 32}, + {"flags": 1, "matrix": [2, 1], "x": 75, "y": 32}, + {"flags": 1, "matrix": [2, 2], "x": 150, "y": 32}, + {"flags": 1, "matrix": [2, 3], "x": 224, "y": 24}, + {"flags": 1, "matrix": [3, 0], "x": 0, "y": 48}, + {"flags": 1, "matrix": [3, 1], "x": 75, "y": 48}, + {"flags": 1, "matrix": [3, 2], "x": 150, "y": 48}, + {"flags": 1, "matrix": [4, 0], "x": 32, "y": 64}, + {"flags": 1, "matrix": [4, 1], "x": 150, "y": 64}, + {"flags": 1, "matrix": [4, 2], "x": 224, "y": 64} + ] + }, + "indicators": { + "caps_lock": "B15", + "on_state": 0 }, "community_layouts": ["numpad_5x4"], "layouts": { diff --git a/keyboards/soda/pocket/config.h b/keyboards/soda/pocket/config.h index 2387f9a000c..ce02ad5d68d 100644 --- a/keyboards/soda/pocket/config.h +++ b/keyboards/soda/pocket/config.h @@ -15,8 +15,6 @@ along with this program. If not, see . #pragma once -#define LED_NUM_LOCK_PIN B15 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/soda/pocket/info.json b/keyboards/soda/pocket/info.json index cef1aec57b0..b15447c75e7 100644 --- a/keyboards/soda/pocket/info.json +++ b/keyboards/soda/pocket/info.json @@ -9,6 +9,9 @@ "device_version": "1.0.2", "force_nkro": true }, + "indicators": { + "num_lock": "B15" + }, "ws2812": { "pin": "C15" }, @@ -50,25 +53,25 @@ {"matrix": [2, 3], "x": 3.25, "y": 2.25}, {"matrix": [2, 4], "x": 4.25, "y": 2.25}, {"matrix": [2, 5], "x": 5.25, "y": 2.25}, - {"matrix": [3, 3], "x": 6.25, "y": 2.25, "h": 2}, - {"matrix": [3, 4], "x": 3.25, "y": 3.25}, - {"matrix": [3, 5], "x": 4.25, "y": 3.25}, - {"matrix": [3, 6], "x": 5.25, "y": 3.25}, + {"matrix": [3, 3], "x": 3.25, "y": 3.25}, + {"matrix": [3, 4], "x": 4.25, "y": 3.25}, + {"matrix": [3, 5], "x": 5.25, "y": 3.25}, + {"matrix": [3, 6], "x": 6.25, "y": 2.25, "h": 2}, {"matrix": [4, 1], "x": 1, "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": [5, 0], "x": 6.25, "y": 4.25, "h": 2}, - {"matrix": [5, 1], "x": 0, "y": 5.25}, - {"matrix": [5, 2], "x": 1, "y": 5.25}, - {"matrix": [5, 4], "x": 2, "y": 5.25}, + {"matrix": [5, 0], "x": 0, "y": 5.25}, + {"matrix": [5, 1], "x": 1, "y": 5.25}, + {"matrix": [5, 2], "x": 2, "y": 5.25}, - {"matrix": [5, 5], "x": 3.25, "y": 5.25, "w": 2}, - {"matrix": [5, 6], "x": 5.25, "y": 5.25} + {"matrix": [5, 4], "x": 3.25, "y": 5.25, "w": 2}, + {"matrix": [5, 5], "x": 5.25, "y": 5.25}, + {"matrix": [5, 6], "x": 6.25, "y": 4.25, "h": 2} ] } } diff --git a/keyboards/soda/pocket/rules.mk b/keyboards/soda/pocket/rules.mk index 27092ddbc63..24a8c52e481 100644 --- a/keyboards/soda/pocket/rules.mk +++ b/keyboards/soda/pocket/rules.mk @@ -9,5 +9,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/sofle/keyhive/config.h b/keyboards/sofle/keyhive/config.h index 2dccaba6ba4..1e90cbab488 100755 --- a/keyboards/sofle/keyhive/config.h +++ b/keyboards/sofle/keyhive/config.h @@ -18,8 +18,6 @@ #pragma once -#define TAP_CODE_DELAY 10 - // OLED settings #define OLED_TIMEOUT 80000 #define OLED_BRIGHTNESS 90 @@ -27,40 +25,3 @@ #define SPLIT_WPM_ENABLE #define SPLIT_OLED_ENABLE #define SPLIT_TRANSPORT_MIRROR - -// Add RGB underglow -// by defining in the keyboard, incompatible keymaps will fail to compile. -#ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 74 -# define RGBLIGHT_HUE_STEP 10 -# define RGBLIGHT_SAT_STEP 17 -# define RGBLIGHT_VAL_STEP 17 -//# define RGBLIGHT_LAYERS //Enable layer light indicators. Not required as updates are done in layer_state_set_user and led_update_user (+588). -# define RGBLIGHT_SLEEP //Turn off LEDs when computer sleeping (+72) - -//RGB LED Conversion macro from physical array to electric array (+146). This results in better looking animated effects. -//First section is the LED matrix, second section is the electrical wiring order, and the third section is the desired mapping -# define LED_LAYOUT( \ - L00, L01, L02, L03, L04, L05, L08, L09, L010, L011, L012, L013, \ - L10, L12, L14, L19, L111, L113, \ - L20, L21, L22, L23, L24, L25, L28, L29, L210, L211, L212, L213, \ - L30, L31, L32, L33, L34, L35, L38, L39, L310, L311, L312, L313, \ - L40, L42, L44, L49, L411, L413, \ - L50, L51, L52, L53, L54, L55, L58, L59, L510, L511, L512, L513, \ - L62, L63, L64, L65, L66, L67, L68, L69, L610, L611, \ - L71, L76, L77, L712 )\ - { \ - L14,L12,L10,L40,L42,L44,L71,L76,L66,L65,L55,L35,L25,L05,L04,L24,L34,L54,L64,L63,L53,L33,L23,L03,L02,L22,L32,L52,L62,L51,L31,L21,L01,L00,L20,L30,L50,L19,L111,L113,L413,L411,L49,L712,L77,L67,L68,L58,L38,L28,L08,L09,L29,L39,L59,L69,L610,L510,L310,L210,L010,L011,L211,L311,L511,L611,L512,L312,L212,L012,L013,L213,L313,L513, \ - } -//RGB LED logical order map -# define RGBLIGHT_LED_MAP LED_LAYOUT( \ - 5, 6, 17, 18, 29, 30, 43, 44, 55, 56, 67, 68, \ - 4, 16, 28, 45, 57, 69, \ - 3, 7, 15, 19, 27, 31, 42, 46, 54, 58, 66, 70, \ - 2, 8, 14, 20, 26, 32, 41, 47, 53, 59, 65, 71, \ - 1, 13, 25, 48, 60, 72, \ - 0, 9, 12, 21, 24, 33, 40, 49, 52, 61, 64, 73, \ - 11, 22, 23, 34, 35, 38, 39, 50, 51, 62, \ - 10, 36, 37, 63 ) - -#endif diff --git a/keyboards/sofle/keyhive/info.json b/keyboards/sofle/keyhive/info.json index 12053234fff..1f7ae8b2098 100644 --- a/keyboards/sofle/keyhive/info.json +++ b/keyboards/sofle/keyhive/info.json @@ -10,7 +10,11 @@ "pin": "D3" }, "rgblight": { + "hue_steps": 10, + "led_count": 74, "max_brightness": 100, + "led_map": [28, 16, 4, 1, 13, 25, 10, 36, 35, 34, 33, 32, 31, 30, 29, 27, 26, 24, 23, 22, 21, 20, 19, 18, 17, 15, 14, 12, 11, 9, 8, 7, 6, 5, 3, 2, 0, 45, 57, 69, 72, 60, 48, 63, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 61, 62, 64, 65, 66, 67, 68, 70, 71, 73], + "sleep": true, "split_count": [37, 37] }, "matrix_pins": { @@ -39,6 +43,9 @@ } } }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { diff --git a/keyboards/sofle/keymaps/devdev/rules.mk b/keyboards/sofle/keymaps/devdev/rules.mk index 92a293196f2..860c2122da2 100644 --- a/keyboards/sofle/keymaps/devdev/rules.mk +++ b/keyboards/sofle/keymaps/devdev/rules.mk @@ -1,6 +1,6 @@ MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = yes +CONSOLE_ENABLE = no RGBLIGHT_ENABLE = yes ENCODER_ENABLE = yes LTO_ENABLE = yes diff --git a/keyboards/sofle/keymaps/keyhive_via/encoder.c b/keyboards/sofle/keymaps/keyhive_via/encoder.c deleted file mode 100644 index 7775cb7b86f..00000000000 --- a/keyboards/sofle/keymaps/keyhive_via/encoder.c +++ /dev/null @@ -1,48 +0,0 @@ - /* Copyright 2020 Josef Adamcik - * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 - static uint8_t encoder_state[2] = {0}; - //Use these keymap positions to specify the encoder functions on rotate. - static keypos_t encoder_ccw[2] = {{6, 3}, {6, 8}}; - static keypos_t encoder_cw[2] = {{6, 1}, {6, 6}}; - - void encoder_action_unregister(void) { - for (int index = 0; index < 2; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t){.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], .pressed = false, .time = timer_read(), .type = KEY_EVENT}; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } - } - - void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t){.key = clockwise ? encoder_cw[index] : encoder_ccw[index], .pressed = true, .time = timer_read(), .type = KEY_EVENT}; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); - } - - void matrix_scan_user(void) { encoder_action_unregister(); } - - bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return false; - }; -#endif diff --git a/keyboards/sofle/keymaps/keyhive_via/keymap.c b/keyboards/sofle/keymaps/keyhive_via/keymap.c index 032c834f44c..8af870c5741 100644 --- a/keyboards/sofle/keymaps/keyhive_via/keymap.c +++ b/keyboards/sofle/keymaps/keyhive_via/keymap.c @@ -18,7 +18,6 @@ #include QMK_KEYBOARD_H #include "oled.c" -#include "encoder.c" // Base layer is the number of layers CYCLE selects from. #define BASE_LAYERS 2 @@ -35,27 +34,6 @@ enum custom_layers { _RAISE }; -// Extra keys are added for rotary encoder support in VIA -#define LAYOUT_via( \ - LA1, LA2, LA3, LA4, LA5, LA6, RA6, RA5, RA4, RA3, RA2, RA1, \ - LB1, LB2, LB3, LB4, LB5, LB6, LB7, RB7, RB6, RB5, RB4, RB3, RB2, RB1, \ - LC1, LC2, LC3, LC4, LC5, LC6, LE1, RE6, RC6, RC5, RC4, RC3, RC2, RC1, \ - LD1, LD2, LD3, LD4, LD5, LD6, LD7, RD7, RD6, RD5, RD4, RD3, RD2, RD1, \ - LE2, LE3, LE4, LE5, LE6, RE5, RE4, RE3, RE2, RE1 \ - ) \ - { \ - { LA1, LA2, LA3, LA4, LA5, LA6, KC_NO }, \ - { LB1, LB2, LB3, LB4, LB5, LB6, LB7 }, \ - { LC1, LC2, LC3, LC4, LC5, LC6, KC_NO }, \ - { LD1, LD2, LD3, LD4, LD5, LD6, LD7 }, \ - { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO }, \ - { RA1, RA2, RA3, RA4, RA5, RA6, KC_NO }, \ - { RB1, RB2, RB3, RB4, RB5, RB6, RB7 }, \ - { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO }, \ - { RD1, RD2, RD3, RD4, RD5, RD6, RD7 }, \ - { RE1, RE2, RE3, RE4, RE5, RE6, KC_NO } \ - } - //Default keymap. This can be changed in Via. Use oled.c to change beavior that Via cannot change. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -74,11 +52,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------' '------''---------------------------' */ -[_QWERTY] = LAYOUT_via( +[_QWERTY] = LAYOUT( KC_GRV, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_GRV , - KC_ESC, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_VOLU, KC_PGUP, 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_MUTE, KC_NO , 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_VOLD, KC_PGDN, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + 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_MUTE, KC_NO, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_LGUI,KC_LALT ,KC_LCTL,MO(_LOWER), KC_ENT , KC_SPC ,MO(_RAISE),KC_RCTL, KC_RALT, KC_RGUI ), /* @@ -97,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------' '------''---------------------------' */ /* -[_COLEMAK] = LAYOUT_via( +[_COLEMAK] = LAYOUT( KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_GRV , KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_VOLU, KC_PGUP, KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC, KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_D , KC_MUTE, KC_NO , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, @@ -121,11 +99,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | |/ / \ \ | | | | | * `-----------------------------------' '------''---------------------------' */ -[_COLEMAK] = LAYOUT_via( +[_COLEMAK] = LAYOUT( KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_GRV , - KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_VOLU, KC_PGUP, KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC, - KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_G , KC_MUTE, KC_NO , KC_M , KC_N , KC_E , KC_I , KC_O , KC_QUOT, - KC_LSFT, KC_Z , KC_X , KC_C , KC_D , KC_V , KC_VOLD, KC_PGDN, KC_K , KC_H , KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC, + KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M , KC_N , KC_E , KC_I , KC_O , KC_QUOT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_D , KC_V , _______, _______, KC_K , KC_H , KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LGUI, KC_LALT,KC_LCTL,MO(_LOWER), KC_ENT , KC_SPC ,MO(_RAISE),KC_RCTL, KC_RALT, KC_RGUI ), @@ -143,11 +121,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | |/ / \ \ | | | | | * `-----------------------------------' '------''---------------------------' */ -[_LOWER] = LAYOUT_via( +[_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_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_F12 , - _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, - _______, KC_EQL , KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_F12 , + _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, + _______, KC_EQL , KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* RAISE @@ -164,11 +142,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | |/ / \ \ | | | | | * `----------------------------------' '------''---------------------------' */ -[_RAISE] = LAYOUT_via( +[_RAISE] = LAYOUT( CYCLE, _______, _______, _______, _______ , _______, _______, _______, _______, _______, _______, _______, - _______, KC_INS , KC_PSCR, KC_APP , XXXXXXX , XXXXXXX, _______, _______, KC_PGUP, _______, KC_UP , _______, _______, KC_BSPC, - _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX , KC_CAPS, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_BSPC, - _______, KC_UNDO, KC_CUT , KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, _______, + _______, KC_INS , KC_PSCR, KC_APP , XXXXXXX , XXXXXXX, KC_PGUP, _______, KC_UP , _______, _______, KC_BSPC, + _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX , KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_BSPC, + _______, KC_UNDO, KC_CUT , KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; @@ -189,3 +167,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // this uses less memory than returning in each case. return keycode < SAFE_RANGE; }; + + #ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_BSPC, KC_DEL), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/sofle/keymaps/keyhive_via/rules.mk b/keyboards/sofle/keymaps/keyhive_via/rules.mk index 2875254096a..c7fce92a4f6 100644 --- a/keyboards/sofle/keymaps/keyhive_via/rules.mk +++ b/keyboards/sofle/keymaps/keyhive_via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes RGBLIGHT_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/sofle/keymaps/via/config.h b/keyboards/sofle/keymaps/via/config.h index 439ad2c0c6d..e53881987da 100644 --- a/keyboards/sofle/keymaps/via/config.h +++ b/keyboards/sofle/keymaps/via/config.h @@ -24,7 +24,7 @@ for more options. */ #if defined(KEYBOARD_sofle_rev1) // Add RGB underglow and top facing lighting # define WS2812_DI_PIN D3 -# define RGBLED_NUM 70 +# define RGBLED_NUM 72 # define RGBLED_SPLIT \ { 36, 36 } # ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/sofle/rev1/config.h b/keyboards/sofle/rev1/config.h deleted file mode 100644 index be645497484..00000000000 --- a/keyboards/sofle/rev1/config.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#define TAPPING_TERM 100 - -#define TAP_CODE_DELAY 10 diff --git a/keyboards/sofle/rev1/info.json b/keyboards/sofle/rev1/info.json index 23d411602eb..5ab71ff1e37 100644 --- a/keyboards/sofle/rev1/info.json +++ b/keyboards/sofle/rev1/info.json @@ -28,6 +28,12 @@ } } }, + "tapping": { + "term": 100 + }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { diff --git a/keyboards/sowbug/68keys/config.h b/keyboards/sowbug/68keys/config.h index 04b1fced2b6..0836a67e880 100644 --- a/keyboards/sowbug/68keys/config.h +++ b/keyboards/sowbug/68keys/config.h @@ -19,8 +19,7 @@ #pragma once #define RGB_MATRIX_KEYPRESSES -#define RGBLED_NUM 68 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 68 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/sowbug/68keys/rules.mk b/keyboards/sowbug/68keys/rules.mk index b7807ae4185..c49a369dd02 100644 --- a/keyboards/sowbug/68keys/rules.mk +++ b/keyboards/sowbug/68keys/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/sowbug/ansi_tkl/config.h b/keyboards/sowbug/ansi_tkl/config.h index 08c01e662da..4b1538b6450 100644 --- a/keyboards/sowbug/ansi_tkl/config.h +++ b/keyboards/sowbug/ansi_tkl/config.h @@ -19,8 +19,7 @@ #pragma once #define RGB_MATRIX_KEYPRESSES -#define RGBLED_NUM 87 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 87 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 diff --git a/keyboards/sowbug/ansi_tkl/rules.mk b/keyboards/sowbug/ansi_tkl/rules.mk index b7807ae4185..c49a369dd02 100644 --- a/keyboards/sowbug/ansi_tkl/rules.mk +++ b/keyboards/sowbug/ansi_tkl/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/spaceholdings/nebula12/config.h b/keyboards/spaceholdings/nebula12/config.h index 9d044bb4c52..209da536816 100755 --- a/keyboards/spaceholdings/nebula12/config.h +++ b/keyboards/spaceholdings/nebula12/config.h @@ -40,10 +40,6 @@ along with this program. If not, see . #define WS2812_SPI_SCK_PAL_MODE 0 #define WS2812_SPI_SCK_PIN B13 - #define RGBLED_NUM 10 /* If number is smaller, buffer updates too fast causing glitches */ - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/spaceholdings/nebula12/info.json b/keyboards/spaceholdings/nebula12/info.json index aa5dbc1873a..c35cc685f2d 100755 --- a/keyboards/spaceholdings/nebula12/info.json +++ b/keyboards/spaceholdings/nebula12/info.json @@ -8,6 +8,11 @@ "pid": "0x5337", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/spaceholdings/nebula68/config.h b/keyboards/spaceholdings/nebula68/config.h index f0538478228..b532cea3d29 100755 --- a/keyboards/spaceholdings/nebula68/config.h +++ b/keyboards/spaceholdings/nebula68/config.h @@ -23,10 +23,6 @@ along with this program. If not, see . #define WS2812_DMA_STREAM STM32_DMA1_STREAM3 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/spaceholdings/nebula68/info.json b/keyboards/spaceholdings/nebula68/info.json index 2e1165a8107..50335a6911d 100755 --- a/keyboards/spaceholdings/nebula68/info.json +++ b/keyboards/spaceholdings/nebula68/info.json @@ -13,6 +13,9 @@ "driver": "pwm" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, "max_brightness": 210 }, "matrix_pins": { diff --git a/keyboards/spaceman/2_milk/info.json b/keyboards/spaceman/2_milk/info.json index 333bad3b87e..a703c8f8903 100644 --- a/keyboards/spaceman/2_milk/info.json +++ b/keyboards/spaceman/2_milk/info.json @@ -8,6 +8,9 @@ "pid": "0x3225", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/spacetime/keymaps/kyleterry/keymap.c b/keyboards/spacetime/keymaps/kyleterry/keymap.c index fd91fafbd22..5aaab878145 100644 --- a/keyboards/spacetime/keymaps/kyleterry/keymap.c +++ b/keyboards/spacetime/keymaps/kyleterry/keymap.c @@ -98,22 +98,6 @@ 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) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} - void td_common(tap_dance_state_t *state, void *user_data) { switch (state->count) { case 1: diff --git a/keyboards/spiderisland/split78/info.json b/keyboards/spiderisland/split78/info.json index 7b87c2b7135..e507a668b1d 100644 --- a/keyboards/spiderisland/split78/info.json +++ b/keyboards/spiderisland/split78/info.json @@ -15,6 +15,9 @@ "ws2812": { "driver": "i2c" }, + "build": { + "debounce_type": "sym_eager_pr" + }, "processor": "atmega32a", "bootloader": "bootloadhid", "debounce": 50, diff --git a/keyboards/spiderisland/split78/rules.mk b/keyboards/spiderisland/split78/rules.mk index e77cf060bed..edddf67abc8 100644 --- a/keyboards/spiderisland/split78/rules.mk +++ b/keyboards/spiderisland/split78/rules.mk @@ -8,7 +8,6 @@ CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -DEBOUNCE_TYPE = sym_eager_pr # custom matrix setup CUSTOM_MATRIX = lite diff --git a/keyboards/spleeb/info.json b/keyboards/spleeb/info.json index 10cd0e35b8a..e03faa7c3e9 100644 --- a/keyboards/spleeb/info.json +++ b/keyboards/spleeb/info.json @@ -54,6 +54,7 @@ {"matrix": [0, 4], "x": 4, "y": 0.2}, {"matrix": [0, 5], "x": 5, "y": 0.4}, {"matrix": [0, 6], "x": 6, "y": 0.9}, + {"matrix": [5, 6], "x": 9.75, "y": 0.9}, {"matrix": [5, 5], "x": 10.75, "y": 0.4}, {"matrix": [5, 4], "x": 11.75, "y": 0.2}, @@ -61,6 +62,7 @@ {"matrix": [5, 2], "x": 13.75, "y": 0.2}, {"matrix": [5, 1], "x": 14.75, "y": 0.6}, {"matrix": [5, 0], "x": 15.75, "y": 0.6}, + {"matrix": [1, 0], "x": 0, "y": 1.6}, {"matrix": [1, 1], "x": 1, "y": 1.6}, {"matrix": [1, 2], "x": 2, "y": 1.2}, @@ -68,6 +70,7 @@ {"matrix": [1, 4], "x": 4, "y": 1.2}, {"matrix": [1, 5], "x": 5, "y": 1.4}, {"matrix": [1, 6], "x": 6, "y": 1.9}, + {"matrix": [6, 6], "x": 9.75, "y": 1.9}, {"matrix": [6, 5], "x": 10.75, "y": 1.4}, {"matrix": [6, 4], "x": 11.75, "y": 1.2}, @@ -75,6 +78,7 @@ {"matrix": [6, 2], "x": 13.75, "y": 1.2}, {"matrix": [6, 1], "x": 14.75, "y": 1.6}, {"matrix": [6, 0], "x": 15.75, "y": 1.6}, + {"matrix": [2, 0], "x": 0, "y": 2.6}, {"matrix": [2, 1], "x": 1, "y": 2.6}, {"matrix": [2, 2], "x": 2, "y": 2.2}, @@ -82,6 +86,7 @@ {"matrix": [2, 4], "x": 4, "y": 2.2}, {"matrix": [2, 5], "x": 5, "y": 2.4}, {"matrix": [2, 6], "x": 6, "y": 2.9}, + {"matrix": [7, 6], "x": 9.75, "y": 2.9}, {"matrix": [7, 5], "x": 10.75, "y": 2.4}, {"matrix": [7, 4], "x": 11.75, "y": 2.2}, @@ -89,26 +94,30 @@ {"matrix": [7, 2], "x": 13.75, "y": 2.2}, {"matrix": [7, 1], "x": 14.75, "y": 2.6}, {"matrix": [7, 0], "x": 15.75, "y": 2.6}, + {"matrix": [3, 1], "x": 1, "y": 3.6}, {"matrix": [3, 2], "x": 2, "y": 3.2}, {"matrix": [3, 3], "x": 3, "y": 3}, {"matrix": [3, 4], "x": 4, "y": 3.2}, {"matrix": [3, 5], "x": 5, "y": 3.4}, {"matrix": [3, 6], "x": 7.2, "y": 3.15}, + {"matrix": [8, 6], "x": 8.6, "y": 3.15}, {"matrix": [8, 5], "x": 10.75, "y": 3.4}, {"matrix": [8, 4], "x": 11.75, "y": 3.2}, {"matrix": [8, 3], "x": 12.75, "y": 3}, {"matrix": [8, 2], "x": 13.75, "y": 3.2}, {"matrix": [8, 1], "x": 14.75, "y": 3.6}, + {"matrix": [4, 2], "x": 3, "y": 4.45}, {"matrix": [4, 3], "x": 4, "y": 4.45}, - {"matrix": [4, 4], "x": -0.15, "y": 4.65}, - {"h": 1.25, "matrix": [4, 5], "x": 0.85, "y": 4.4}, - {"h": 1.25, "matrix": [4, 6], "x": 1.85, "y": 4.4}, - {"h": 1.25, "matrix": [9, 6], "x": -3.1, "y": 4.6}, - {"h": 1.25, "matrix": [9, 5], "x": -2.1, "y": 4.6}, - {"matrix": [9, 4], "x": -1.1, "y": 4.85}, + {"matrix": [4, 4], "x": 5, "y": 4.45}, + {"matrix": [4, 5], "x": 6, "y": 4.3, "h": 1.25}, + {"matrix": [4, 6], "x": 7, "y": 4.4, "h": 1.25}, + + {"matrix": [9, 6], "x": 8.75, "y": 4.4, "h": 1.25}, + {"matrix": [9, 5], "x": 9.75, "y": 4.3, "h": 1.25}, + {"matrix": [9, 4], "x": 10.75, "y": 4.45}, {"matrix": [9, 3], "x": 11.75, "y": 4.45}, {"matrix": [9, 2], "x": 12.75, "y": 4.45} ] diff --git a/keyboards/splitkb/aurora/lily58/rev1/config.h b/keyboards/splitkb/aurora/lily58/rev1/config.h index 2e19c5d438a..1356c62ea17 100644 --- a/keyboards/splitkb/aurora/lily58/rev1/config.h +++ b/keyboards/splitkb/aurora/lily58/rev1/config.h @@ -28,7 +28,7 @@ // Not yet available in `info.json` #ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 68 # define RGB_MATRIX_SPLIT { 34, 34 } # define SPLIT_TRANSPORT_MIRROR #endif diff --git a/keyboards/splitkb/aurora/sweep/rev1/config.h b/keyboards/splitkb/aurora/sweep/rev1/config.h index 5f58760e6a0..a3b2cc893e1 100644 --- a/keyboards/splitkb/aurora/sweep/rev1/config.h +++ b/keyboards/splitkb/aurora/sweep/rev1/config.h @@ -28,7 +28,7 @@ // Not yet available in `info.json` #ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 46 # define RGB_MATRIX_SPLIT { 23, 23 } # define SPLIT_TRANSPORT_MIRROR #endif diff --git a/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c b/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c index 3a5aa429d5b..e93857f4cce 100644 --- a/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c @@ -384,10 +384,10 @@ static void render_status(void) { oled_write_P(PSTR("\n"), false); // Host Keyboard LED Status - uint8_t led_usb_state = host_keyboard_leds(); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); } diff --git a/keyboards/splitkb/kyria/keymaps/rmw/keymap.c b/keyboards/splitkb/kyria/keymaps/rmw/keymap.c index be7bfe4c7ac..59b18de418d 100644 --- a/keyboards/splitkb/kyria/keymaps/rmw/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/rmw/keymap.c @@ -18,100 +18,60 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [QWERTY] = LAYOUT_stack( - KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T, - OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_D, LT(FSYM,KC_F), KC_G, - TD(FRBK2) , KC_Z, KC_X, KC_C, KC_V, KC_B, TO(EDIT), KC_ESCAPE, - TO(ADJUST), TD(SGCA), TD(AGC), KC_BSPC, TD(SHNTC), - - KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, LT(JSYM,KC_J), KC_K, KC_L, LT(EDIT,KC_SCLN), KC_QUOT, - KC_DEL, TO(NUMPAD), KC_N, KC_M, KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), KC_MS_BTN1, - SFTENT, KC_SPC, TD(GCA), TD(CTLALL), KC_CAPS + [QWERTY] = LAYOUT_split_3x6_5( + KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_D, LT(FSYM,KC_F), KC_G, KC_H, LT(JSYM,KC_J), KC_K, KC_L, LT(EDIT,KC_SCLN), KC_QUOT, + TD(FRBK2) , KC_Z, KC_X, KC_C, KC_V, KC_B, TO(EDIT), KC_ESCAPE, KC_DEL, TO(NUMPAD), KC_N, KC_M, KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), KC_MS_BTN1, + TO(ADJUST), TD(SGCA), TD(AGC), KC_BSPC, TD(SHNTC), SFTENT, KC_SPC, TD(GCA), TD(CTLALL), KC_CAPS ), - [MINIMAK4] = LAYOUT_stack( - KC_TAB , KC_Q, KC_W, KC_D, KC_R, KC_K, - OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_T, LT(FSYM,KC_F), KC_G, - OSM(MOD_LSFT) , KC_Z, KC_X, KC_C, KC_V, KC_B, TO(EDIT), KC_ESCAPE, - _______, TO(ADJUST), TD(SGCA), KC_BSPC, TD(SHNTC), - - KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PIPE, - KC_H, LT(JSYM,KC_J), KC_E, KC_L, LT(EDIT,KC_SCLN), KC_QUOT, - KC_DEL, TO(NUMPAD), KC_N, KC_M, KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), KC_MINS, - SFTENT, KC_SPC, TD(GCA), TD(CTLALL), _______ + [MINIMAK4] = LAYOUT_split_3x6_5( + KC_TAB , KC_Q, KC_W, KC_D, KC_R, KC_K, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PIPE, + OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_T, LT(FSYM,KC_F), KC_G, KC_H, LT(JSYM,KC_J), KC_E, KC_L, LT(EDIT,KC_SCLN), KC_QUOT, + OSM(MOD_LSFT) , KC_Z, KC_X, KC_C, KC_V, KC_B, TO(EDIT), KC_ESCAPE, KC_DEL, TO(NUMPAD), KC_N, KC_M, KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), KC_MINS, + _______, TO(ADJUST), TD(SGCA), KC_BSPC, TD(SHNTC), SFTENT, KC_SPC, TD(GCA), TD(CTLALL), _______ ), - [NUMPAD] = LAYOUT_stack( - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, TO(QWERTY), _______, - _______, _______, _______, _______ , _______, - - _______, KC_7, KC_8, KC_9, KC_KP_MINUS, _______, - _______, KC_4, KC_5, KC_6, KC_KP_PLUS , _______, - _______, TO(EDIT), _______, KC_1, KC_2, KC_3, KC_KP_SLASH, LCTL(KC_RIGHT), - _______, _______, KC_0, KC_DOT, _______ + [NUMPAD] = LAYOUT_split_3x6_5( + _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_KP_MINUS, _______, + _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, KC_KP_PLUS , _______, + _______, _______, _______, _______, _______, _______, TO(QWERTY), _______, _______, TO(EDIT), _______, KC_1, KC_2, KC_3, KC_KP_SLASH, LCTL(KC_RIGHT), + _______, _______, _______, _______ , _______, _______, _______, KC_0, KC_DOT, _______ ), - [EDIT] = LAYOUT_stack( - _______, TASK_MAN, _______, SELW_LEFT, SELW_RIGHT, _______, - _______, _______ , LGUI(KC_GRV), MVW_LEFT, MVW_RIGHT , _______, - LCTL(KC_LEFT), R_UNDO, R_CUT , R_COPY , R_PASTE, R_REDO , TO(NUMPAD), FORM_GET, - _______, _______, _______, DEL_WRD, _______, - - NEW_TAB , KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, - R_HOME , KC_LEFT, KC_DOWN, KC_RIGHT, R_END, _______, - FORM_PUT, TO(QWERTY), SEL_HOME, S(KC_LEFT), S(KC_DOWN), S(KC_RIGHT), SEL_END, _______, - _______, _______, _______, _______, _______ + [EDIT] = LAYOUT_split_3x6_5( + _______, TASK_MAN, _______, SELW_LEFT, SELW_RIGHT, _______, NEW_TAB , KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, + _______, _______ , LGUI(KC_GRV), MVW_LEFT, MVW_RIGHT , _______, R_HOME , KC_LEFT, KC_DOWN, KC_RIGHT, R_END, _______, + LCTL(KC_LEFT), R_UNDO, R_CUT , R_COPY , R_PASTE, R_REDO , TO(NUMPAD), FORM_GET, FORM_PUT, TO(QWERTY), SEL_HOME, S(KC_LEFT), S(KC_DOWN), S(KC_RIGHT), SEL_END, _______, + _______, _______, _______, DEL_WRD, _______, _______, _______, _______, _______, _______ ), - [ADJUST] = LAYOUT_stack( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - TO(QWERTY), TO(EDIT), TO(NUMPAD), TO(JSYM), TO(FSYM), TO(MEDIA), - DF(MINIMAK4), DF(QWERTY), RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______, - _______, _______, _______, _______, _______, - - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______ + [ADJUST] = LAYOUT_split_3x6_5( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + TO(QWERTY), TO(EDIT), TO(NUMPAD), TO(JSYM), TO(FSYM), TO(MEDIA), _______, _______, _______, _______, _______, _______, + DF(MINIMAK4), DF(QWERTY), RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [FSYM] = LAYOUT_stack( - _______, _______, _______, _______, _______, _______, - _______, _______, KC_TILD, KC_EXLM, _______, _______, - LCTL(KC_RIGHT), _______, TO(QWERTY), _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, - - KC_CIRC, KC_AMPR , KC_ASTR, KC_GRV , _______, _______, - KC_EQUAL, KC_MINUS, KC_UNDS, KC_PIPE, KC_COLON, KC_DQT, - _______, _______, _______, KC_PLUS, KC_BSLS, KC_SLSH, _______, _______, - _______, _______, _______, _______, _______ + [FSYM] = LAYOUT_split_3x6_5( + _______, _______, _______, _______, _______, _______, KC_CIRC, KC_AMPR , KC_ASTR, KC_GRV , _______, _______, + _______, _______, KC_TILD, KC_EXLM, _______, _______, KC_EQUAL, KC_MINUS, KC_UNDS, KC_PIPE, KC_COLON, KC_DQT, + LCTL(KC_RIGHT), _______, TO(QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, KC_PLUS, KC_BSLS, KC_SLSH, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [JSYM] = LAYOUT_stack( - _______, KC_GRV, KC_AT , KC_LCBR, KC_RCBR, _______, - _______, KC_HASH, KC_DLR , KC_LPRN, KC_RPRN, KC_LEFT, - _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, _______, _______, _______, - _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, - _______, _______, KC_QUES, KC_SLSH, KC_COLON, _______, - _______, _______, _______, _______, _______, TO(QWERTY), _______, LCTL(KC_LEFT), - _______, _______, _______, _______, _______ + [JSYM] = LAYOUT_split_3x6_5( + _______, KC_GRV, KC_AT , KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______, _______, + _______, KC_HASH, KC_DLR , KC_LPRN, KC_RPRN, KC_LEFT, _______, _______, KC_QUES, KC_SLSH, KC_COLON, _______, + _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______, TO(QWERTY), _______, LCTL(KC_LEFT), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [MEDIA] = LAYOUT_stack( - _______, KC_WH_U, KC_WH_L, KC_MS_UP, KC_WH_R, _______, - _______, KC_WH_D, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, - _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, - _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, - KC_MS_BTN1, KC_MEDIA_PLAY_PAUSE, KC_MRWD, KC_MFFD, _______ + [MEDIA] = LAYOUT_split_3x6_5( + _______, KC_WH_U, KC_WH_L, KC_MS_UP, KC_WH_R, _______, _______, _______, _______, _______, _______, _______, + _______, KC_WH_D, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, + _______, _______, _______, _______, _______, KC_MS_BTN1, KC_MEDIA_PLAY_PAUSE, KC_MRWD, KC_MFFD, _______ ) }; diff --git a/keyboards/splitkb/kyria/keymaps/shinze/keymap.c b/keyboards/splitkb/kyria/keymaps/shinze/keymap.c index 3483410525f..ecc70055b2c 100644 --- a/keyboards/splitkb/kyria/keymaps/shinze/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/shinze/keymap.c @@ -210,10 +210,10 @@ static void render_status(void) { } // Host Keyboard LED Status - uint8_t led_usb_state = host_keyboard_leds(); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); } bool oled_task_user(void) { diff --git a/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c index 6720a6b35c8..87f51c4cd35 100644 --- a/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c @@ -225,10 +225,10 @@ static void render_status(void) { } // Host Keyboard LED Status - uint8_t led_usb_state = host_keyboard_leds(); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); } bool oled_task_user(void) { diff --git a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c index 3ed7dbee6e5..14ce1b1a6e1 100644 --- a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c @@ -286,10 +286,10 @@ static void render_status(void) { } // Host Keyboard LED Status - uint8_t led_usb_state = host_keyboard_leds(); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); } bool oled_task_user(void) { diff --git a/keyboards/splitkb/kyria/keymaps/uqs/keymap.c b/keyboards/splitkb/kyria/keymaps/uqs/keymap.c index 9d3d6d1f668..398b167e725 100644 --- a/keyboards/splitkb/kyria/keymaps/uqs/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/uqs/keymap.c @@ -22,16 +22,11 @@ R45, R46, R47, \ R32, R33 \ ) \ -LAYOUT_stack( \ - L00, L01, L02, L03, L04, L05, \ - L12, L13, L14, L15, L16, L17, \ - L24, L25, L26, L27, L28, L29, L30, L31, \ - L40, L41, L42, L43, L44, \ - \ - R06, R07, R08, R09, R10, R11, \ - R18, R19, R20, R21, R22, R23, \ - R32, R33, R34, R35, R36, R37, R38, R39, \ - R45, R46, R47, R48, R49 \ +LAYOUT_split_3x6_5( \ + L00, L01, L02, L03, L04, L05, R06, R07, R08, R09, R10, R11, \ + L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \ + L24, L25, L26, L27, L28, L29, L30, L31, R32, R33, R34, R35, R36, R37, R38, R39, \ + L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \ ) // clang-format off diff --git a/keyboards/splitkb/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h index 4ee4e6ae617..6c21b12a849 100644 --- a/keyboards/splitkb/kyria/rev1/config.h +++ b/keyboards/splitkb/kyria/rev1/config.h @@ -41,8 +41,6 @@ along with this program. If not, see . # define SOFT_SERIAL_PIN D2 #endif -#define RGBLED_NUM 20 - #ifdef OLED_ENABLE # define OLED_DISPLAY_128X64 # define SPLIT_OLED_ENABLE @@ -51,7 +49,7 @@ along with this program. If not, see . /* RGB matrix support */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM // Number of LEDs +# define RGB_MATRIX_LED_COUNT 20 // Number of LEDs # define RGB_MATRIX_SPLIT { 10, 10 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 # define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/splitkb/kyria/rev1/info.json b/keyboards/splitkb/kyria/rev1/info.json index 970f759d232..cf849b0430b 100644 --- a/keyboards/splitkb/kyria/rev1/info.json +++ b/keyboards/splitkb/kyria/rev1/info.json @@ -5,6 +5,7 @@ "device_version": "0.0.1" }, "rgblight": { + "led_count": 20, "split_count": [10, 10] }, "rgb_matrix": { @@ -93,67 +94,6 @@ {"matrix": [7, 3], "x": 12, "y": 3.25}, {"matrix": [7, 4], "x": 13, "y": 3.25} ] - }, - "LAYOUT_stack": { - "layout": [ - {"matrix": [0, 7], "x": 0, "y": 0}, - {"matrix": [0, 6], "x": 1, "y": 0}, - {"matrix": [0, 5], "x": 2, "y": 0}, - {"matrix": [0, 4], "x": 3, "y": 0}, - {"matrix": [0, 3], "x": 4, "y": 0}, - {"matrix": [0, 2], "x": 5, "y": 0}, - - {"matrix": [1, 7], "x": 6, "y": 0}, - {"matrix": [1, 6], "x": 7, "y": 0}, - {"matrix": [1, 5], "x": 8, "y": 0}, - {"matrix": [1, 4], "x": 9, "y": 0}, - {"matrix": [1, 3], "x": 10, "y": 0}, - {"matrix": [1, 2], "x": 11, "y": 0}, - - {"matrix": [2, 7], "x": 12, "y": 0}, - {"matrix": [2, 6], "x": 13, "y": 0}, - {"matrix": [2, 5], "x": 14, "y": 0}, - {"matrix": [2, 4], "x": 15, "y": 0}, - {"matrix": [2, 3], "x": 16, "y": 0}, - {"matrix": [2, 2], "x": 17, "y": 0}, - {"matrix": [2, 1], "x": 18, "y": 0}, - {"matrix": [2, 0], "x": 19, "y": 0}, - - {"matrix": [3, 4], "x": 20, "y": 0}, - {"matrix": [3, 3], "x": 21, "y": 0}, - {"matrix": [3, 2], "x": 22, "y": 0}, - {"matrix": [3, 1], "x": 23, "y": 0}, - {"matrix": [3, 0], "x": 24, "y": 0}, - - {"matrix": [4, 2], "x": 25, "y": 0}, - {"matrix": [4, 3], "x": 26, "y": 0}, - {"matrix": [4, 4], "x": 27, "y": 0}, - {"matrix": [4, 5], "x": 28, "y": 0}, - {"matrix": [4, 6], "x": 29, "y": 0}, - {"matrix": [4, 7], "x": 30, "y": 0}, - - {"matrix": [5, 2], "x": 31, "y": 0}, - {"matrix": [5, 3], "x": 32, "y": 0}, - {"matrix": [5, 4], "x": 33, "y": 0}, - {"matrix": [5, 5], "x": 34, "y": 0}, - {"matrix": [5, 6], "x": 35, "y": 0}, - {"matrix": [5, 7], "x": 36, "y": 0}, - - {"matrix": [6, 0], "x": 37, "y": 0}, - {"matrix": [6, 1], "x": 38, "y": 0}, - {"matrix": [6, 2], "x": 39, "y": 0}, - {"matrix": [6, 3], "x": 40, "y": 0}, - {"matrix": [6, 4], "x": 41, "y": 0}, - {"matrix": [6, 5], "x": 42, "y": 0}, - {"matrix": [6, 6], "x": 43, "y": 0}, - {"matrix": [6, 7], "x": 44, "y": 0}, - - {"matrix": [7, 0], "x": 45, "y": 0}, - {"matrix": [7, 1], "x": 46, "y": 0}, - {"matrix": [7, 2], "x": 47, "y": 0}, - {"matrix": [7, 3], "x": 48, "y": 0}, - {"matrix": [7, 4], "x": 49, "y": 0} - ] } } } diff --git a/keyboards/splitkb/kyria/rev2/config.h b/keyboards/splitkb/kyria/rev2/config.h index 2b05499965b..198688772be 100644 --- a/keyboards/splitkb/kyria/rev2/config.h +++ b/keyboards/splitkb/kyria/rev2/config.h @@ -47,8 +47,6 @@ along with this program. If not, see . # define SOFT_SERIAL_PIN D2 #endif -#define RGBLED_NUM 20 - #ifdef OLED_ENABLE # define OLED_DISPLAY_128X64 # define SPLIT_OLED_ENABLE @@ -57,7 +55,7 @@ along with this program. If not, see . /* RGB matrix support */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM // Number of LEDs +# define RGB_MATRIX_LED_COUNT 20 // Number of LEDs # define RGB_MATRIX_SPLIT { 10, 10 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 # define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/splitkb/kyria/rev2/info.json b/keyboards/splitkb/kyria/rev2/info.json index d37794164a2..b498147ffdf 100644 --- a/keyboards/splitkb/kyria/rev2/info.json +++ b/keyboards/splitkb/kyria/rev2/info.json @@ -5,6 +5,7 @@ "device_version": "0.0.2" }, "rgblight": { + "led_count": 20, "split_count": [10, 10] }, "rgb_matrix": { @@ -36,10 +37,10 @@ } }, "layout_aliases": { - "LAYOUT_split_3x6_5": "LAYOUT" + "LAYOUT": "LAYOUT_split_3x6_5" }, "layouts": { - "LAYOUT": { + "LAYOUT_split_3x6_5": { "layout": [ {"matrix": [0, 7], "x": 0, "y": 0.75}, {"matrix": [0, 6], "x": 1, "y": 0.75}, @@ -99,67 +100,6 @@ {"matrix": [7, 3], "x": 12, "y": 3.25}, {"matrix": [7, 5], "x": 13, "y": 3.25} ] - }, - "LAYOUT_stack": { - "layout": [ - {"matrix": [0, 7], "x": 0, "y": 0}, - {"matrix": [0, 6], "x": 1, "y": 0}, - {"matrix": [0, 5], "x": 2, "y": 0}, - {"matrix": [0, 4], "x": 3, "y": 0}, - {"matrix": [0, 3], "x": 4, "y": 0}, - {"matrix": [0, 2], "x": 5, "y": 0}, - - {"matrix": [1, 7], "x": 6, "y": 0}, - {"matrix": [1, 6], "x": 7, "y": 0}, - {"matrix": [1, 5], "x": 8, "y": 0}, - {"matrix": [1, 4], "x": 9, "y": 0}, - {"matrix": [1, 3], "x": 10, "y": 0}, - {"matrix": [1, 2], "x": 11, "y": 0}, - - {"matrix": [2, 7], "x": 12, "y": 0}, - {"matrix": [2, 6], "x": 13, "y": 0}, - {"matrix": [2, 5], "x": 14, "y": 0}, - {"matrix": [2, 4], "x": 15, "y": 0}, - {"matrix": [2, 3], "x": 16, "y": 0}, - {"matrix": [2, 2], "x": 17, "y": 0}, - {"matrix": [2, 1], "x": 18, "y": 0}, - {"matrix": [2, 0], "x": 19, "y": 0}, - - {"matrix": [3, 5], "x": 20, "y": 0}, - {"matrix": [3, 3], "x": 21, "y": 0}, - {"matrix": [3, 2], "x": 22, "y": 0}, - {"matrix": [3, 1], "x": 23, "y": 0}, - {"matrix": [3, 0], "x": 24, "y": 0}, - - {"matrix": [4, 2], "x": 25, "y": 0}, - {"matrix": [4, 3], "x": 26, "y": 0}, - {"matrix": [4, 4], "x": 27, "y": 0}, - {"matrix": [4, 5], "x": 28, "y": 0}, - {"matrix": [4, 6], "x": 29, "y": 0}, - {"matrix": [4, 7], "x": 30, "y": 0}, - - {"matrix": [5, 2], "x": 31, "y": 0}, - {"matrix": [5, 3], "x": 32, "y": 0}, - {"matrix": [5, 4], "x": 33, "y": 0}, - {"matrix": [5, 5], "x": 34, "y": 0}, - {"matrix": [5, 6], "x": 35, "y": 0}, - {"matrix": [5, 7], "x": 36, "y": 0}, - - {"matrix": [6, 0], "x": 37, "y": 0}, - {"matrix": [6, 1], "x": 38, "y": 0}, - {"matrix": [6, 2], "x": 39, "y": 0}, - {"matrix": [6, 3], "x": 40, "y": 0}, - {"matrix": [6, 4], "x": 41, "y": 0}, - {"matrix": [6, 5], "x": 42, "y": 0}, - {"matrix": [6, 6], "x": 43, "y": 0}, - {"matrix": [6, 7], "x": 44, "y": 0}, - - {"matrix": [7, 0], "x": 45, "y": 0}, - {"matrix": [7, 1], "x": 46, "y": 0}, - {"matrix": [7, 2], "x": 47, "y": 0}, - {"matrix": [7, 3], "x": 48, "y": 0}, - {"matrix": [7, 5], "x": 49, "y": 0} - ] } } } diff --git a/keyboards/splitkb/kyria/rev3/config.h b/keyboards/splitkb/kyria/rev3/config.h index ca97f11eeaf..5168e8678e5 100644 --- a/keyboards/splitkb/kyria/rev3/config.h +++ b/keyboards/splitkb/kyria/rev3/config.h @@ -28,7 +28,7 @@ // Not yet available in `info.json` #ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 62 # define RGB_MATRIX_SPLIT { 31, 31 } # define SPLIT_TRANSPORT_MIRROR #endif diff --git a/keyboards/splitkb/kyria/rev3/info.json b/keyboards/splitkb/kyria/rev3/info.json index 97b953534d0..a6f6d8df0fd 100644 --- a/keyboards/splitkb/kyria/rev3/info.json +++ b/keyboards/splitkb/kyria/rev3/info.json @@ -16,8 +16,11 @@ "oled": true, "rgb_matrix": true }, + "layout_aliases": { + "LAYOUT": "LAYOUT_split_3x6_5" + }, "layouts": { - "LAYOUT": { + "LAYOUT_split_3x6_5": { "layout": [ {"label": "L06", "matrix": [0, 6], "x": 0, "y": 0.75}, {"label": "L05", "matrix": [0, 5], "x": 1, "y": 0.75}, @@ -25,6 +28,7 @@ {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0}, {"label": "L02", "matrix": [0, 2], "x": 4, "y": 0.25}, {"label": "L01", "matrix": [0, 1], "x": 5, "y": 0.5}, + {"label": "R01", "matrix": [4, 1], "x": 10.5, "y": 0.5}, {"label": "R02", "matrix": [4, 2], "x": 11.5, "y": 0.25}, {"label": "R03", "matrix": [4, 3], "x": 12.5, "y": 0}, @@ -38,6 +42,7 @@ {"label": "L09", "matrix": [1, 3], "x": 3, "y": 1}, {"label": "L08", "matrix": [1, 2], "x": 4, "y": 1.25}, {"label": "L07", "matrix": [1, 1], "x": 5, "y": 1.5}, + {"label": "R07", "matrix": [5, 1], "x": 10.5, "y": 1.5}, {"label": "R08", "matrix": [5, 2], "x": 11.5, "y": 1.25}, {"label": "R09", "matrix": [5, 3], "x": 12.5, "y": 1}, @@ -53,6 +58,7 @@ {"label": "L15", "matrix": [2, 1], "x": 5, "y": 2.5}, {"label": "L14", "matrix": [3, 3], "x": 6, "y": 3}, {"label": "L13", "matrix": [2, 0], "x": 7, "y": 3.25}, + {"label": "R13", "matrix": [6, 0], "x": 8.5, "y": 3.25}, {"label": "R14", "matrix": [7, 3], "x": 9.5, "y": 3}, {"label": "R15", "matrix": [6, 1], "x": 10.5, "y": 2.5}, @@ -67,66 +73,6 @@ {"label": "L23", "matrix": [3, 1], "x": 4.5, "y": 3.5}, {"label": "L22", "matrix": [3, 5], "x": 5.5, "y": 4}, {"label": "L21", "matrix": [3, 0], "x": 6.5, "y": 4.25}, - {"label": "R21", "matrix": [7, 0], "x": 9, "y": 4.25}, - {"label": "R22", "matrix": [7, 5], "x": 10, "y": 4}, - {"label": "R23", "matrix": [7, 1], "x": 11, "y": 3.5}, - {"label": "R24", "matrix": [7, 2], "x": 12, "y": 3.25}, - {"label": "R25", "matrix": [7, 4], "x": 13, "y": 3.25} - ] - }, - "LAYOUT_stack": { - "layout": [ - {"label": "L06", "matrix": [0, 6], "x": 0, "y": 0.75}, - {"label": "L05", "matrix": [0, 5], "x": 1, "y": 0.75}, - {"label": "L04", "matrix": [0, 4], "x": 2, "y": 0.25}, - {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "L02", "matrix": [0, 2], "x": 4, "y": 0.25}, - {"label": "L01", "matrix": [0, 1], "x": 5, "y": 0.5}, - - {"label": "L12", "matrix": [1, 6], "x": 0, "y": 1.75}, - {"label": "L11", "matrix": [1, 5], "x": 1, "y": 1.75}, - {"label": "L10", "matrix": [1, 4], "x": 2, "y": 1.25}, - {"label": "L09", "matrix": [1, 3], "x": 3, "y": 1}, - {"label": "L08", "matrix": [1, 2], "x": 4, "y": 1.25}, - {"label": "L07", "matrix": [1, 1], "x": 5, "y": 1.5}, - - {"label": "L20", "matrix": [2, 6], "x": 0, "y": 2.75}, - {"label": "L19", "matrix": [2, 5], "x": 1, "y": 2.75}, - {"label": "L18", "matrix": [2, 4], "x": 2, "y": 2.25}, - {"label": "L17", "matrix": [2, 3], "x": 3, "y": 2}, - {"label": "L16", "matrix": [2, 2], "x": 4, "y": 2.25}, - {"label": "L15", "matrix": [2, 1], "x": 5, "y": 2.5}, - {"label": "L14", "matrix": [3, 3], "x": 6, "y": 3}, - {"label": "L13", "matrix": [2, 0], "x": 7, "y": 3.25}, - - {"label": "L25", "matrix": [3, 4], "x": 2.5, "y": 3.25}, - {"label": "L24", "matrix": [3, 2], "x": 3.5, "y": 3.25}, - {"label": "L23", "matrix": [3, 1], "x": 4.5, "y": 3.5}, - {"label": "L22", "matrix": [3, 5], "x": 5.5, "y": 4}, - {"label": "L21", "matrix": [3, 0], "x": 6.5, "y": 4.25}, - - {"label": "R01", "matrix": [4, 1], "x": 10.5, "y": 0.5}, - {"label": "R02", "matrix": [4, 2], "x": 11.5, "y": 0.25}, - {"label": "R03", "matrix": [4, 3], "x": 12.5, "y": 0}, - {"label": "R04", "matrix": [4, 4], "x": 13.5, "y": 0.25}, - {"label": "R05", "matrix": [4, 5], "x": 14.5, "y": 0.75}, - {"label": "R06", "matrix": [4, 6], "x": 15.5, "y": 0.75}, - - {"label": "R07", "matrix": [5, 1], "x": 10.5, "y": 1.5}, - {"label": "R08", "matrix": [5, 2], "x": 11.5, "y": 1.25}, - {"label": "R09", "matrix": [5, 3], "x": 12.5, "y": 1}, - {"label": "R10", "matrix": [5, 4], "x": 13.5, "y": 1.25}, - {"label": "R11", "matrix": [5, 5], "x": 14.5, "y": 1.75}, - {"label": "R12", "matrix": [5, 6], "x": 15.5, "y": 1.75}, - - {"label": "R13", "matrix": [6, 0], "x": 8.5, "y": 3.25}, - {"label": "R14", "matrix": [7, 3], "x": 9.5, "y": 3}, - {"label": "R15", "matrix": [6, 1], "x": 10.5, "y": 2.5}, - {"label": "R16", "matrix": [6, 2], "x": 11.5, "y": 2.25}, - {"label": "R17", "matrix": [6, 3], "x": 12.5, "y": 2}, - {"label": "R18", "matrix": [6, 4], "x": 13.5, "y": 2.25}, - {"label": "R19", "matrix": [6, 5], "x": 14.5, "y": 2.75}, - {"label": "R20", "matrix": [6, 6], "x": 15.5, "y": 2.75}, {"label": "R21", "matrix": [7, 0], "x": 9, "y": 4.25}, {"label": "R22", "matrix": [7, 5], "x": 10, "y": 4}, diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h index fca70ae030c..21fc2a26096 100644 --- a/keyboards/splitkb/zima/config.h +++ b/keyboards/splitkb/zima/config.h @@ -21,11 +21,6 @@ along with this program. If not, see . #define AUDIO_CLICKY #define NO_MUSIC_MODE -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/splitkb/zima/info.json b/keyboards/splitkb/zima/info.json index 6cb53f372fb..f0179052249 100644 --- a/keyboards/splitkb/zima/info.json +++ b/keyboards/splitkb/zima/info.json @@ -8,6 +8,12 @@ "pid": "0xF75B", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "sleep": true + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/star75/config.h b/keyboards/star75/config.h index 980009fe0bd..e2395f0dd50 100644 --- a/keyboards/star75/config.h +++ b/keyboards/star75/config.h @@ -19,10 +19,5 @@ SPDX-License-Identifier: GPL-2.0-or-later */ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 1 #define RGBLIGHT_LAYERS -#define RGBLIGHT_LED_MAP { 0, 1 } -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/star75/info.json b/keyboards/star75/info.json index c6368ca5682..53ff787c99d 100644 --- a/keyboards/star75/info.json +++ b/keyboards/star75/info.json @@ -12,6 +12,9 @@ "pin": "B3" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1, "max_brightness": 180 }, "matrix_pins": { diff --git a/keyboards/stello65/beta/beta.c b/keyboards/stello65/beta/beta.c deleted file mode 100644 index fa191358149..00000000000 --- a/keyboards/stello65/beta/beta.c +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2021 @wekey (@@wekey) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#if defined(ENCODER_ENABLE) -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - if (index == 0) { - if (clockwise) { - tap_code_delay(KC_VOLU, 10); - } else { - tap_code_delay(KC_VOLD, 10); - } - } - return true; -} -#endif diff --git a/keyboards/stello65/beta/info.json b/keyboards/stello65/beta/info.json index 0eee3caad32..9236d322b9f 100644 --- a/keyboards/stello65/beta/info.json +++ b/keyboards/stello65/beta/info.json @@ -8,6 +8,9 @@ "pid": "0x0003", "device_version": "0.0.1" }, + "build": { + "debounce_type": "sym_defer_pk" + }, "matrix_pins": { "cols": ["C7", "B6", "B5", "B4", "D7", "D6", "D4", "D5"], "rows": ["F0", "E6", "D0", "D1", "C6", "F7", "F6", "F5", "F4", "F1"] diff --git a/keyboards/stello65/beta/rules.mk b/keyboards/stello65/beta/rules.mk index 0e8233e5dab..131aa72aeb5 100644 --- a/keyboards/stello65/beta/rules.mk +++ b/keyboards/stello65/beta/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -DEBOUNCE_TYPE = sym_defer_pk diff --git a/keyboards/stello65/hs_rev1/config.h b/keyboards/stello65/hs_rev1/config.h index 88bc32e8ae6..45cbc7b1662 100644 --- a/keyboards/stello65/hs_rev1/config.h +++ b/keyboards/stello65/hs_rev1/config.h @@ -3,11 +3,6 @@ #pragma once -# define RGBLED_NUM 4 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/stello65/hs_rev1/info.json b/keyboards/stello65/hs_rev1/info.json index 5b426cfa090..b1dd258e631 100644 --- a/keyboards/stello65/hs_rev1/info.json +++ b/keyboards/stello65/hs_rev1/info.json @@ -8,6 +8,9 @@ "pid": "0x0004", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/stello65/sl_rev1/config.h b/keyboards/stello65/sl_rev1/config.h index 88bc32e8ae6..45cbc7b1662 100644 --- a/keyboards/stello65/sl_rev1/config.h +++ b/keyboards/stello65/sl_rev1/config.h @@ -3,11 +3,6 @@ #pragma once -# define RGBLED_NUM 4 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/stello65/sl_rev1/info.json b/keyboards/stello65/sl_rev1/info.json index 36ae9191716..f58c86d9ae5 100644 --- a/keyboards/stello65/sl_rev1/info.json +++ b/keyboards/stello65/sl_rev1/info.json @@ -8,6 +8,9 @@ "pid": "0x0005", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/stratos/config.h b/keyboards/stratos/config.h index 0dfaee1d903..d23e4768e1b 100644 --- a/keyboards/stratos/config.h +++ b/keyboards/stratos/config.h @@ -19,11 +19,6 @@ along with this program. If not, see . /* RGB LEDs */ #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/stratos/info.json b/keyboards/stratos/info.json index c44e46a1f90..479dd760780 100644 --- a/keyboards/stratos/info.json +++ b/keyboards/stratos/info.json @@ -12,7 +12,11 @@ "pin": "D2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["F4", "F7", "F5", "F6", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3"], diff --git a/keyboards/stront/config.h b/keyboards/stront/config.h new file mode 100644 index 00000000000..4c88e411acc --- /dev/null +++ b/keyboards/stront/config.h @@ -0,0 +1,95 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_PIN_SWAP +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +/* any side can be master by default, enable split sync to support it */ +#define EE_HANDS +#define SPLIT_LED_STATE_ENABLE +#define SPLIT_MODS_ENABLE +#define SPLIT_POINTING_ENABLE + +/* SPI config for display/touchpad */ +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN GP10 +#define SPI_MOSI_PIN GP11 +#define SPI_MISO_PIN GP12 + +/* touchpad config */ +#define POINTING_DEVICE_RIGHT +#define POINTING_DEVICE_CS_PIN GP9 +#define POINTING_DEVICE_ROTATION_180 +#define CIRQUE_PINNACLE_DIAMETER_MM 40 + +/* LCD config */ +#define LCD_DC_PIN GP12 +#define LCD_CS_PIN GP9 +#define LCD_RST_PIN GP13 +#define BACKLIGHT_PWM_DRIVER PWMD7 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A +#define QUANTUM_PAINTER_LVGL_USE_CUSTOM_CONF + +/* RGB config */ +#ifdef RGB_MATRIX_ENABLE +# define SPLIT_TRANSPORT_MIRROR +# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +# define RGB_MATRIX_KEYPRESSES + +# define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue +# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes +# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right, speed controls how much gradient changes +# define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation +# define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right +# define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +# define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right +# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradient Chevron shaped scrolling left to right +# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard +# define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard +# define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard +# define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue +# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation +# define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight amount at the same time, then shifts back +# define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight amount in a wave to the right, then back to the left +# define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight amount and then back down in a wave to the right +# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Single hue fractal filled keys pulsing horizontally out to edges +# define ENABLE_RGB_MATRIX_PIXEL_FLOW // Pulsing RGB flow along LED wiring with random hues +# define ENABLE_RGB_MATRIX_PIXEL_RAIN // Randomly light keys with random hues +# if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! +# define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation +# endif +# if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out +# define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out +# define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out +# define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out +# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out +# endif +#endif diff --git a/keyboards/stront/display.c b/keyboards/stront/display.c new file mode 100644 index 00000000000..f7b071d1a9a --- /dev/null +++ b/keyboards/stront/display.c @@ -0,0 +1,125 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "display.h" +#include "qp.h" +#include "lvgl_helpers.h" + +/* shared styles */ +lv_style_t style_screen; +lv_style_t style_container; +lv_style_t style_button; +lv_style_t style_button_active; + +/* screens */ +static lv_obj_t *screen_home; + +/* home screen content */ +static lv_obj_t *label_shift; +static lv_obj_t *label_ctrl; +static lv_obj_t *label_alt; +static lv_obj_t *label_gui; +static lv_obj_t *label_caps; + +void init_styles(void) { + lv_style_init(&style_screen); + lv_style_set_bg_color(&style_screen, lv_color_black()); + + lv_style_init(&style_container); + lv_style_set_pad_top(&style_container, 0); + lv_style_set_pad_bottom(&style_container, 0); + lv_style_set_pad_left(&style_container, 0); + lv_style_set_pad_right(&style_container, 0); + lv_style_set_bg_opa(&style_container, 0); + lv_style_set_border_width(&style_container, 0); + lv_style_set_width(&style_container, lv_pct(100)); + lv_style_set_height(&style_container, LV_SIZE_CONTENT); + + lv_style_init(&style_button); + lv_style_set_pad_top(&style_button, 4); + lv_style_set_pad_bottom(&style_button, 4); + lv_style_set_pad_left(&style_button, 4); + lv_style_set_pad_right(&style_button, 4); + lv_style_set_radius(&style_button, 6); + lv_style_set_text_color(&style_button, lv_palette_main(LV_PALETTE_AMBER)); + + lv_style_init(&style_button_active); + lv_style_set_bg_color(&style_button_active, lv_palette_main(LV_PALETTE_AMBER)); + lv_style_set_bg_opa(&style_button_active, LV_OPA_100); + lv_style_set_text_color(&style_button_active, lv_color_black()); +} + +void init_screen_home(void) { + screen_home = lv_scr_act(); + + lv_obj_add_style(screen_home, &style_screen, 0); + use_flex_column(screen_home); + + lv_obj_t *mods = lv_obj_create(screen_home); + lv_obj_add_style(mods, &style_container, 0); + use_flex_column(mods); + + lv_obj_t *mods_row1 = lv_obj_create(mods); + lv_obj_add_style(mods_row1, &style_container, 0); + use_flex_row(mods_row1); + label_gui = create_button(mods_row1, "GUI", &style_button, &style_button_active); + label_alt = create_button(mods_row1, "ALT", &style_button, &style_button_active); + + lv_obj_t *mods_row2 = lv_obj_create(mods); + lv_obj_add_style(mods_row2, &style_container, 0); + use_flex_row(mods_row2); + label_ctrl = create_button(mods_row2, "CTL", &style_button, &style_button_active); + label_shift = create_button(mods_row2, "SFT", &style_button, &style_button_active); + + lv_obj_t *label_stront = lv_label_create(screen_home); + lv_label_set_text(label_stront, "stront"); +#if LV_FONT_MONTSERRAT_48 + lv_obj_set_style_text_font(label_stront, &lv_font_montserrat_48, LV_PART_MAIN); +#endif + + label_caps = create_button(screen_home, "CAPS", &style_button, &style_button_active); +} + +bool display_init_kb(void) { + dprint("display_init_kb - start\n"); + + backlight_enable(); + + painter_device_t display = qp_st7789_make_spi_device(240, 300, LCD_CS_PIN, LCD_DC_PIN, LCD_RST_PIN, 16, 3); + qp_set_viewport_offsets(display, 0, 20); + + if (!qp_init(display, QP_ROTATION_180) || !qp_power(display, true) || !qp_lvgl_attach(display)) return false; + + dprint("display_init_kb - initialised\n"); + + lv_disp_t *lv_display = lv_disp_get_default(); + lv_theme_t *lv_theme = lv_theme_default_init(lv_display, lv_palette_main(LV_PALETTE_AMBER), lv_palette_main(LV_PALETTE_BLUE), true, LV_FONT_DEFAULT); + lv_disp_set_theme(lv_display, lv_theme); + init_styles(); + + bool res = display_init_user(); + if (res) { + dprint("display_init_kb - adding default home screen\n"); + init_screen_home(); + } + + return true; +} + +__attribute__((weak)) bool display_init_user(void) { + return true; +} + +__attribute__((weak)) void display_housekeeping_task(void) { + dprint("display_housekeeping_task_kb\n"); + + toggle_state(label_shift, LV_STATE_PRESSED, MODS_SHIFT); + toggle_state(label_ctrl, LV_STATE_PRESSED, MODS_CTRL); + toggle_state(label_alt, LV_STATE_PRESSED, MODS_ALT); + toggle_state(label_gui, LV_STATE_PRESSED, MODS_GUI); +} + +__attribute__((weak)) void display_process_caps(bool active) { + dprint("display_process_caps\n"); + toggle_state(label_caps, LV_STATE_PRESSED, active); +} diff --git a/keyboards/stront/display.h b/keyboards/stront/display.h new file mode 100644 index 00000000000..4249ff468ee --- /dev/null +++ b/keyboards/stront/display.h @@ -0,0 +1,20 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_lvgl.h" + +#define MODS_SHIFT ((get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) +#define MODS_CTRL ((get_mods() | get_oneshot_mods()) & MOD_MASK_CTRL) +#define MODS_ALT ((get_mods() | get_oneshot_mods()) & MOD_MASK_ALT) +#define MODS_GUI ((get_mods() | get_oneshot_mods()) & MOD_MASK_GUI) + +/* shared styles */ +extern lv_style_t style_screen; +extern lv_style_t style_container; +extern lv_style_t style_button; +extern lv_style_t style_button_active; + +bool display_init_kb(void); +bool display_init_user(void); +void display_housekeeping_task(void); +void display_process_caps(bool active); diff --git a/keyboards/stront/halconf.h b/keyboards/stront/halconf.h new file mode 100644 index 00000000000..0aa1ff58d8a --- /dev/null +++ b/keyboards/stront/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/stront/info.json b/keyboards/stront/info.json new file mode 100644 index 00000000000..97df3477af3 --- /dev/null +++ b/keyboards/stront/info.json @@ -0,0 +1,147 @@ +{ + "keyboard_name": "stront", + "manufacturer": "zzeneg", + "url": "https://github.com/zzeneg/stront", + "maintainer": "zzeneg", + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 1], "x": 2, "y": 0 }, + { "matrix": [0, 2], "x": 3, "y": 0 }, + { "matrix": [0, 3], "x": 4, "y": 0 }, + { "matrix": [0, 4], "x": 5, "y": 0 }, + + { "matrix": [4, 4], "x": 8, "y": 0 }, + { "matrix": [4, 3], "x": 9, "y": 0 }, + { "matrix": [4, 2], "x": 10, "y": 0 }, + { "matrix": [4, 1], "x": 11, "y": 0 }, + + { "matrix": [0, 0], "x": 0, "y": 1 }, + { "matrix": [1, 0], "x": 1, "y": 1 }, + { "matrix": [1, 1], "x": 2, "y": 1 }, + { "matrix": [1, 2], "x": 3, "y": 1 }, + { "matrix": [1, 3], "x": 4, "y": 1 }, + { "matrix": [1, 4], "x": 5, "y": 1 }, + + { "matrix": [5, 4], "x": 8, "y": 1 }, + { "matrix": [5, 3], "x": 9, "y": 1 }, + { "matrix": [5, 2], "x": 10, "y": 1 }, + { "matrix": [5, 1], "x": 11, "y": 1 }, + { "matrix": [5, 0], "x": 12, "y": 1 }, + { "matrix": [4, 0], "x": 13, "y": 1 }, + + { "matrix": [3, 0], "x": 0, "y": 2 }, + { "matrix": [2, 0], "x": 1, "y": 2 }, + { "matrix": [2, 1], "x": 2, "y": 2 }, + { "matrix": [2, 2], "x": 3, "y": 2 }, + { "matrix": [2, 3], "x": 4, "y": 2 }, + { "matrix": [2, 4], "x": 5, "y": 2 }, + + { "matrix": [6, 4], "x": 8, "y": 2 }, + { "matrix": [6, 3], "x": 9, "y": 2 }, + { "matrix": [6, 2], "x": 10, "y": 2 }, + { "matrix": [6, 1], "x": 11, "y": 2 }, + { "matrix": [6, 0], "x": 12, "y": 2 }, + { "matrix": [7, 0], "x": 13, "y": 2 }, + + { "matrix": [3, 2], "x": 4, "y": 3 }, + { "matrix": [3, 3], "x": 5, "y": 3 }, + { "matrix": [3, 4], "x": 6, "y": 3 }, + { "matrix": [7, 4], "x": 7, "y": 3 }, + { "matrix": [7, 3], "x": 8, "y": 3 }, + { "matrix": [7, 2], "x": 9, "y": 3 } + ] + } + }, + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6"], + "rows": ["GP28", "GP27", "GP26", "GP15"] + }, + "split": { + "enabled": true + }, + "encoder": { + "rotary": [ + { + "pin_a": "GP7", + "pin_b": "GP8", + "resolution": 4 + } + ] + }, + "features": { + "bootmagic": true, + "console": false, + "encoder": true, + "backlight": true, + "extrakey": true, + "rgblight": false, + "rgb_matrix": true, + "nkro": false + }, + "backlight": { + "pin": "GP14" + }, + "ws2812": { + "pin": "GP29" + }, + "rgblight": { + "led_count": 38, + "split": true, + "split_count": [19, 19] + }, + "rgb_matrix": { + "driver": "WS2812", + "led_count": 38, + "split_count": [19, 19], + "layout": [ + { "flags": 4, "matrix": [0, 4], "x": 71, "y": 7 }, + { "flags": 4, "matrix": [0, 3], "x": 57, "y": 5 }, + { "flags": 4, "matrix": [0, 2], "x": 44, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 27, "y": 5 }, + { "flags": 4, "matrix": [1, 1], "x": 29, "y": 22 }, + { "flags": 4, "matrix": [1, 0], "x": 14, "y": 26 }, + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 26 }, + { "flags": 4, "matrix": [3, 0], "x": 2, "y": 43 }, + { "flags": 4, "matrix": [2, 0], "x": 16, "y": 43 }, + { "flags": 4, "matrix": [2, 1], "x": 30, "y": 38 }, + { "flags": 4, "matrix": [2, 2], "x": 44, "y": 33 }, + { "flags": 4, "matrix": [1, 2], "x": 44, "y": 17 }, + { "flags": 4, "matrix": [1, 3], "x": 57, "y": 22 }, + { "flags": 4, "matrix": [1, 4], "x": 71, "y": 24 }, + { "flags": 4, "matrix": [2, 4], "x": 71, "y": 40 }, + { "flags": 4, "matrix": [2, 3], "x": 57, "y": 38 }, + { "flags": 4, "matrix": [3, 2], "x": 56, "y": 57 }, + { "flags": 4, "matrix": [3, 3], "x": 71, "y": 59 }, + { "flags": 4, "matrix": [3, 4], "x": 85, "y": 64 }, + + { "flags": 4, "matrix": [7, 4], "x": 139, "y": 64 }, + { "flags": 4, "matrix": [7, 3], "x": 153, "y": 59 }, + { "flags": 4, "matrix": [7, 2], "x": 168, "y": 57 }, + { "flags": 4, "matrix": [6, 3], "x": 167, "y": 38 }, + { "flags": 4, "matrix": [6, 4], "x": 153, "y": 40 }, + { "flags": 4, "matrix": [5, 4], "x": 153, "y": 24 }, + { "flags": 4, "matrix": [5, 3], "x": 167, "y": 22 }, + { "flags": 4, "matrix": [5, 2], "x": 180, "y": 17 }, + { "flags": 4, "matrix": [6, 2], "x": 180, "y": 33 }, + { "flags": 4, "matrix": [6, 1], "x": 194, "y": 38 }, + { "flags": 4, "matrix": [6, 0], "x": 208, "y": 43 }, + { "flags": 4, "matrix": [7, 0], "x": 222, "y": 43 }, + { "flags": 4, "matrix": [4, 0], "x": 224, "y": 26 }, + { "flags": 4, "matrix": [5, 0], "x": 210, "y": 26 }, + { "flags": 4, "matrix": [5, 1], "x": 195, "y": 22 }, + { "flags": 4, "matrix": [4, 1], "x": 197, "y": 5 }, + { "flags": 4, "matrix": [4, 2], "x": 180, "y": 0 }, + { "flags": 4, "matrix": [4, 3], "x": 167, "y": 5 }, + { "flags": 4, "matrix": [4, 4], "x": 153, "y": 7 } + ] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x0844", + "vid": "0xFEED" + } +} diff --git a/keyboards/stront/keymaps/default/keymap.c b/keyboards/stront/keymaps/default/keymap.c new file mode 100644 index 00000000000..793a2495c7c --- /dev/null +++ b/keyboards/stront/keymaps/default/keymap.c @@ -0,0 +1,107 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_number { + // clang-format off + _QWERTY = 0, + _GAME, + _NAV, + _NUMBER, + _SYMBOL, + _FUNC, + _SYS + // clang-format on +}; + +// Left-hand home row mods +#define HOME_A LGUI_T(KC_A) +#define HOME_S LALT_T(KC_S) +#define HOME_D LCTL_T(KC_D) +#define HOME_F LSFT_T(KC_F) + +// Right-hand home row mods +#define HOME_J RSFT_T(KC_J) +#define HOME_K RCTL_T(KC_K) +#define HOME_L LALT_T(KC_L) +#define HOME_SCLN RGUI_T(KC_SCLN) + +// bottom mods +#define SYM_SPC LT(_SYMBOL, KC_SPC) +#define NUM_TAB LT(_NUMBER, KC_TAB) +#define FUNC_ESC LT(_FUNC, KC_ESC) +#define FUNC_ENT LT(_FUNC, KC_ENT) +#define NAV_BSPC LT(_NAV, KC_BSPC) +#define RALT_DEL LALT_T(KC_DEL) + +// game layer mods +#define LALT_Q LALT_T(KC_Q) +#define LSFT_MINS LSFT_T(KC_MINS) +#define LCTL_ESC LCTL_T(KC_ESC) +#define LGUI_QUOT LGUI_T(KC_QUOT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* QWERTY + * .---------------------------. .---------------------------. + * | W | E | R | T | | Y | U | I | O | + * .------+------+------+------+------+------| |------+------+------+------+------+------. + * | Q | A | S | D | F | G | | H | J | K | L | P | ; | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | - | Z | X | C | V | B |--------. .--------| N | M | , | . | / | ' | + * '-----------------------------------------/ / \ \-----------------------------------------' + * | Esc | Tab | / Space / \ Enter \ | Bsps | Del | + * |_FUNC | _NUM | /_SYMBOL/ \ _FUNC \ | _NAV | RAlt | + * `-------------''-------' '-------''-------------' + */ + // clang-format off + [_QWERTY] = LAYOUT( + KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, + KC_Q, HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_H, HOME_J, HOME_K, HOME_L, HOME_SCLN, KC_P, + KC_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, + FUNC_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_GAME] = LAYOUT( + KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, + LALT_Q, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_P, + LSFT_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LGUI_QUOT, + LCTL_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_NAV] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, + XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PAUS, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_INS, KC_APP, XXXXXXX, + FUNC_ESC, NUM_TAB, SYM_SPC, XXXXXXX, _______, RALT_DEL + ), + + [_NUMBER] = LAYOUT( + KC_7, KC_8, KC_9, KC_GRV, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_EQL, KC_0, KC_4, KC_5, KC_6, KC_LBRC, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + KC_MINS, KC_BSLS, KC_1, KC_2, KC_3, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_ENT, _______, TG(_GAME), FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_SYMBOL] = LAYOUT( + LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_GRV), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + LSFT(KC_EQL), LSFT(KC_0), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_LBRC), XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + LSFT(KC_MINS), LSFT(KC_BSLS), LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_RBRC), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + MO(_SYS), KC_BSPC, _______, FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_FUNC] = LAYOUT( + KC_F7, KC_F8, KC_F9, KC_CAPS, XXXXXXX, KC_PSCR, KC_SCRL, KC_NUM, + KC_F12, KC_F11, KC_F4, KC_F5, KC_F6, KC_F12, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + XXXXXXX, KC_F10, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_MNXT, KC_MPLY, _______, XXXXXXX, MO(_SYS) + ), + + [_SYS] = LAYOUT( + BL_DOWN, BL_UP, BL_TOGG, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, + EH_LEFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EH_RGHT, EH_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, EH_LEFT, + _______, QK_BOOT, _______, _______, QK_BOOT, _______ + ) + // clang-format on +}; diff --git a/keyboards/stront/keymaps/hid/config.h b/keyboards/stront/keymaps/hid/config.h new file mode 100644 index 00000000000..e96512f93ff --- /dev/null +++ b/keyboards/stront/keymaps/hid/config.h @@ -0,0 +1,7 @@ +// Copyright 2022 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define SPLIT_TRANSACTION_IDS_USER RPC_ID_USER_HID_SYNC, RPC_ID_USER_CAPS_WORD_SYNC, RPC_ID_USER_LAYER_SYNC +#define QUANTUM_PAINTER_DISPLAY_TIMEOUT 0 diff --git a/keyboards/stront/keymaps/hid/hid_display.c b/keyboards/stront/keymaps/hid/hid_display.c new file mode 100644 index 00000000000..a1e13117130 --- /dev/null +++ b/keyboards/stront/keymaps/hid/hid_display.c @@ -0,0 +1,240 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "hid_display.h" +#include "display.h" +#include "raw_hid.h" +#include "lvgl_helpers.h" + +uint16_t home_screen_timer = 0; + +/* screens */ +static lv_obj_t *screen_home; +static lv_obj_t *screen_volume; +static lv_obj_t *screen_media; + +/* home screen content */ +static lv_obj_t *label_time; +static lv_obj_t *label_volume_home; +static lv_obj_t *label_shift; +static lv_obj_t *label_ctrl; +static lv_obj_t *label_alt; +static lv_obj_t *label_gui; +static lv_obj_t *label_layer; +static lv_obj_t *label_caps; +#ifdef CAPS_WORD_ENABLE +static lv_obj_t *label_caps_word; +#endif +static lv_obj_t *label_layout; + +/* volume screen content */ +static lv_obj_t *arc_volume; +static lv_obj_t *label_volume_arc; + +/* media screen content */ +static lv_obj_t *label_media_artist; +static lv_obj_t *label_media_title; + +enum layout { _EN = 0, _RU }; +void set_layout_label(uint8_t layout) { + switch (layout) { + case _EN: + lv_label_set_text(label_layout, "EN"); + break; + + case _RU: + lv_label_set_text(label_layout, "RU"); + break; + } +} + +void read_string(uint8_t *data, char *string_data) { + uint8_t data_length = data[1]; + memcpy(string_data, data + 2, data_length); + string_data[data_length] = '\0'; +} + +void start_home_screen_timer(void) { + dprint("start_home_screen_timer\n"); + home_screen_timer = timer_read(); +} + +void init_screen_home_custom(void) { + screen_home = lv_scr_act(); + lv_obj_add_style(screen_home, &style_screen, 0); + use_flex_column(screen_home); + + label_volume_home = lv_label_create(screen_home); + lv_label_set_text(label_volume_home, ""); + + lv_obj_t *mods = lv_obj_create(screen_home); + lv_obj_add_style(mods, &style_container, 0); + use_flex_row(mods); + + label_gui = create_button(mods, "GUI", &style_button, &style_button_active); + label_alt = create_button(mods, "ALT", &style_button, &style_button_active); + label_ctrl = create_button(mods, "CTL", &style_button, &style_button_active); + label_shift = create_button(mods, "SFT", &style_button, &style_button_active); + + label_time = lv_label_create(screen_home); + lv_label_set_text(label_time, "00:00"); + lv_obj_set_style_text_font(label_time, &lv_font_montserrat_48, LV_PART_MAIN); + + lv_obj_t *caps = lv_obj_create(screen_home); + lv_obj_add_style(caps, &style_container, 0); + use_flex_row(caps); + + label_caps = create_button(caps, "CAPS", &style_button, &style_button_active); +#ifdef CAPS_WORD_ENABLE + label_caps_word = create_button(caps, "CAPS WORD", &style_button, &style_button_active); +#endif + + lv_obj_t *bottom_row = lv_obj_create(screen_home); + lv_obj_add_style(bottom_row, &style_container, 0); + + label_layer = lv_label_create(bottom_row); + lv_label_set_text(label_layer, ""); + lv_obj_align(label_layer, LV_ALIGN_LEFT_MID, 10, 0); + display_process_layer_state(0); + + label_layout = lv_label_create(bottom_row); + lv_label_set_text(label_layout, ""); + lv_obj_align(label_layout, LV_ALIGN_RIGHT_MID, -10, 0); + set_layout_label(0); +} + +void init_screen_volume(void) { + screen_volume = lv_obj_create(NULL); + lv_obj_add_style(screen_volume, &style_screen, 0); + + arc_volume = lv_arc_create(screen_volume); + lv_obj_set_size(arc_volume, 200, 200); + lv_obj_center(arc_volume); + + label_volume_arc = lv_label_create(screen_volume); + lv_label_set_text(label_volume_arc, "00"); + lv_obj_set_style_text_font(label_volume_arc, &lv_font_montserrat_48, LV_PART_MAIN); + lv_obj_center(label_volume_arc); + + lv_obj_t *volume_text_label = lv_label_create(screen_volume); + lv_label_set_text(volume_text_label, "Volume"); + lv_obj_align(volume_text_label, LV_ALIGN_BOTTOM_MID, 0, -10); +} + +void init_screen_media(void) { + screen_media = lv_obj_create(NULL); + lv_obj_add_style(screen_media, &style_screen, 0); + use_flex_column(screen_media); + lv_obj_set_flex_align(screen_media, LV_FLEX_ALIGN_SPACE_EVENLY, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); + + label_media_artist = lv_label_create(screen_media); + lv_label_set_text(label_media_artist, "N/A"); + lv_label_set_long_mode(label_media_artist, LV_LABEL_LONG_WRAP); + lv_obj_set_width(label_media_artist, lv_pct(90)); + lv_obj_set_style_text_align(label_media_artist, LV_TEXT_ALIGN_CENTER, 0); + + label_media_title = lv_label_create(screen_media); + lv_label_set_text(label_media_title, "N/A"); + lv_label_set_long_mode(label_media_title, LV_LABEL_LONG_WRAP); + lv_obj_set_width(label_media_title, lv_pct(90)); + lv_obj_set_style_text_align(label_media_title, LV_TEXT_ALIGN_CENTER, 0); +} + +bool display_init_user(void) { + init_screen_home_custom(); + init_screen_volume(); + init_screen_media(); + + return false; +} + +void display_process_raw_hid_data(uint8_t *data, uint8_t length) { + uint8_t data_type = data[0]; + char string_data[length - 2]; + dprintf("display_process_raw_hid_data - received data_type %u \n", data_type); + switch (data_type) { + case _TIME: + dprintf("time %02d:%02d\n", data[1], data[2]); + lv_label_set_text_fmt(label_time, "%02d:%02d", data[1], data[2]); + break; + + case _VOLUME: + dprintf("volume %d\n", data[1]); + lv_label_set_text_fmt(label_volume_home, "Volume: %02d%%", data[1]); + lv_label_set_text_fmt(label_volume_arc, "%02d", data[1]); + lv_arc_set_value(arc_volume, data[1]); + lv_scr_load(screen_volume); + start_home_screen_timer(); + break; + + case _LAYOUT: + dprintf("layout %d\n", data[1]); + set_layout_label(data[1]); + break; + + case _MEDIA_ARTIST: + read_string(data, string_data); + dprintf("media artist %s\n", string_data); + lv_label_set_text(label_media_artist, string_data); + lv_scr_load(screen_media); + start_home_screen_timer(); + break; + + case _MEDIA_TITLE: + read_string(data, string_data); + dprintf("media title %s\n", string_data); + lv_label_set_text(label_media_title, string_data); + lv_scr_load(screen_media); + start_home_screen_timer(); + break; + } +} + +void display_process_layer_state(uint8_t layer) { + switch (layer) { + case _QWERTY: + lv_label_set_text(label_layer, "QWERTY"); + break; + case _GAME: + lv_label_set_text(label_layer, "GAME"); + break; + case _NAV: + lv_label_set_text(label_layer, "NAV"); + break; + case _NUMBER: + lv_label_set_text(label_layer, "NUMBER"); + break; + case _SYMBOL: + lv_label_set_text(label_layer, "SYMBOL"); + break; + case _FUNC: + lv_label_set_text(label_layer, "FUNC"); + break; + case _SYS: + lv_label_set_text(label_layer, "SYSTEM"); + break; + } +} + +void display_housekeeping_task(void) { + if (home_screen_timer && timer_elapsed(home_screen_timer) > 5000) { + home_screen_timer = 0; + lv_scr_load(screen_home); + } + + toggle_state(label_shift, LV_STATE_PRESSED, MODS_SHIFT); + toggle_state(label_ctrl, LV_STATE_PRESSED, MODS_CTRL); + toggle_state(label_alt, LV_STATE_PRESSED, MODS_ALT); + toggle_state(label_gui, LV_STATE_PRESSED, MODS_GUI); +} + +void display_process_caps(bool active) { + toggle_state(label_caps, LV_STATE_PRESSED, active); +} + +#ifdef CAPS_WORD_ENABLE +void display_process_caps_word(bool active) { + dprint("display_process_caps_word\n"); + toggle_state(label_caps_word, LV_STATE_PRESSED, active); +} +#endif diff --git a/keyboards/stront/keymaps/hid/hid_display.h b/keyboards/stront/keymaps/hid/hid_display.h new file mode 100644 index 00000000000..b93bf647169 --- /dev/null +++ b/keyboards/stront/keymaps/hid/hid_display.h @@ -0,0 +1,29 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +typedef enum { + _QWERTY = 0, + _GAME, + _EU, + _NAV, + _NUMBER, + _SYMBOL, + _FUNC, + _SYS, +} layer_number; + +typedef enum { + _TIME = 0, + _VOLUME, + _LAYOUT, + _MEDIA_ARTIST, + _MEDIA_TITLE, +} hid_data_type; + +void display_process_raw_hid_data(uint8_t *data, uint8_t length); +void display_process_layer_state(uint8_t layer); +#ifdef CAPS_WORD_ENABLE +void display_process_caps_word(bool active); +#endif diff --git a/keyboards/stront/keymaps/hid/keymap.c b/keyboards/stront/keymaps/hid/keymap.c new file mode 100644 index 00000000000..11cb89c48ee --- /dev/null +++ b/keyboards/stront/keymaps/hid/keymap.c @@ -0,0 +1,187 @@ +// Copyright 2022 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#include "hid_display.h" +#include "raw_hid.h" +#include "transactions.h" + +// Left-hand home row mods +#define HOME_A LGUI_T(KC_A) +#define HOME_S LALT_T(KC_S) +#define HOME_D LCTL_T(KC_D) +#define HOME_F LSFT_T(KC_F) + +// Right-hand home row mods +#define HOME_J RSFT_T(KC_J) +#define HOME_K RCTL_T(KC_K) +#define HOME_L LALT_T(KC_L) +#define HOME_SCLN RGUI_T(KC_SCLN) + +// bottom mods +#define SYM_SPC LT(_SYMBOL, KC_SPC) +#define NUM_TAB LT(_NUMBER, KC_TAB) +#define FUNC_ESC LT(_FUNC, KC_ESC) +#define FUNC_ENT LT(_FUNC, KC_ENT) +#define NAV_BSPC LT(_NAV, KC_BSPC) +#define RALT_DEL LALT_T(KC_DEL) + +// game layer mods +#define LALT_Q LALT_T(KC_Q) +#define LSFT_MINS LSFT_T(KC_MINS) +#define LCTL_ESC LCTL_T(KC_ESC) +#define LGUI_QUOT LGUI_T(KC_QUOT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* QWERTY + * .---------------------------. .---------------------------. + * | W | E | R | T | | Y | U | I | O | + * .------+------+------+------+------+------| |------+------+------+------+------+------. + * | Q | A | S | D | F | G | | H | J | K | L | P | ; | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | - | Z | X | C | V | B |--------. .--------| N | M | , | . | / | ' | + * '-----------------------------------------/ / \ \-----------------------------------------' + * | Esc | Tab | / Space / \ Enter \ | Bsps | Del | + * |_FUNC | _NUM | /_SYMBOL/ \ _FUNC \ | _NAV | RAlt | + * `-------------''-------' '-------''-------------' + */ + // clang-format off + [_QWERTY] = LAYOUT( + KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, + KC_Q, HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_H, HOME_J, HOME_K, HOME_L, HOME_SCLN, KC_P, + KC_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, + FUNC_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_GAME] = LAYOUT( + KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, + LALT_Q, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_P, + LSFT_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LGUI_QUOT, + LCTL_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_NAV] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, + XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PAUS, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_INS, KC_APP, XXXXXXX, + FUNC_ESC, NUM_TAB, SYM_SPC, XXXXXXX, _______, RALT_DEL + ), + + [_NUMBER] = LAYOUT( + KC_7, KC_8, KC_9, KC_GRV, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_EQL, KC_0, KC_4, KC_5, KC_6, KC_LBRC, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + KC_MINS, KC_BSLS, KC_1, KC_2, KC_3, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_ENT, _______, TG(_GAME), FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_SYMBOL] = LAYOUT( + LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_GRV), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + LSFT(KC_EQL), LSFT(KC_0), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_LBRC), XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + LSFT(KC_MINS), LSFT(KC_BSLS), LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_RBRC), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + MO(_SYS), KC_BSPC, _______, FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_FUNC] = LAYOUT( + KC_F7, KC_F8, KC_F9, KC_CAPS, XXXXXXX, KC_PSCR, KC_SCRL, KC_NUM, + KC_F12, KC_F11, KC_F4, KC_F5, KC_F6, KC_F12, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + XXXXXXX, KC_F10, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_MNXT, KC_MPLY, _______, XXXXXXX, MO(_SYS) + ), + + [_SYS] = LAYOUT( + BL_DOWN, BL_UP, BL_TOGG, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, + EH_LEFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EH_RGHT, EH_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, EH_LEFT, + _______, QK_BOOT, _______, _______, QK_BOOT, _______ + ) + // clang-format on +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + dprintf("process_record_user %u %s %s %d\n", keycode, record->event.pressed ? "pressed" : "depressed", record->tap.interrupted ? "interrupted" : "not interrupted", record->tap.count); + + if (record->event.pressed) { + uint8_t data[32]; + data[0] = 0; + + switch (keycode) { + // send hid commands + case KC_VOLU: + case KC_VOLD: + data[0] = _VOLUME; + break; + } + + if (data[0]) { + dprintf("raw_hid_send %u\n", data[0]); + raw_hid_send(data, sizeof(data)); + } + } + + return true; +} + +/* Caps Word processing */ +#ifdef CAPS_WORD_ENABLE +void caps_word_set_user(bool active) { + if (is_display_enabled()) { + display_process_caps_word(active); + } else if (is_keyboard_master() && !is_keyboard_left()) { + dprintf("RPC_ID_USER_CAPS_WORD_SYNC: %s\n", active ? "active" : "inactive"); + transaction_rpc_send(RPC_ID_USER_CAPS_WORD_SYNC, 1, &active); + } +} +#endif + +/* Active Layer processing */ +layer_state_t layer_state_set_user(layer_state_t state) { + if (is_display_enabled()) { + display_process_layer_state(get_highest_layer(state)); + } else if (is_keyboard_master() && !is_keyboard_left()) { + uint8_t layer = get_highest_layer(state); + dprintf("RPC_ID_USER_LAYER_SYNC: %u\n", layer); + transaction_rpc_send(RPC_ID_USER_LAYER_SYNC, 1, &layer); + } + + return state; +} + +/* Raw HID processing*/ +void raw_hid_receive(uint8_t *data, uint8_t length) { + dprintf("raw_hid_receive - received %u bytes \n", length); + + if (is_display_enabled()) { + display_process_raw_hid_data(data, length); + } else if (is_keyboard_master() && !is_keyboard_left()) { + dprint("RPC_ID_USER_HID_SYNC \n"); + transaction_rpc_send(RPC_ID_USER_HID_SYNC, length, data); + } +} + +void hid_sync(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) { + if (is_display_enabled()) { + display_process_raw_hid_data((uint8_t *)initiator2target_buffer, initiator2target_buffer_size); + } +} + +void layer_sync(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) { + if (is_display_enabled()) { + display_process_layer_state(*(uint8_t *)initiator2target_buffer); + } +} + +void caps_word_sync(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) { + if (is_display_enabled()) { + display_process_caps_word(*(bool *)initiator2target_buffer); + } +} + +void keyboard_post_init_user() { + // sync received hid data + transaction_register_rpc(RPC_ID_USER_HID_SYNC, hid_sync); + // sync highest layer (a bit more performant than standard SPLIT_LAYER_STATE_ENABLE) + transaction_register_rpc(RPC_ID_USER_LAYER_SYNC, layer_sync); + // sync caps word state + transaction_register_rpc(RPC_ID_USER_CAPS_WORD_SYNC, caps_word_sync); +} diff --git a/keyboards/stront/keymaps/hid/lv_conf.h b/keyboards/stront/keymaps/hid/lv_conf.h new file mode 100644 index 00000000000..f8f93b7c9ef --- /dev/null +++ b/keyboards/stront/keymaps/hid/lv_conf.h @@ -0,0 +1,15 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef LV_FONT_DEFAULT +#define LV_FONT_DEFAULT &lv_font_montserrat_20 + +#undef LV_FONT_MONTSERRAT_20 +#define LV_FONT_MONTSERRAT_20 1 + +#undef LV_FONT_MONTSERRAT_28 +#define LV_FONT_MONTSERRAT_28 0 diff --git a/keyboards/stront/keymaps/hid/rules.mk b/keyboards/stront/keymaps/hid/rules.mk new file mode 100644 index 00000000000..beaf344b665 --- /dev/null +++ b/keyboards/stront/keymaps/hid/rules.mk @@ -0,0 +1,5 @@ +CAPS_WORD_ENABLE = yes + +RAW_ENABLE = yes + +SRC += hid_display.c diff --git a/keyboards/stront/keymaps/i2c/config.h b/keyboards/stront/keymaps/i2c/config.h new file mode 100644 index 00000000000..8c71dad8355 --- /dev/null +++ b/keyboards/stront/keymaps/i2c/config.h @@ -0,0 +1,8 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP10 +#define I2C1_SCL_PIN GP11 diff --git a/keyboards/stront/keymaps/i2c/halconf.h b/keyboards/stront/keymaps/i2c/halconf.h new file mode 100644 index 00000000000..46c5a48c9a9 --- /dev/null +++ b/keyboards/stront/keymaps/i2c/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/stront/keymaps/i2c/keymap.c b/keyboards/stront/keymaps/i2c/keymap.c new file mode 100644 index 00000000000..793a2495c7c --- /dev/null +++ b/keyboards/stront/keymaps/i2c/keymap.c @@ -0,0 +1,107 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_number { + // clang-format off + _QWERTY = 0, + _GAME, + _NAV, + _NUMBER, + _SYMBOL, + _FUNC, + _SYS + // clang-format on +}; + +// Left-hand home row mods +#define HOME_A LGUI_T(KC_A) +#define HOME_S LALT_T(KC_S) +#define HOME_D LCTL_T(KC_D) +#define HOME_F LSFT_T(KC_F) + +// Right-hand home row mods +#define HOME_J RSFT_T(KC_J) +#define HOME_K RCTL_T(KC_K) +#define HOME_L LALT_T(KC_L) +#define HOME_SCLN RGUI_T(KC_SCLN) + +// bottom mods +#define SYM_SPC LT(_SYMBOL, KC_SPC) +#define NUM_TAB LT(_NUMBER, KC_TAB) +#define FUNC_ESC LT(_FUNC, KC_ESC) +#define FUNC_ENT LT(_FUNC, KC_ENT) +#define NAV_BSPC LT(_NAV, KC_BSPC) +#define RALT_DEL LALT_T(KC_DEL) + +// game layer mods +#define LALT_Q LALT_T(KC_Q) +#define LSFT_MINS LSFT_T(KC_MINS) +#define LCTL_ESC LCTL_T(KC_ESC) +#define LGUI_QUOT LGUI_T(KC_QUOT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* QWERTY + * .---------------------------. .---------------------------. + * | W | E | R | T | | Y | U | I | O | + * .------+------+------+------+------+------| |------+------+------+------+------+------. + * | Q | A | S | D | F | G | | H | J | K | L | P | ; | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | - | Z | X | C | V | B |--------. .--------| N | M | , | . | / | ' | + * '-----------------------------------------/ / \ \-----------------------------------------' + * | Esc | Tab | / Space / \ Enter \ | Bsps | Del | + * |_FUNC | _NUM | /_SYMBOL/ \ _FUNC \ | _NAV | RAlt | + * `-------------''-------' '-------''-------------' + */ + // clang-format off + [_QWERTY] = LAYOUT( + KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, + KC_Q, HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_H, HOME_J, HOME_K, HOME_L, HOME_SCLN, KC_P, + KC_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, + FUNC_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_GAME] = LAYOUT( + KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, + LALT_Q, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_P, + LSFT_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LGUI_QUOT, + LCTL_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_NAV] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, + XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PAUS, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_END, KC_INS, KC_APP, XXXXXXX, + FUNC_ESC, NUM_TAB, SYM_SPC, XXXXXXX, _______, RALT_DEL + ), + + [_NUMBER] = LAYOUT( + KC_7, KC_8, KC_9, KC_GRV, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_EQL, KC_0, KC_4, KC_5, KC_6, KC_LBRC, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + KC_MINS, KC_BSLS, KC_1, KC_2, KC_3, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_ENT, _______, TG(_GAME), FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_SYMBOL] = LAYOUT( + LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_GRV), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + LSFT(KC_EQL), LSFT(KC_0), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_LBRC), XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + LSFT(KC_MINS), LSFT(KC_BSLS), LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_RBRC), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + MO(_SYS), KC_BSPC, _______, FUNC_ENT, NAV_BSPC, RALT_DEL + ), + + [_FUNC] = LAYOUT( + KC_F7, KC_F8, KC_F9, KC_CAPS, XXXXXXX, KC_PSCR, KC_SCRL, KC_NUM, + KC_F12, KC_F11, KC_F4, KC_F5, KC_F6, KC_F12, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + XXXXXXX, KC_F10, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_MNXT, KC_MPLY, _______, XXXXXXX, MO(_SYS) + ), + + [_SYS] = LAYOUT( + BL_DOWN, BL_UP, BL_TOGG, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, + EH_LEFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EH_RGHT, EH_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, EH_LEFT, + _______, QK_BOOT, _______, _______, QK_BOOT, _______ + ) + // clang-format on +}; diff --git a/keyboards/stront/keymaps/i2c/mcuconf.h b/keyboards/stront/keymaps/i2c/mcuconf.h new file mode 100644 index 00000000000..47ee67119de --- /dev/null +++ b/keyboards/stront/keymaps/i2c/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/stront/keymaps/i2c/rules.mk b/keyboards/stront/keymaps/i2c/rules.mk new file mode 100644 index 00000000000..fedac72e2e2 --- /dev/null +++ b/keyboards/stront/keymaps/i2c/rules.mk @@ -0,0 +1 @@ +POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c diff --git a/keyboards/stront/keymaps/zzeneg/config.h b/keyboards/stront/keymaps/zzeneg/config.h new file mode 100644 index 00000000000..38fad1c0fdd --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/config.h @@ -0,0 +1,30 @@ +// Copyright 2022 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// #define DEBUG_MATRIX_SCAN_RATE + +#define SPLIT_TRANSACTION_IDS_USER RPC_ID_USER_HID_SYNC, RPC_ID_USER_CAPS_WORD_SYNC, RPC_ID_USER_LAYER_SYNC +#define QUANTUM_PAINTER_DISPLAY_TIMEOUT 0 + +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP10 +#define I2C1_SCL_PIN GP11 + +#define CIRQUE_PINNACLE_TAP_ENABLE +#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE +#define POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE +#define MOUSE_EXTENDED_REPORT + +#define TAPPING_TERM 150 +#define TAPPING_TERM_PER_KEY +#define QUICK_TAP_TERM 0 + +#define CAPS_WORD_IDLE_TIMEOUT 2500 +#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_TIMEOUT 300000 +# define RGB_TRIGGER_ON_KEYDOWN +#endif diff --git a/keyboards/stront/keymaps/zzeneg/fonts/montserrat_20_en_ru.c b/keyboards/stront/keymaps/zzeneg/fonts/montserrat_20_en_ru.c new file mode 100644 index 00000000000..f03a7835a61 --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/fonts/montserrat_20_en_ru.c @@ -0,0 +1,782 @@ +// Copyright 2022 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +/******************************************************************************* + * Size: 20 px + * Bpp: 4 + * Opts: + ******************************************************************************/ + +#ifdef __has_include +# if __has_include("lvgl.h") +# ifndef LV_LVGL_H_INCLUDE_SIMPLE +# define LV_LVGL_H_INCLUDE_SIMPLE +# endif +# endif +#endif + +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +# include "lvgl.h" +#else +# include "lvgl/lvgl.h" +#endif + +#ifndef MONTSERRAT_20_EN_RU +# define MONTSERRAT_20_EN_RU 1 +#endif + +#if MONTSERRAT_20_EN_RU + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+0020 " " */ + + /* U+0021 "!" */ + 0x3f, 0x63, 0xf6, 0x2f, 0x52, 0xf5, 0x1f, 0x41, 0xf4, 0xf, 0x40, 0xf3, 0xf, 0x30, 0xf2, 0x2, 0x0, 0x0, 0x1, 0x5, 0xf8, 0x3f, 0x60, + + /* U+0022 "\"" */ + 0x9a, 0x3, 0xf0, 0x99, 0x2, 0xf0, 0x99, 0x2, 0xf0, 0x89, 0x2, 0xf0, 0x89, 0x1, 0xf0, 0x44, 0x0, 0x70, + + /* U+0023 "#" */ + 0x0, 0x0, 0x6b, 0x0, 0x2, 0xe0, 0x0, 0x0, 0x0, 0x79, 0x0, 0x4, 0xc0, 0x0, 0x0, 0x0, 0x97, 0x0, 0x6, 0xa0, 0x0, 0x0, 0x0, 0xb6, 0x0, 0x8, 0x80, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x1, 0x22, 0xf4, 0x22, 0x2c, 0x62, 0x20, 0x0, 0x1, 0xf0, 0x0, 0xd, 0x30, 0x0, 0x0, 0x2, 0xe0, 0x0, 0xf, 0x10, 0x0, 0x0, 0x4, 0xc0, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x6, 0xa0, 0x0, 0x3d, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x12, 0x2b, 0x82, 0x22, 0x8b, 0x22, 0x10, 0x0, 0xc, 0x50, 0x0, 0x88, 0x0, 0x0, 0x0, 0xe, 0x30, 0x0, 0xa6, 0x0, 0x0, 0x0, 0xf, 0x10, 0x0, 0xc4, 0x0, 0x0, + + /* U+0024 "$" */ + 0x0, 0x0, 0x4, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xb0, 0x0, 0x0, 0x0, 0x6, 0xcf, 0xfe, 0xb6, 0x0, 0x0, 0xbf, 0x98, 0xd6, 0xaf, 0x90, 0x6, 0xf4, 0x4, 0xb0, 0x1, 0x20, 0xa, 0xc0, 0x4, 0xb0, 0x0, 0x0, 0xb, 0xc0, 0x4, 0xb0, 0x0, 0x0, 0x7, 0xf6, 0x4, 0xb0, 0x0, 0x0, 0x0, 0xcf, 0xca, 0xb0, 0x0, 0x0, 0x0, 0x6, 0xcf, 0xfe, 0x92, 0x0, 0x0, 0x0, 0x5, 0xda, 0xff, 0x60, 0x0, 0x0, 0x4, 0xb0, 0x1b, 0xf1, 0x0, 0x0, 0x4, 0xb0, 0x3, 0xf5, 0x0, 0x0, 0x4, 0xb0, 0x2, 0xf4, 0xb, 0x50, 0x4, 0xb0, 0x9, 0xf1, 0x9, 0xfd, 0x88, 0xd7, 0xcf, 0x50, 0x0, 0x29, 0xdf, 0xfe, 0xa3, 0x0, 0x0, 0x0, 0x4, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x50, 0x0, 0x0, + + /* U+0025 "%" */ + 0x0, 0x9d, 0xd9, 0x0, 0x0, 0x0, 0xd5, 0x0, 0x8, 0x90, 0x9, 0x80, 0x0, 0x7, 0xb0, 0x0, 0xe, 0x10, 0x1, 0xe0, 0x0, 0x2e, 0x10, 0x0, 0x2d, 0x0, 0x0, 0xd2, 0x0, 0xb6, 0x0, 0x0, 0x2e, 0x0, 0x0, 0xe2, 0x6, 0xc0, 0x0, 0x0, 0xe, 0x10, 0x1, 0xe0, 0x1e, 0x20, 0x0, 0x0, 0x8, 0xb1, 0x1b, 0x80, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x8e, 0xe8, 0x4, 0xd0, 0x2b, 0xfd, 0x40, 0x0, 0x0, 0x0, 0xe, 0x30, 0xe5, 0x3, 0xe2, 0x0, 0x0, 0x0, 0x99, 0x6, 0xa0, 0x0, 0x88, 0x0, 0x0, 0x3, 0xe1, 0x8, 0x70, 0x0, 0x4b, 0x0, 0x0, 0xd, 0x50, 0x8, 0x70, 0x0, 0x4b, 0x0, 0x0, 0x7b, 0x0, 0x6, 0xa0, 0x0, 0x78, 0x0, 0x2, 0xe1, 0x0, 0x0, 0xe3, 0x2, 0xe2, 0x0, 0xc, 0x60, 0x0, 0x0, 0x2c, 0xdd, 0x40, + + /* U+0026 "&" */ + 0x0, 0x1, 0xae, 0xfd, 0x50, 0x0, 0x0, 0x0, 0xd, 0xc3, 0x16, 0xf3, 0x0, 0x0, 0x0, 0x3f, 0x20, 0x0, 0xc8, 0x0, 0x0, 0x0, 0x3f, 0x10, 0x0, 0xc7, 0x0, 0x0, 0x0, 0xf, 0x70, 0x6, 0xf2, 0x0, 0x0, 0x0, 0x6, 0xf4, 0x9f, 0x50, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xfc, 0xe2, 0x0, 0x0, 0x0, 0x1, 0xdc, 0x10, 0xcd, 0x10, 0xa, 0x20, 0x9, 0xd0, 0x0, 0xd, 0xd1, 0x1f, 0x10, 0xf, 0x70, 0x0, 0x1, 0xdc, 0x8c, 0x0, 0xf, 0x60, 0x0, 0x0, 0x2e, 0xf6, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x1c, 0xfa, 0x0, 0x3, 0xfd, 0x63, 0x48, 0xec, 0x4f, 0x90, 0x0, 0x29, 0xef, 0xfc, 0x60, 0x4, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+0027 "'" */ + 0x9a, 0x99, 0x99, 0x89, 0x89, 0x44, + + /* U+0028 "(" */ + 0x0, 0xd8, 0x5, 0xf1, 0xc, 0x90, 0x1f, 0x40, 0x5f, 0x0, 0x9d, 0x0, 0xba, 0x0, 0xd9, 0x0, 0xe8, 0x0, 0xe7, 0x0, 0xe8, 0x0, 0xd9, 0x0, 0xba, 0x0, 0x9d, 0x0, 0x5f, 0x0, 0x1f, 0x40, 0xc, 0x90, 0x5, 0xf1, 0x0, 0xd8, + + /* U+0029 ")" */ + 0xe, 0x70, 0x0, 0x7e, 0x0, 0x1, 0xf5, 0x0, 0xb, 0xb0, 0x0, 0x7f, 0x0, 0x3, 0xf2, 0x0, 0x1f, 0x40, 0x0, 0xf6, 0x0, 0xe, 0x70, 0x0, 0xe7, 0x0, 0xe, 0x70, 0x0, 0xf6, 0x0, 0x1f, 0x40, 0x3, 0xf2, 0x0, 0x7f, 0x0, 0xb, 0xa0, 0x1, 0xf5, 0x0, 0x7e, 0x0, 0xe, 0x60, 0x0, + + /* U+002A "*" */ + 0x0, 0x9, 0x50, 0x0, 0x23, 0x9, 0x50, 0x50, 0x3e, 0x9a, 0x7c, 0xc1, 0x0, 0x9f, 0xf5, 0x0, 0x6, 0xed, 0xdd, 0x30, 0x5b, 0x29, 0x54, 0xd1, 0x0, 0x9, 0x50, 0x0, 0x0, 0x4, 0x20, 0x0, + + /* U+002B "+" */ + 0x0, 0x0, 0xb4, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xf1, 0x13, 0x33, 0xe8, 0x33, 0x30, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x21, 0x0, 0x0, + + /* U+002C "," */ + 0x12, 0xd, 0xf1, 0xaf, 0x15, 0xc0, 0x88, 0xc, 0x30, + + /* U+002D "-" */ + 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf7, 0x33, 0x33, 0x31, + + /* U+002E "." */ + 0x12, 0xd, 0xf1, 0xad, 0x0, + + /* U+002F "/" */ + 0x0, 0x0, 0x0, 0x7, 0x20, 0x0, 0x0, 0x3, 0xf1, 0x0, 0x0, 0x0, 0x9b, 0x0, 0x0, 0x0, 0xe, 0x60, 0x0, 0x0, 0x4, 0xf1, 0x0, 0x0, 0x0, 0x9b, 0x0, 0x0, 0x0, 0xe, 0x60, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0x9b, 0x0, 0x0, 0x0, 0xe, 0x50, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0xf, 0x50, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0xf, 0x50, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0xf, 0x40, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0, + + /* U+0030 "0" */ + 0x0, 0x8, 0xdf, 0xea, 0x20, 0x0, 0x1, 0xdf, 0x86, 0x7d, 0xf3, 0x0, 0xb, 0xe2, 0x0, 0x0, 0xce, 0x10, 0x3f, 0x50, 0x0, 0x0, 0x1f, 0x70, 0x9e, 0x0, 0x0, 0x0, 0xa, 0xd0, 0xca, 0x0, 0x0, 0x0, 0x7, 0xf0, 0xe8, 0x0, 0x0, 0x0, 0x4, 0xf2, 0xf8, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xe8, 0x0, 0x0, 0x0, 0x4, 0xf2, 0xca, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x9e, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x3f, 0x50, 0x0, 0x0, 0x1f, 0x70, 0xb, 0xe2, 0x0, 0x0, 0xce, 0x10, 0x1, 0xdf, 0x96, 0x7e, 0xf3, 0x0, 0x0, 0x8, 0xdf, 0xea, 0x20, 0x0, + + /* U+0031 "1" */ + 0xdf, 0xff, 0xe4, 0x55, 0xae, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, 0x0, 0x8e, 0x0, 0x8, 0xe0, + + /* U+0032 "2" */ + 0x0, 0x7c, 0xff, 0xea, 0x20, 0x2, 0xdf, 0x96, 0x68, 0xef, 0x20, 0x4c, 0x10, 0x0, 0x1, 0xea, 0x0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x0, 0x0, 0xc, 0xb0, 0x0, 0x0, 0x0, 0x4, 0xf5, 0x0, 0x0, 0x0, 0x2, 0xea, 0x0, 0x0, 0x0, 0x2, 0xec, 0x0, 0x0, 0x0, 0x1, 0xdc, 0x0, 0x0, 0x0, 0x1, 0xdd, 0x10, 0x0, 0x0, 0x1, 0xdd, 0x10, 0x0, 0x0, 0x0, 0xce, 0x10, 0x0, 0x0, 0x0, 0xcf, 0x75, 0x55, 0x55, 0x53, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x90, + + /* U+0033 "3" */ + 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x1, 0x55, 0x55, 0x55, 0x8f, 0x70, 0x0, 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x8, 0xf2, 0x0, 0x0, 0x0, 0x3, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x20, 0x0, 0x0, 0x0, 0xf, 0xff, 0xb4, 0x0, 0x0, 0x0, 0x33, 0x5b, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xa, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x40, 0x0, 0x0, 0x0, 0x4, 0xf3, 0x67, 0x0, 0x0, 0x0, 0xbf, 0x6, 0xfe, 0x96, 0x68, 0xdf, 0x50, 0x2, 0x8d, 0xff, 0xea, 0x30, 0x0, + + /* U+0034 "4" */ + 0x0, 0x0, 0x0, 0x2, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9e, 0x10, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x40, 0x0, 0x0, 0x0, 0x0, 0x2e, 0x90, 0x0, 0x0, 0x0, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xf2, 0x0, 0x2a, 0x10, 0x0, 0x4, 0xf6, 0x0, 0x4, 0xf2, 0x0, 0x1, 0xea, 0x0, 0x0, 0x4f, 0x20, 0x0, 0xbe, 0x21, 0x11, 0x15, 0xf3, 0x10, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x44, 0x44, 0x44, 0x47, 0xf5, 0x43, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x20, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x20, 0x0, + + /* U+0035 "5" */ + 0x0, 0xef, 0xff, 0xff, 0xfc, 0x0, 0xf, 0x95, 0x55, 0x55, 0x40, 0x1, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x20, 0x0, 0x0, 0x0, 0x4, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x11, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xeb, 0x40, 0x0, 0x24, 0x44, 0x47, 0xcf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x20, 0x0, 0x0, 0x0, 0x1, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x0, 0x0, 0x0, 0x1, 0xf6, 0x3c, 0x20, 0x0, 0x0, 0xaf, 0x13, 0xef, 0xb7, 0x67, 0xdf, 0x60, 0x0, 0x7c, 0xef, 0xeb, 0x40, 0x0, + + /* U+0036 "6" */ + 0x0, 0x5, 0xbe, 0xfe, 0xb4, 0x0, 0xa, 0xfa, 0x64, 0x6a, 0x60, 0x9, 0xf3, 0x0, 0x0, 0x0, 0x2, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x0, 0x0, 0xc, 0xa0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x7, 0xdf, 0xfc, 0x50, 0xf, 0x8c, 0xc5, 0x35, 0xaf, 0x80, 0xee, 0xb0, 0x0, 0x0, 0x8f, 0x2d, 0xf2, 0x0, 0x0, 0x0, 0xf7, 0xaf, 0x0, 0x0, 0x0, 0xe, 0x85, 0xf3, 0x0, 0x0, 0x0, 0xf7, 0xd, 0xb0, 0x0, 0x0, 0x8f, 0x20, 0x2e, 0xd6, 0x45, 0xbf, 0x60, 0x0, 0x19, 0xdf, 0xfb, 0x40, 0x0, + + /* U+0037 "7" */ + 0x5f, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xf6, 0x55, 0x55, 0x55, 0xeb, 0x5f, 0x10, 0x0, 0x0, 0x3f, 0x55, 0xf1, 0x0, 0x0, 0xa, 0xe0, 0x2, 0x0, 0x0, 0x1, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x10, 0x0, 0x0, 0x0, 0xe, 0xa0, 0x0, 0x0, 0x0, 0x5, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0, 0x2f, 0x60, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0x0, 0x0, 0x0, 0xd, 0xb0, 0x0, 0x0, 0x0, 0x4, 0xf4, 0x0, 0x0, 0x0, + + /* U+0038 "8" */ + 0x0, 0x5, 0xcf, 0xfe, 0xa3, 0x0, 0x0, 0x9f, 0xa5, 0x46, 0xcf, 0x50, 0x3, 0xf7, 0x0, 0x0, 0xb, 0xe0, 0x7, 0xf0, 0x0, 0x0, 0x4, 0xf3, 0x8, 0xf0, 0x0, 0x0, 0x3, 0xf4, 0x5, 0xf3, 0x0, 0x0, 0x7, 0xf1, 0x0, 0xce, 0x40, 0x0, 0x7f, 0x80, 0x0, 0x1e, 0xff, 0xff, 0xfb, 0x0, 0x2, 0xed, 0x63, 0x33, 0x7e, 0xc0, 0xc, 0xd0, 0x0, 0x0, 0x2, 0xf7, 0xf, 0x70, 0x0, 0x0, 0x0, 0xbc, 0xf, 0x80, 0x0, 0x0, 0x0, 0xcb, 0xb, 0xe1, 0x0, 0x0, 0x4, 0xf7, 0x2, 0xee, 0x85, 0x45, 0xaf, 0xc0, 0x0, 0x18, 0xdf, 0xfe, 0xb6, 0x0, + + /* U+0039 "9" */ + 0x0, 0x2a, 0xef, 0xea, 0x20, 0x0, 0x4, 0xfc, 0x64, 0x6c, 0xf4, 0x0, 0xe, 0xb0, 0x0, 0x0, 0x9e, 0x10, 0x3f, 0x30, 0x0, 0x0, 0x1f, 0x80, 0x5f, 0x10, 0x0, 0x0, 0xd, 0xd0, 0x4f, 0x20, 0x0, 0x0, 0xf, 0xf0, 0x1f, 0x90, 0x0, 0x0, 0x7f, 0xf1, 0x7, 0xf9, 0x21, 0x28, 0xf7, 0xf2, 0x0, 0x6e, 0xff, 0xfc, 0x35, 0xf1, 0x0, 0x0, 0x23, 0x10, 0x7, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0x50, 0x0, 0x0, 0x0, 0x2, 0xdc, 0x0, 0x3, 0xb6, 0x55, 0x9f, 0xc1, 0x0, 0x3, 0xae, 0xff, 0xc6, 0x0, 0x0, + + /* U+003A ":" */ + 0xbe, 0x1d, 0xf1, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0xd, 0xf1, 0xad, 0x0, + + /* U+003B ";" */ + 0xbe, 0x1d, 0xf1, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0xd, 0xf1, 0xaf, 0x15, 0xc0, 0x88, 0xc, 0x30, + + /* U+003C "<" */ + 0x0, 0x0, 0x0, 0x0, 0x50, 0x0, 0x0, 0x1, 0x7e, 0xe1, 0x0, 0x3, 0xaf, 0xc5, 0x0, 0x6, 0xdf, 0x93, 0x0, 0x0, 0x9f, 0x70, 0x0, 0x0, 0x0, 0x5d, 0xe8, 0x20, 0x0, 0x0, 0x0, 0x4b, 0xfb, 0x40, 0x0, 0x0, 0x0, 0x28, 0xee, 0x70, 0x0, 0x0, 0x0, 0x5, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+003D "=" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xf1, 0x13, 0x33, 0x33, 0x33, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xf1, 0x13, 0x33, 0x33, 0x33, 0x30, + + /* U+003E ">" */ + 0x41, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xb4, 0x0, 0x0, 0x0, 0x2, 0x9f, 0xd7, 0x10, 0x0, 0x0, 0x0, 0x6c, 0xf9, 0x30, 0x0, 0x0, 0x0, 0x3c, 0xf1, 0x0, 0x0, 0x5, 0xbf, 0xa0, 0x0, 0x18, 0xee, 0x81, 0x0, 0x3b, 0xfb, 0x50, 0x0, 0x0, 0x89, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+003F "?" */ + 0x1, 0x7c, 0xff, 0xe9, 0x20, 0x2e, 0xe8, 0x55, 0x8e, 0xe2, 0x5b, 0x10, 0x0, 0x2, 0xfa, 0x0, 0x0, 0x0, 0x0, 0xbd, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x2, 0xf6, 0x0, 0x0, 0x0, 0x2e, 0xc0, 0x0, 0x0, 0x2, 0xec, 0x0, 0x0, 0x0, 0xc, 0xd0, 0x0, 0x0, 0x0, 0x3f, 0x50, 0x0, 0x0, 0x0, 0x27, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x50, 0x0, 0x0, 0x0, 0x5f, 0x40, 0x0, + + /* U+0040 "@" */ + 0x0, 0x0, 0x4, 0x9d, 0xff, 0xec, 0x82, 0x0, 0x0, 0x0, 0x0, 0x2c, 0xe8, 0x31, 0x1, 0x49, 0xe9, 0x0, 0x0, 0x0, 0x4f, 0x80, 0x0, 0x0, 0x0, 0x1, 0xad, 0x10, 0x0, 0x2f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8c, 0x0, 0xb, 0x80, 0x0, 0x4b, 0xff, 0xc5, 0xf, 0x50, 0xc7, 0x3, 0xf0, 0x0, 0x6f, 0x83, 0x25, 0xd7, 0xf5, 0x3, 0xe0, 0x89, 0x0, 0x2f, 0x50, 0x0, 0x0, 0xdf, 0x50, 0xd, 0x4c, 0x50, 0x9, 0xc0, 0x0, 0x0, 0x4, 0xf5, 0x0, 0x97, 0xe3, 0x0, 0xd8, 0x0, 0x0, 0x0, 0xf, 0x50, 0x7, 0x9f, 0x20, 0xe, 0x60, 0x0, 0x0, 0x0, 0xf5, 0x0, 0x69, 0xe3, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x1f, 0x50, 0x7, 0x9c, 0x50, 0x9, 0xd0, 0x0, 0x0, 0x5, 0xf5, 0x0, 0x96, 0x89, 0x0, 0x2f, 0x70, 0x0, 0x1, 0xdf, 0x50, 0xe, 0x23, 0xf0, 0x0, 0x6f, 0xa4, 0x36, 0xe7, 0xcc, 0x39, 0xb0, 0xb, 0x80, 0x0, 0x4b, 0xff, 0xc5, 0x3, 0xdf, 0xb1, 0x0, 0x2e, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2c, 0xe8, 0x31, 0x12, 0x5a, 0x40, 0x0, 0x0, 0x0, 0x0, 0x4, 0x9d, 0xff, 0xeb, 0x71, 0x0, 0x0, 0x0, + + /* U+0041 "A" */ + 0x0, 0x0, 0x0, 0xcf, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xc7, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf6, 0x1f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x7e, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xe, 0x80, 0x3, 0xf4, 0x0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x3f, 0x40, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, 0x7f, 0x33, 0x33, 0x33, 0x33, 0xcc, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0x5, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xe, 0xa0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x10, + + /* U+0042 "B" */ + 0xbf, 0xff, 0xff, 0xfe, 0xb4, 0x0, 0xbd, 0x44, 0x44, 0x46, 0xcf, 0x60, 0xbc, 0x0, 0x0, 0x0, 0xb, 0xf0, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x9, 0xe0, 0xbc, 0x0, 0x0, 0x2, 0x8f, 0x50, 0xbf, 0xff, 0xff, 0xff, 0xf9, 0x0, 0xbd, 0x33, 0x33, 0x34, 0x7d, 0xe2, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xda, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x8e, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xbc, 0x0, 0x0, 0x0, 0x1, 0xeb, 0xbd, 0x44, 0x44, 0x45, 0x7e, 0xf3, 0xbf, 0xff, 0xff, 0xff, 0xd9, 0x20, + + /* U+0043 "C" */ + 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0, 0x3, 0xef, 0xa7, 0x57, 0xbf, 0xc1, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3d, 0x20, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x4e, 0x30, 0x4, 0xef, 0xa7, 0x67, 0xbf, 0xb0, 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0, + + /* U+0044 "D" */ + 0xbf, 0xff, 0xff, 0xfd, 0xa3, 0x0, 0x0, 0xbd, 0x55, 0x55, 0x58, 0xdf, 0xa0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x5, 0xfb, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x70, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xa, 0xe0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf4, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf6, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf4, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xa, 0xe0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x70, 0xbc, 0x0, 0x0, 0x0, 0x5, 0xfb, 0x0, 0xbd, 0x55, 0x55, 0x58, 0xdf, 0xa0, 0x0, 0xbf, 0xff, 0xff, 0xfd, 0xa3, 0x0, 0x0, + + /* U+0045 "E" */ + 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xb, 0xd5, 0x55, 0x55, 0x55, 0x40, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0x0, 0xbd, 0x33, 0x33, 0x33, 0x30, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xb, 0xd5, 0x55, 0x55, 0x55, 0x51, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x30, + + /* U+0046 "F" */ + 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xbd, 0x55, 0x55, 0x55, 0x54, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x11, 0x11, 0x11, 0x10, 0xbf, 0xff, 0xff, 0xff, 0xf0, 0xbd, 0x44, 0x44, 0x44, 0x40, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, + + /* U+0047 "G" */ + 0x0, 0x0, 0x6c, 0xef, 0xec, 0x60, 0x0, 0x3, 0xef, 0xa7, 0x57, 0xaf, 0xd2, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x2c, 0x40, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x64, 0xe9, 0x0, 0x0, 0x0, 0x0, 0xd, 0x9b, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x6f, 0x30, 0x0, 0x0, 0x0, 0xd, 0x90, 0xdd, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x2f, 0x90, 0x3, 0xef, 0xb7, 0x67, 0xbf, 0xe3, 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x60, 0x0, + + /* U+0048 "H" */ + 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x11, 0x11, 0x11, 0x11, 0x8f, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0x44, 0x44, 0x44, 0x44, 0xaf, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x7f, + + /* U+0049 "I" */ + 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, + + /* U+004A "J" */ + 0x0, 0xbf, 0xff, 0xff, 0xd0, 0x3, 0x55, 0x55, 0xbd, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x0, 0xbc, 0xb, 0x50, 0x0, 0x1f, 0x80, 0x9f, 0xa5, 0x6d, 0xf1, 0x0, 0x6d, 0xff, 0xb2, 0x0, + + /* U+004B "K" */ + 0xbc, 0x0, 0x0, 0x0, 0x7, 0xf4, 0xb, 0xc0, 0x0, 0x0, 0x6, 0xf5, 0x0, 0xbc, 0x0, 0x0, 0x4, 0xf7, 0x0, 0xb, 0xc0, 0x0, 0x3, 0xf9, 0x0, 0x0, 0xbc, 0x0, 0x2, 0xea, 0x0, 0x0, 0xb, 0xc0, 0x1, 0xec, 0x0, 0x0, 0x0, 0xbc, 0x1, 0xde, 0x10, 0x0, 0x0, 0xb, 0xc0, 0xcf, 0xf3, 0x0, 0x0, 0x0, 0xbc, 0xbe, 0x3d, 0xe1, 0x0, 0x0, 0xb, 0xff, 0x30, 0x2f, 0xb0, 0x0, 0x0, 0xbf, 0x40, 0x0, 0x5f, 0x80, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x7f, 0x50, 0x0, 0xbc, 0x0, 0x0, 0x0, 0xaf, 0x20, 0xb, 0xc0, 0x0, 0x0, 0x0, 0xdd, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x2, 0xeb, 0x0, + + /* U+004C "L" */ + 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0xbd, 0x55, 0x55, 0x55, 0x53, 0xbf, 0xff, 0xff, 0xff, 0xf9, + + /* U+004D "M" */ + 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xdb, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x3, 0xfd, 0xbf, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xdb, 0xef, 0x60, 0x0, 0x0, 0x0, 0x4f, 0xed, 0xbb, 0xbe, 0x0, 0x0, 0x0, 0xd, 0xc9, 0xdb, 0xb2, 0xf7, 0x0, 0x0, 0x5, 0xf3, 0x9d, 0xbb, 0x9, 0xf1, 0x0, 0x0, 0xda, 0x9, 0xdb, 0xb0, 0x1e, 0x90, 0x0, 0x6f, 0x10, 0x9d, 0xbb, 0x0, 0x6f, 0x20, 0xe, 0x80, 0x9, 0xdb, 0xb0, 0x0, 0xda, 0x8, 0xe0, 0x0, 0x9d, 0xbb, 0x0, 0x4, 0xf4, 0xf6, 0x0, 0x9, 0xdb, 0xb0, 0x0, 0xb, 0xfd, 0x0, 0x0, 0x9d, 0xbb, 0x0, 0x0, 0x2f, 0x40, 0x0, 0x9, 0xdb, 0xb0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x9d, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xd0, + + /* U+004E "N" */ + 0xbd, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xbf, 0xa0, 0x0, 0x0, 0x0, 0x7f, 0xbf, 0xf6, 0x0, 0x0, 0x0, 0x7f, 0xbd, 0xef, 0x30, 0x0, 0x0, 0x7f, 0xbc, 0x4f, 0xd1, 0x0, 0x0, 0x7f, 0xbc, 0x7, 0xfb, 0x0, 0x0, 0x7f, 0xbc, 0x0, 0xbf, 0x70, 0x0, 0x7f, 0xbc, 0x0, 0x1e, 0xf3, 0x0, 0x7f, 0xbc, 0x0, 0x3, 0xfe, 0x10, 0x7f, 0xbc, 0x0, 0x0, 0x7f, 0xc0, 0x7f, 0xbc, 0x0, 0x0, 0xa, 0xf8, 0x7f, 0xbc, 0x0, 0x0, 0x0, 0xdf, 0xcf, 0xbc, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xbc, 0x0, 0x0, 0x0, 0x6, 0xff, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x9f, + + /* U+004F "O" */ + 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0, 0x0, 0x3, 0xef, 0xa6, 0x57, 0xbf, 0xc1, 0x0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3e, 0xe1, 0x0, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xa0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x2b, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xaf, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xab, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xa0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3e, 0xe1, 0x0, 0x3, 0xef, 0xa7, 0x67, 0xcf, 0xc1, 0x0, 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0, 0x0, + + /* U+0050 "P" */ + 0xbf, 0xff, 0xff, 0xec, 0x60, 0x0, 0xbd, 0x55, 0x55, 0x6a, 0xfc, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x3f, 0x90, 0xbc, 0x0, 0x0, 0x0, 0x8, 0xf0, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x7, 0xf1, 0xbc, 0x0, 0x0, 0x0, 0x1e, 0xb0, 0xbc, 0x11, 0x11, 0x26, 0xee, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xa1, 0x0, 0xbd, 0x44, 0x44, 0x30, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+0051 "Q" */ + 0x0, 0x0, 0x7c, 0xff, 0xeb, 0x50, 0x0, 0x0, 0x0, 0x3e, 0xfa, 0x65, 0x7b, 0xfc, 0x10, 0x0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3e, 0xe1, 0x0, 0xd, 0xd0, 0x0, 0x0, 0x0, 0x2, 0xfa, 0x0, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xa0, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xb0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xa0, 0xbd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x70, 0x6f, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0xd, 0xd0, 0x0, 0x0, 0x0, 0x2, 0xfa, 0x0, 0x3, 0xfc, 0x20, 0x0, 0x0, 0x3e, 0xe1, 0x0, 0x0, 0x3e, 0xfa, 0x76, 0x7c, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x7c, 0xff, 0xfb, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf7, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x81, 0x18, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x5, 0xef, 0xfe, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x20, 0x0, + + /* U+0052 "R" */ + 0xbf, 0xff, 0xff, 0xec, 0x60, 0x0, 0xbd, 0x55, 0x55, 0x6a, 0xfc, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x3f, 0x90, 0xbc, 0x0, 0x0, 0x0, 0x8, 0xf0, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xbc, 0x0, 0x0, 0x0, 0x7, 0xf1, 0xbc, 0x0, 0x0, 0x0, 0x1e, 0xb0, 0xbc, 0x11, 0x11, 0x26, 0xee, 0x20, 0xbf, 0xff, 0xff, 0xff, 0xa1, 0x0, 0xbd, 0x44, 0x43, 0x4f, 0x70, 0x0, 0xbc, 0x0, 0x0, 0x7, 0xf2, 0x0, 0xbc, 0x0, 0x0, 0x0, 0xcc, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x2f, 0x70, 0xbc, 0x0, 0x0, 0x0, 0x7, 0xf2, + + /* U+0053 "S" */ + 0x0, 0x6, 0xcf, 0xfe, 0xb6, 0x0, 0x0, 0xbf, 0x95, 0x46, 0xaf, 0x90, 0x6, 0xf4, 0x0, 0x0, 0x1, 0x20, 0xa, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xc7, 0x20, 0x0, 0x0, 0x0, 0x6, 0xcf, 0xfe, 0x92, 0x0, 0x0, 0x0, 0x1, 0x5a, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf4, 0xb, 0x50, 0x0, 0x0, 0x9, 0xf1, 0x9, 0xfd, 0x85, 0x57, 0xcf, 0x50, 0x0, 0x29, 0xdf, 0xfe, 0xa3, 0x0, + + /* U+0054 "T" */ + 0xef, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x45, 0x55, 0x5f, 0xa5, 0x55, 0x52, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, + + /* U+0055 "U" */ + 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xda, 0x0, 0x0, 0x0, 0x0, 0xca, 0xcb, 0x0, 0x0, 0x0, 0x0, 0xd9, 0xad, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x6f, 0x30, 0x0, 0x0, 0x5, 0xf3, 0xe, 0xd1, 0x0, 0x0, 0x2e, 0xb0, 0x3, 0xee, 0x96, 0x69, 0xfd, 0x10, 0x0, 0x19, 0xdf, 0xfd, 0x80, 0x0, + + /* U+0056 "V" */ + 0xbd, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcb, 0x5f, 0x40, 0x0, 0x0, 0x0, 0x3, 0xf4, 0xe, 0xa0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x7, 0xf1, 0x0, 0x0, 0x0, 0x1f, 0x70, 0x1, 0xf8, 0x0, 0x0, 0x0, 0x7f, 0x10, 0x0, 0xae, 0x0, 0x0, 0x0, 0xda, 0x0, 0x0, 0x4f, 0x50, 0x0, 0x4, 0xf3, 0x0, 0x0, 0xd, 0xb0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x6, 0xf2, 0x0, 0x1f, 0x60, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x9e, 0x0, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x2f, 0x65, 0xf2, 0x0, 0x0, 0x0, 0x0, 0xc, 0xcc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee, 0x0, 0x0, 0x0, + + /* U+0057 "W" */ + 0x1f, 0x60, 0x0, 0x0, 0x0, 0xaf, 0x0, 0x0, 0x0, 0x1, 0xf5, 0xc, 0xb0, 0x0, 0x0, 0x0, 0xff, 0x50, 0x0, 0x0, 0x6, 0xf0, 0x7, 0xf1, 0x0, 0x0, 0x5, 0xfd, 0xa0, 0x0, 0x0, 0xb, 0xb0, 0x2, 0xf5, 0x0, 0x0, 0xa, 0xb7, 0xf0, 0x0, 0x0, 0xf, 0x60, 0x0, 0xda, 0x0, 0x0, 0xf, 0x62, 0xf4, 0x0, 0x0, 0x5f, 0x10, 0x0, 0x8f, 0x0, 0x0, 0x4f, 0x10, 0xd9, 0x0, 0x0, 0xac, 0x0, 0x0, 0x3f, 0x40, 0x0, 0x9b, 0x0, 0x8e, 0x0, 0x0, 0xf7, 0x0, 0x0, 0xe, 0x90, 0x0, 0xe6, 0x0, 0x2f, 0x30, 0x4, 0xf2, 0x0, 0x0, 0x9, 0xe0, 0x4, 0xf1, 0x0, 0xd, 0x80, 0x9, 0xd0, 0x0, 0x0, 0x4, 0xf3, 0x9, 0xc0, 0x0, 0x8, 0xd0, 0xe, 0x80, 0x0, 0x0, 0x0, 0xf8, 0xe, 0x70, 0x0, 0x3, 0xf3, 0x3f, 0x30, 0x0, 0x0, 0x0, 0xad, 0x3f, 0x20, 0x0, 0x0, 0xe8, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xbc, 0x0, 0x0, 0x0, 0x9d, 0xd9, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf7, 0x0, 0x0, 0x0, 0x4f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xb, 0xf2, 0x0, 0x0, 0x0, 0xe, 0xe0, 0x0, 0x0, + + /* U+0058 "X" */ + 0x1e, 0xb0, 0x0, 0x0, 0x0, 0x8f, 0x20, 0x4f, 0x60, 0x0, 0x0, 0x3f, 0x60, 0x0, 0x9f, 0x20, 0x0, 0xd, 0xb0, 0x0, 0x0, 0xec, 0x0, 0x9, 0xe1, 0x0, 0x0, 0x4, 0xf7, 0x4, 0xf5, 0x0, 0x0, 0x0, 0x9, 0xf4, 0xea, 0x0, 0x0, 0x0, 0x0, 0xd, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xcf, 0x50, 0x0, 0x0, 0x0, 0xd, 0xc0, 0xbe, 0x10, 0x0, 0x0, 0x8, 0xf2, 0x1, 0xeb, 0x0, 0x0, 0x4, 0xf6, 0x0, 0x5, 0xf6, 0x0, 0x0, 0xeb, 0x0, 0x0, 0xa, 0xf2, 0x0, 0x9f, 0x20, 0x0, 0x0, 0x1e, 0xb0, 0x5f, 0x60, 0x0, 0x0, 0x0, 0x4f, 0x60, + + /* U+0059 "Y" */ + 0xbd, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x62, 0xf7, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x8, 0xf1, 0x0, 0x0, 0x3, 0xf4, 0x0, 0x1e, 0x90, 0x0, 0x0, 0xca, 0x0, 0x0, 0x6f, 0x20, 0x0, 0x5f, 0x20, 0x0, 0x0, 0xdb, 0x0, 0xe, 0x80, 0x0, 0x0, 0x4, 0xf4, 0x8, 0xe0, 0x0, 0x0, 0x0, 0xb, 0xd2, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xed, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x40, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0x0, 0x0, 0x0, + + /* U+005A "Z" */ + 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x55, 0x55, 0x55, 0x55, 0x6f, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x20, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xa0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x1, 0xeb, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0x65, 0x55, 0x55, 0x55, 0x52, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, + + /* U+005B "[" */ + 0xbf, 0xff, 0xbc, 0x33, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0xbc, 0x33, 0xbf, 0xff, + + /* U+005C "\\" */ + 0x45, 0x0, 0x0, 0x0, 0x5, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x40, 0x0, 0x0, 0x0, 0xa9, 0x0, 0x0, 0x0, 0x5, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x40, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0, 0xf, 0x40, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0, 0xf, 0x50, 0x0, 0x0, 0x0, 0xaa, 0x0, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0xe, 0x50, 0x0, 0x0, 0x0, 0x9a, 0x0, 0x0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x0, 0xe, 0x50, 0x0, 0x0, 0x0, 0x9b, 0x0, 0x0, 0x0, 0x4, 0xf0, + + /* U+005D "]" */ + 0x9f, 0xff, 0x12, 0x37, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x10, 0x5, 0xf1, 0x0, 0x5f, 0x12, 0x37, 0xf1, 0x9f, 0xff, 0x10, + + /* U+005E "^" */ + 0x0, 0x0, 0x73, 0x0, 0x0, 0x0, 0x4f, 0xc0, 0x0, 0x0, 0xa, 0x7e, 0x30, 0x0, 0x1, 0xf1, 0x89, 0x0, 0x0, 0x7a, 0x2, 0xf0, 0x0, 0xe, 0x40, 0xb, 0x60, 0x5, 0xd0, 0x0, 0x5d, 0x0, 0xb7, 0x0, 0x0, 0xe3, 0x2f, 0x10, 0x0, 0x8, 0xa0, + + /* U+005F "_" */ + 0xff, 0xff, 0xff, 0xff, 0xff, + + /* U+0060 "`" */ + 0x7, 0x60, 0x0, 0x2, 0xda, 0x0, 0x0, 0xb, 0xb0, + + /* U+0061 "a" */ + 0x4, 0xae, 0xff, 0xb3, 0x6, 0xfb, 0x64, 0x6d, 0xf3, 0x14, 0x0, 0x0, 0xe, 0xa0, 0x0, 0x0, 0x0, 0x9e, 0x0, 0x0, 0x0, 0x8, 0xe0, 0x6c, 0xef, 0xff, 0xfe, 0x7f, 0x73, 0x22, 0x29, 0xed, 0x90, 0x0, 0x0, 0x8e, 0xd9, 0x0, 0x0, 0xd, 0xe7, 0xf7, 0x11, 0x4c, 0xde, 0x6, 0xdf, 0xfc, 0x57, 0xe0, + + /* U+0062 "b" */ + 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x61, 0x9e, 0xfe, 0x91, 0x0, 0xf, 0x9e, 0xb6, 0x47, 0xee, 0x30, 0xf, 0xf7, 0x0, 0x0, 0x1d, 0xd0, 0xf, 0xc0, 0x0, 0x0, 0x3, 0xf5, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xf, 0x60, 0x0, 0x0, 0x0, 0xca, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xf, 0xc0, 0x0, 0x0, 0x3, 0xf5, 0xf, 0xf8, 0x0, 0x0, 0x1d, 0xd0, 0xf, 0x8e, 0xb6, 0x58, 0xee, 0x20, 0xf, 0x52, 0x9e, 0xfe, 0x91, 0x0, + + /* U+0063 "c" */ + 0x0, 0x4, 0xbe, 0xfe, 0x91, 0x0, 0x7, 0xfb, 0x64, 0x7e, 0xe1, 0x4, 0xf7, 0x0, 0x0, 0x1a, 0x20, 0xcc, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x1, 0xf5, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf8, 0x0, 0x0, 0x1a, 0x20, 0x7, 0xfb, 0x65, 0x8e, 0xd1, 0x0, 0x3, 0xbe, 0xfe, 0x91, 0x0, + + /* U+0064 "d" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x4, 0xbf, 0xfd, 0x60, 0xd9, 0x0, 0x8f, 0xb5, 0x47, 0xea, 0xd9, 0x5, 0xf7, 0x0, 0x0, 0x1d, 0xf9, 0xc, 0xc0, 0x0, 0x0, 0x3, 0xf9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe9, 0x1f, 0x50, 0x0, 0x0, 0x0, 0xd9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe9, 0xc, 0xc0, 0x0, 0x0, 0x4, 0xf9, 0x4, 0xf7, 0x0, 0x0, 0x1d, 0xf9, 0x0, 0x8f, 0xb6, 0x58, 0xea, 0xc9, 0x0, 0x4, 0xbf, 0xfd, 0x60, 0xc9, + + /* U+0065 "e" */ + 0x0, 0x5, 0xcf, 0xfc, 0x50, 0x0, 0x0, 0x8f, 0x95, 0x49, 0xf9, 0x0, 0x4, 0xf4, 0x0, 0x0, 0x4f, 0x50, 0xc, 0xa0, 0x0, 0x0, 0x9, 0xc0, 0xf, 0x60, 0x0, 0x0, 0x4, 0xf0, 0x1f, 0xfe, 0xee, 0xee, 0xef, 0xf2, 0xf, 0x71, 0x11, 0x11, 0x11, 0x10, 0xb, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf7, 0x0, 0x0, 0x5, 0x0, 0x0, 0x7f, 0xc6, 0x56, 0xcf, 0x30, 0x0, 0x3, 0xbe, 0xfe, 0xa2, 0x0, + + /* U+0066 "f" */ + 0x0, 0x7, 0xef, 0xd3, 0x0, 0x6f, 0x74, 0x72, 0x0, 0xbb, 0x0, 0x0, 0x0, 0xc9, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xd0, 0x23, 0xdb, 0x33, 0x30, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, + + /* U+0067 "g" */ + 0x0, 0x4, 0xbf, 0xfd, 0x70, 0xab, 0x0, 0x8f, 0xa4, 0x35, 0xcc, 0xab, 0x4, 0xf6, 0x0, 0x0, 0xb, 0xfb, 0xc, 0xc0, 0x0, 0x0, 0x1, 0xfb, 0xf, 0x70, 0x0, 0x0, 0x0, 0xcb, 0x1f, 0x50, 0x0, 0x0, 0x0, 0xbb, 0xf, 0x70, 0x0, 0x0, 0x0, 0xcb, 0xc, 0xc0, 0x0, 0x0, 0x2, 0xfb, 0x4, 0xf7, 0x0, 0x0, 0xc, 0xfb, 0x0, 0x8f, 0xb6, 0x57, 0xeb, 0xbb, 0x0, 0x4, 0xbf, 0xfd, 0x70, 0xba, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x50, 0x0, 0x0, 0x6, 0xf2, 0x3, 0xfd, 0x85, 0x46, 0xaf, 0x80, 0x0, 0x18, 0xcf, 0xfe, 0xb5, 0x0, + + /* U+0068 "h" */ + 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xf, 0x63, 0xbe, 0xfd, 0x80, 0x0, 0xfa, 0xfa, 0x65, 0x9f, 0xb0, 0xf, 0xf4, 0x0, 0x0, 0x6f, 0x40, 0xfb, 0x0, 0x0, 0x0, 0xe8, 0xf, 0x70, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, + + /* U+0069 "i" */ + 0x2f, 0x83, 0xf9, 0x0, 0x0, 0x0, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, + + /* U+006A "j" */ + 0x0, 0x1, 0xe9, 0x0, 0x1, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe8, 0x0, 0x0, 0xe7, 0x0, 0x0, 0xf6, 0x56, 0x4b, 0xf1, 0x6e, 0xfd, 0x40, + + /* U+006B "k" */ + 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0xcd, 0x10, 0xf6, 0x0, 0x1, 0xcd, 0x10, 0xf, 0x60, 0x1, 0xdd, 0x10, 0x0, 0xf6, 0x1, 0xdd, 0x10, 0x0, 0xf, 0x62, 0xef, 0x20, 0x0, 0x0, 0xf9, 0xec, 0xfb, 0x0, 0x0, 0xf, 0xfc, 0x5, 0xf7, 0x0, 0x0, 0xfc, 0x0, 0x8, 0xf3, 0x0, 0xf, 0x60, 0x0, 0xc, 0xe1, 0x0, 0xf6, 0x0, 0x0, 0x1e, 0xb0, 0xf, 0x60, 0x0, 0x0, 0x4f, 0x70, + + /* U+006C "l" */ + 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, 0xf6, 0xf, 0x60, + + /* U+006D "m" */ + 0xf, 0x53, 0xbf, 0xfd, 0x60, 0x4, 0xcf, 0xfc, 0x50, 0x0, 0xf9, 0xf9, 0x56, 0xbf, 0x77, 0xf9, 0x56, 0xbf, 0x70, 0xf, 0xf4, 0x0, 0x0, 0xaf, 0xf4, 0x0, 0x0, 0xbf, 0x0, 0xfb, 0x0, 0x0, 0x3, 0xfa, 0x0, 0x0, 0x3, 0xf3, 0xf, 0x70, 0x0, 0x0, 0x1f, 0x60, 0x0, 0x0, 0x1f, 0x50, 0xf6, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x1, 0xf5, 0xf, 0x60, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x1f, 0x50, 0xf6, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x1, 0xf5, 0xf, 0x60, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x1f, 0x50, 0xf6, 0x0, 0x0, 0x0, 0xf6, 0x0, 0x0, 0x1, 0xf5, 0xf, 0x60, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x1f, 0x50, + + /* U+006E "n" */ + 0xf, 0x53, 0xbe, 0xfd, 0x80, 0x0, 0xf9, 0xfa, 0x65, 0x9f, 0xb0, 0xf, 0xf4, 0x0, 0x0, 0x6f, 0x40, 0xfb, 0x0, 0x0, 0x0, 0xe8, 0xf, 0x70, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, 0xf6, 0x0, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0x0, 0xc, 0xa0, + + /* U+006F "o" */ + 0x0, 0x4, 0xbf, 0xfd, 0x81, 0x0, 0x0, 0x8f, 0xb5, 0x47, 0xee, 0x20, 0x4, 0xf7, 0x0, 0x0, 0x1d, 0xd0, 0xc, 0xc0, 0x0, 0x0, 0x3, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0x1f, 0x50, 0x0, 0x0, 0x0, 0xd9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xb, 0xc0, 0x0, 0x0, 0x4, 0xf4, 0x4, 0xf7, 0x0, 0x0, 0x1d, 0xc0, 0x0, 0x7f, 0xb6, 0x58, 0xee, 0x20, 0x0, 0x4, 0xbf, 0xfd, 0x81, 0x0, + + /* U+0070 "p" */ + 0xf, 0x52, 0xae, 0xfe, 0x91, 0x0, 0xf, 0x8e, 0xb6, 0x47, 0xee, 0x30, 0xf, 0xf7, 0x0, 0x0, 0x1d, 0xd0, 0xf, 0xc0, 0x0, 0x0, 0x3, 0xf5, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xf, 0x60, 0x0, 0x0, 0x0, 0xca, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe8, 0xf, 0xc0, 0x0, 0x0, 0x3, 0xf5, 0xf, 0xf8, 0x0, 0x0, 0x1d, 0xd0, 0xf, 0x8e, 0xb6, 0x58, 0xee, 0x20, 0xf, 0x61, 0x9e, 0xfe, 0x91, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0x0, + + /* U+0071 "q" */ + 0x0, 0x4, 0xbf, 0xfd, 0x60, 0xc9, 0x0, 0x8f, 0xb5, 0x47, 0xea, 0xc9, 0x5, 0xf7, 0x0, 0x0, 0x1d, 0xf9, 0xc, 0xc0, 0x0, 0x0, 0x3, 0xf9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe9, 0x1f, 0x50, 0x0, 0x0, 0x0, 0xd9, 0xf, 0x70, 0x0, 0x0, 0x0, 0xe9, 0xc, 0xc0, 0x0, 0x0, 0x4, 0xf9, 0x4, 0xf7, 0x0, 0x0, 0x1d, 0xf9, 0x0, 0x8f, 0xb6, 0x58, 0xea, 0xd9, 0x0, 0x4, 0xbf, 0xfd, 0x60, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd9, + + /* U+0072 "r" */ + 0xf, 0x53, 0xbf, 0x40, 0xf9, 0xf9, 0x51, 0xf, 0xf4, 0x0, 0x0, 0xfb, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0xf6, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0xf6, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0xf6, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, + + /* U+0073 "s" */ + 0x0, 0x7d, 0xff, 0xd9, 0x20, 0x9, 0xf8, 0x44, 0x7d, 0x80, 0xf, 0x60, 0x0, 0x0, 0x0, 0xf, 0x60, 0x0, 0x0, 0x0, 0xb, 0xf8, 0x30, 0x0, 0x0, 0x0, 0x8e, 0xff, 0xc7, 0x0, 0x0, 0x0, 0x14, 0x8f, 0xb0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0x3, 0x0, 0x0, 0x6, 0xf1, 0x4f, 0xc7, 0x55, 0x8f, 0xa0, 0x4, 0xae, 0xff, 0xc7, 0x0, + + /* U+0074 "t" */ + 0x0, 0x65, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xd0, 0x23, 0xdb, 0x33, 0x30, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x0, 0x6f, 0x84, 0x82, 0x0, 0x8, 0xef, 0xc3, + + /* U+0075 "u" */ + 0x2f, 0x40, 0x0, 0x0, 0xf, 0x72, 0xf4, 0x0, 0x0, 0x0, 0xf7, 0x2f, 0x40, 0x0, 0x0, 0xf, 0x72, 0xf4, 0x0, 0x0, 0x0, 0xf7, 0x2f, 0x40, 0x0, 0x0, 0xf, 0x72, 0xf4, 0x0, 0x0, 0x0, 0xf7, 0x1f, 0x50, 0x0, 0x0, 0xf, 0x70, 0xf7, 0x0, 0x0, 0x4, 0xf7, 0xb, 0xe1, 0x0, 0x0, 0xcf, 0x70, 0x3f, 0xd7, 0x57, 0xda, 0xe7, 0x0, 0x2b, 0xef, 0xd7, 0xe, 0x70, + + /* U+0076 "v" */ + 0xcb, 0x0, 0x0, 0x0, 0xc, 0x95, 0xf2, 0x0, 0x0, 0x3, 0xf2, 0xe, 0x80, 0x0, 0x0, 0xac, 0x0, 0x8e, 0x0, 0x0, 0x1f, 0x50, 0x1, 0xf6, 0x0, 0x7, 0xe0, 0x0, 0xa, 0xc0, 0x0, 0xe7, 0x0, 0x0, 0x3f, 0x30, 0x5f, 0x10, 0x0, 0x0, 0xca, 0xc, 0xa0, 0x0, 0x0, 0x6, 0xf4, 0xf3, 0x0, 0x0, 0x0, 0xe, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x50, 0x0, 0x0, + + /* U+0077 "w" */ + 0xab, 0x0, 0x0, 0x0, 0xf9, 0x0, 0x0, 0x1, 0xf3, 0x4f, 0x10, 0x0, 0x5, 0xfe, 0x0, 0x0, 0x6, 0xd0, 0xe, 0x60, 0x0, 0xb, 0xaf, 0x50, 0x0, 0xc, 0x80, 0x9, 0xc0, 0x0, 0x1f, 0x3a, 0xa0, 0x0, 0x2f, 0x20, 0x3, 0xf1, 0x0, 0x6d, 0x4, 0xf1, 0x0, 0x7c, 0x0, 0x0, 0xd7, 0x0, 0xc7, 0x0, 0xe6, 0x0, 0xd6, 0x0, 0x0, 0x8d, 0x2, 0xf1, 0x0, 0x8c, 0x3, 0xf1, 0x0, 0x0, 0x2f, 0x28, 0xc0, 0x0, 0x3f, 0x19, 0xb0, 0x0, 0x0, 0xc, 0x8e, 0x60, 0x0, 0xd, 0x7e, 0x50, 0x0, 0x0, 0x6, 0xff, 0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0, 0x1, 0xfa, 0x0, 0x0, 0x1, 0xf9, 0x0, 0x0, + + /* U+0078 "x" */ + 0x1e, 0x80, 0x0, 0x0, 0xdb, 0x0, 0x5f, 0x40, 0x0, 0x9e, 0x10, 0x0, 0x9e, 0x10, 0x5f, 0x30, 0x0, 0x0, 0xcb, 0x2e, 0x70, 0x0, 0x0, 0x2, 0xfe, 0xb0, 0x0, 0x0, 0x0, 0xa, 0xf5, 0x0, 0x0, 0x0, 0x5, 0xfc, 0xe1, 0x0, 0x0, 0x1, 0xe8, 0xd, 0xb0, 0x0, 0x0, 0xcc, 0x0, 0x2f, 0x70, 0x0, 0x8f, 0x20, 0x0, 0x6f, 0x30, 0x4f, 0x50, 0x0, 0x0, 0xad, 0x0, + + /* U+0079 "y" */ + 0xc, 0xb0, 0x0, 0x0, 0x0, 0xc9, 0x5, 0xf2, 0x0, 0x0, 0x3, 0xf2, 0x0, 0xe9, 0x0, 0x0, 0xa, 0xb0, 0x0, 0x7f, 0x0, 0x0, 0x1f, 0x40, 0x0, 0x1f, 0x60, 0x0, 0x8d, 0x0, 0x0, 0x9, 0xd0, 0x0, 0xe7, 0x0, 0x0, 0x2, 0xf4, 0x5, 0xf0, 0x0, 0x0, 0x0, 0xbb, 0xc, 0x90, 0x0, 0x0, 0x0, 0x5f, 0x5f, 0x20, 0x0, 0x0, 0x0, 0xd, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x60, 0x0, 0x0, 0x3c, 0x55, 0xdd, 0x0, 0x0, 0x0, 0x1a, 0xff, 0xb1, 0x0, 0x0, 0x0, + + /* U+007A "z" */ + 0xf, 0xff, 0xff, 0xff, 0xf4, 0x3, 0x33, 0x33, 0x3d, 0xd0, 0x0, 0x0, 0x0, 0x7f, 0x20, 0x0, 0x0, 0x3, 0xf5, 0x0, 0x0, 0x0, 0x1e, 0x90, 0x0, 0x0, 0x0, 0xbd, 0x0, 0x0, 0x0, 0x8, 0xf2, 0x0, 0x0, 0x0, 0x4f, 0x50, 0x0, 0x0, 0x1, 0xe9, 0x0, 0x0, 0x0, 0xb, 0xe4, 0x33, 0x33, 0x31, 0x2f, 0xff, 0xff, 0xff, 0xf6, + + /* U+007B "{" */ + 0x0, 0x5d, 0xf4, 0x0, 0xfb, 0x40, 0x3, 0xf4, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x6, 0xf2, 0x0, 0xcf, 0xb0, 0x0, 0x28, 0xf1, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x3, 0xf3, 0x0, 0x0, 0xfb, 0x41, 0x0, 0x5d, 0xf4, + + /* U+007C "|" */ + 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, + + /* U+007D "}" */ + 0x9f, 0xb2, 0x0, 0x25, 0xeb, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x7f, 0x20, 0x0, 0x1e, 0xf7, 0x0, 0x6f, 0x51, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x0, 0x8e, 0x0, 0x25, 0xeb, 0x0, 0x9f, 0xb2, 0x0, + + /* U+007E "~" */ + 0x9, 0xfd, 0x50, 0x0, 0xc3, 0x6c, 0x36, 0xe8, 0x4, 0xe0, 0xb4, 0x0, 0x2c, 0xff, 0x50, 0x10, 0x0, 0x0, 0x20, 0x0, + + /* U+0401 "Ё" */ + 0x0, 0x4e, 0x20, 0xba, 0x0, 0x0, 0x3, 0xb1, 0x8, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xae, 0x55, 0x55, 0x55, 0x55, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xf1, 0xa, 0xe3, 0x33, 0x33, 0x33, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xae, 0x55, 0x55, 0x55, 0x55, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xf4, + + /* U+0410 "А" */ + 0x0, 0x0, 0x0, 0x8f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xf5, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xca, 0xc, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x30, 0x6f, 0x10, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0xe8, 0x0, 0x0, 0x0, 0x1, 0xf6, 0x0, 0x8, 0xe0, 0x0, 0x0, 0x0, 0x8f, 0x0, 0x0, 0x2f, 0x50, 0x0, 0x0, 0xe, 0x80, 0x0, 0x0, 0xbc, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x5, 0xf3, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x3f, 0x63, 0x33, 0x33, 0x33, 0x8f, 0x10, 0xa, 0xe0, 0x0, 0x0, 0x0, 0x1, 0xf7, 0x1, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xa, 0xe0, 0x7f, 0x10, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x50, + + /* U+0411 "Б" */ + 0xaf, 0xff, 0xff, 0xff, 0xff, 0x90, 0xad, 0x44, 0x44, 0x44, 0x44, 0x20, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xc6, 0x0, 0xad, 0x33, 0x33, 0x35, 0xaf, 0xa0, 0xad, 0x0, 0x0, 0x0, 0x7, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xad, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xad, 0x0, 0x0, 0x0, 0x8, 0xf2, 0xad, 0x33, 0x33, 0x35, 0xaf, 0x80, 0xaf, 0xff, 0xff, 0xfe, 0xb4, 0x0, + + /* U+0412 "В" */ + 0xaf, 0xff, 0xff, 0xfe, 0xa2, 0x0, 0xad, 0x33, 0x33, 0x36, 0xdf, 0x30, 0xad, 0x0, 0x0, 0x0, 0x1e, 0xb0, 0xad, 0x0, 0x0, 0x0, 0x9, 0xe0, 0xad, 0x0, 0x0, 0x0, 0x9, 0xe0, 0xad, 0x0, 0x0, 0x0, 0xd, 0xa0, 0xad, 0x0, 0x0, 0x3, 0xbd, 0x10, 0xaf, 0xff, 0xff, 0xff, 0xf5, 0x0, 0xad, 0x33, 0x33, 0x34, 0x7e, 0xa0, 0xad, 0x0, 0x0, 0x0, 0x3, 0xf5, 0xad, 0x0, 0x0, 0x0, 0x0, 0xd9, 0xad, 0x0, 0x0, 0x0, 0x0, 0xe9, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf6, 0xad, 0x33, 0x33, 0x34, 0x8f, 0xc0, 0xaf, 0xff, 0xff, 0xff, 0xc7, 0x0, + + /* U+0413 "Г" */ + 0xaf, 0xff, 0xff, 0xff, 0xf4, 0xad, 0x55, 0x55, 0x55, 0x51, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, + + /* U+0414 "Д" */ + 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x5, 0xf5, 0x55, 0x55, 0x58, 0xf2, 0x0, 0x0, 0x6, 0xe0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x7, 0xd0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x8, 0xc0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x9, 0xb0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0xb, 0xa0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0xf, 0x50, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0x3f, 0x20, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x0, 0xac, 0x0, 0x0, 0x0, 0x5, 0xf2, 0x0, 0x49, 0xf8, 0x55, 0x55, 0x55, 0x58, 0xf6, 0x51, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf3, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf3, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xf3, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, + + /* U+0415 "Е" */ + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xa, 0xe5, 0x55, 0x55, 0x55, 0x50, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0x10, 0xae, 0x33, 0x33, 0x33, 0x30, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xa, 0xe5, 0x55, 0x55, 0x55, 0x51, 0xaf, 0xff, 0xff, 0xff, 0xff, 0x40, + + /* U+0416 "Ж" */ + 0xd, 0xb0, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x8, 0xf1, 0x4, 0xf5, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x2f, 0x70, 0x0, 0xad, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0xbd, 0x0, 0x0, 0x1f, 0x70, 0x0, 0x9, 0xd0, 0x0, 0x4, 0xf4, 0x0, 0x0, 0x7, 0xf1, 0x0, 0x9, 0xd0, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x0, 0xda, 0x0, 0x9, 0xd0, 0x0, 0x7f, 0x10, 0x0, 0x0, 0x0, 0x3f, 0x41, 0x1a, 0xd1, 0x12, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x74, 0x4b, 0xe4, 0x45, 0xf9, 0x0, 0x0, 0x0, 0x1, 0xfb, 0x0, 0x9, 0xd0, 0x0, 0x7f, 0x40, 0x0, 0x0, 0xa, 0xf1, 0x0, 0x9, 0xd0, 0x0, 0xd, 0xd0, 0x0, 0x0, 0x4f, 0x60, 0x0, 0x9, 0xd0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0xec, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x9f, 0x20, 0x9, 0xf2, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0xe, 0xc0, 0x3f, 0x80, 0x0, 0x0, 0x9, 0xd0, 0x0, 0x0, 0x4, 0xf6, + + /* U+0417 "З" */ + 0x0, 0x15, 0x9a, 0x96, 0x10, 0x0, 0x7, 0xff, 0xdb, 0xcf, 0xf6, 0x0, 0x7, 0x71, 0x0, 0x1, 0xaf, 0x40, 0x0, 0x0, 0x0, 0x0, 0xe, 0xb0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x90, 0x0, 0x0, 0x0, 0x3, 0xbe, 0x10, 0x0, 0xb, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x2, 0x33, 0x35, 0xaf, 0x50, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf5, 0x9, 0x10, 0x0, 0x0, 0x1c, 0xf1, 0x1c, 0xfa, 0x64, 0x59, 0xef, 0x40, 0x0, 0x5b, 0xff, 0xfe, 0x92, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, + + /* U+0418 "И" */ + 0xad, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x4f, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x1e, 0xff, 0x2a, 0xd0, 0x0, 0x0, 0xb, 0xe6, 0xf2, 0xad, 0x0, 0x0, 0x7, 0xf4, 0x5f, 0x2a, 0xd0, 0x0, 0x3, 0xf9, 0x5, 0xf2, 0xad, 0x0, 0x0, 0xdc, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0xaf, 0x20, 0x5, 0xf2, 0xad, 0x0, 0x5f, 0x60, 0x0, 0x5f, 0x2a, 0xd0, 0x2f, 0xa0, 0x0, 0x5, 0xf2, 0xad, 0xc, 0xe1, 0x0, 0x0, 0x5f, 0x2a, 0xd8, 0xf3, 0x0, 0x0, 0x5, 0xf2, 0xaf, 0xf8, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xfc, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xaf, 0x20, 0x0, 0x0, 0x0, 0x5f, 0x20, + + /* U+0419 "Й" */ + 0x0, 0x8, 0x0, 0x0, 0x53, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x3e, 0x30, 0x0, 0x0, 0x1, 0xad, 0xec, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x4f, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x1e, 0xff, 0x2a, 0xd0, 0x0, 0x0, 0xb, 0xe6, 0xf2, 0xad, 0x0, 0x0, 0x7, 0xf4, 0x5f, 0x2a, 0xd0, 0x0, 0x3, 0xf9, 0x5, 0xf2, 0xad, 0x0, 0x0, 0xdc, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0xaf, 0x20, 0x5, 0xf2, 0xad, 0x0, 0x5f, 0x60, 0x0, 0x5f, 0x2a, 0xd0, 0x2f, 0xa0, 0x0, 0x5, 0xf2, 0xad, 0xc, 0xe1, 0x0, 0x0, 0x5f, 0x2a, 0xd8, 0xf3, 0x0, 0x0, 0x5, 0xf2, 0xaf, 0xf8, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xfc, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xaf, 0x20, 0x0, 0x0, 0x0, 0x5f, 0x20, + + /* U+041A "К" */ + 0xac, 0x0, 0x0, 0x0, 0x9, 0xe1, 0xac, 0x0, 0x0, 0x0, 0x4f, 0x40, 0xac, 0x0, 0x0, 0x1, 0xe9, 0x0, 0xac, 0x0, 0x0, 0xa, 0xd0, 0x0, 0xac, 0x0, 0x0, 0x5f, 0x30, 0x0, 0xac, 0x0, 0x1, 0xf7, 0x0, 0x0, 0xad, 0x11, 0x1b, 0xc0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0x50, 0x0, 0x0, 0xad, 0x44, 0x4d, 0xd0, 0x0, 0x0, 0xac, 0x0, 0x2, 0xfa, 0x0, 0x0, 0xac, 0x0, 0x0, 0x5f, 0x50, 0x0, 0xac, 0x0, 0x0, 0xa, 0xf2, 0x0, 0xac, 0x0, 0x0, 0x0, 0xdc, 0x0, 0xac, 0x0, 0x0, 0x0, 0x3f, 0x80, 0xac, 0x0, 0x0, 0x0, 0x6, 0xf4, + + /* U+041B "Л" */ + 0x0, 0x2, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x3, 0xf6, 0x55, 0x55, 0x56, 0xf5, 0x0, 0x3, 0xf1, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x4, 0xf0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x6, 0xe0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x7, 0xd0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x9, 0xb0, 0x0, 0x0, 0x2, 0xf5, 0x0, 0xb, 0x90, 0x0, 0x0, 0x2, 0xf5, 0x0, 0xf, 0x60, 0x0, 0x0, 0x2, 0xf5, 0x0, 0x6f, 0x20, 0x0, 0x0, 0x2, 0xf5, 0x58, 0xfb, 0x0, 0x0, 0x0, 0x2, 0xf5, 0xbf, 0xb1, 0x0, 0x0, 0x0, 0x2, 0xf5, + + /* U+041C "М" */ + 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xea, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x2, 0xfe, 0xaf, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xea, 0xef, 0x70, 0x0, 0x0, 0x0, 0x3f, 0xee, 0xac, 0x9f, 0x10, 0x0, 0x0, 0xb, 0xd8, 0xea, 0xc1, 0xf9, 0x0, 0x0, 0x4, 0xf4, 0x8e, 0xac, 0x7, 0xf2, 0x0, 0x0, 0xcb, 0x8, 0xea, 0xc0, 0xe, 0xa0, 0x0, 0x5f, 0x20, 0x8e, 0xac, 0x0, 0x5f, 0x30, 0xd, 0x90, 0x8, 0xea, 0xc0, 0x0, 0xcb, 0x6, 0xf1, 0x0, 0x8e, 0xac, 0x0, 0x3, 0xf5, 0xe7, 0x0, 0x8, 0xea, 0xc0, 0x0, 0xa, 0xfe, 0x0, 0x0, 0x8e, 0xac, 0x0, 0x0, 0x1f, 0x50, 0x0, 0x8, 0xea, 0xc0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x8e, 0xac, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xe0, + + /* U+041D "Н" */ + 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x11, 0x11, 0x11, 0x11, 0x7f, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xae, 0x44, 0x44, 0x44, 0x44, 0x9f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x1a, 0xd0, 0x0, 0x0, 0x0, 0x6, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x10, + + /* U+041E "О" */ + 0x0, 0x0, 0x6b, 0xef, 0xeb, 0x60, 0x0, 0x0, 0x2, 0xdf, 0xb7, 0x57, 0xbf, 0xd2, 0x0, 0x2, 0xed, 0x20, 0x0, 0x0, 0x3d, 0xe2, 0x0, 0xce, 0x10, 0x0, 0x0, 0x0, 0x1e, 0xc0, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x49, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0xca, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xcd, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0xca, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xc9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe9, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x40, 0xce, 0x10, 0x0, 0x0, 0x0, 0x1e, 0xc0, 0x2, 0xed, 0x20, 0x0, 0x0, 0x3d, 0xe2, 0x0, 0x2, 0xdf, 0xb7, 0x67, 0xbf, 0xd2, 0x0, 0x0, 0x0, 0x6b, 0xef, 0xeb, 0x60, 0x0, 0x0, + + /* U+041F "П" */ + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2a, 0xe5, 0x55, 0x55, 0x55, 0x58, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x2a, 0xd0, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x20, + + /* U+0420 "Р" */ + 0xaf, 0xff, 0xff, 0xfc, 0x70, 0x0, 0xae, 0x55, 0x55, 0x6a, 0xfd, 0x10, 0xad, 0x0, 0x0, 0x0, 0x3e, 0xa0, 0xad, 0x0, 0x0, 0x0, 0x7, 0xf1, 0xad, 0x0, 0x0, 0x0, 0x3, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x2, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x5, 0xf2, 0xad, 0x0, 0x0, 0x0, 0xd, 0xc0, 0xad, 0x11, 0x11, 0x26, 0xdf, 0x30, 0xaf, 0xff, 0xff, 0xff, 0xb2, 0x0, 0xae, 0x44, 0x44, 0x30, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+0421 "С" */ + 0x0, 0x0, 0x6b, 0xef, 0xeb, 0x60, 0x0, 0x2, 0xdf, 0xb7, 0x57, 0xaf, 0xd2, 0x2, 0xed, 0x30, 0x0, 0x0, 0x2d, 0x40, 0xce, 0x10, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0xce, 0x10, 0x0, 0x0, 0x0, 0x0, 0x2, 0xed, 0x30, 0x0, 0x0, 0x3d, 0x40, 0x2, 0xdf, 0xb7, 0x67, 0xbf, 0xd1, 0x0, 0x0, 0x6b, 0xef, 0xeb, 0x60, 0x0, + + /* U+0422 "Т" */ + 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x45, 0x55, 0x5e, 0xb5, 0x55, 0x52, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x0, 0x0, + + /* U+0423 "У" */ + 0x5f, 0x40, 0x0, 0x0, 0x0, 0x6, 0xf2, 0xc, 0xc0, 0x0, 0x0, 0x0, 0xd, 0x90, 0x4, 0xf3, 0x0, 0x0, 0x0, 0x6f, 0x10, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xd9, 0x0, 0x0, 0x4f, 0x30, 0x0, 0x6, 0xf1, 0x0, 0x0, 0xc, 0xb0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x4, 0xf3, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x0, 0xcb, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x4f, 0x36, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xc, 0xbd, 0x70, 0x0, 0x0, 0x0, 0x0, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x86, 0xaf, 0x50, 0x0, 0x0, 0x0, 0x2, 0xdf, 0xd5, 0x0, 0x0, 0x0, 0x0, + + /* U+0424 "Ф" */ + 0x0, 0x0, 0x0, 0x6, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8c, 0xef, 0xff, 0xda, 0x50, 0x0, 0x0, 0xa, 0xfc, 0x75, 0xae, 0x46, 0xaf, 0xd3, 0x0, 0xc, 0xe4, 0x0, 0x8, 0xd0, 0x0, 0x1b, 0xf2, 0x6, 0xf3, 0x0, 0x0, 0x8d, 0x0, 0x0, 0xd, 0xc0, 0xca, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x0, 0x5f, 0x2f, 0x70, 0x0, 0x0, 0x8d, 0x0, 0x0, 0x2, 0xf4, 0xf7, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x0, 0x1f, 0x5d, 0xa0, 0x0, 0x0, 0x8d, 0x0, 0x0, 0x4, 0xf2, 0x8f, 0x10, 0x0, 0x8, 0xd0, 0x0, 0x0, 0xbd, 0x0, 0xdd, 0x20, 0x0, 0x8d, 0x0, 0x0, 0x9f, 0x40, 0x2, 0xdf, 0x94, 0x28, 0xd1, 0x37, 0xdf, 0x50, 0x0, 0x0, 0x6b, 0xff, 0xff, 0xff, 0xd8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x19, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x59, 0x0, 0x0, 0x0, 0x0, + + /* U+0425 "Х" */ + 0xd, 0xd0, 0x0, 0x0, 0x0, 0xdd, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x9f, 0x30, 0x0, 0x9f, 0x30, 0x0, 0x3f, 0x80, 0x0, 0x0, 0xdd, 0x0, 0xd, 0xd0, 0x0, 0x0, 0x3, 0xf8, 0x9, 0xf3, 0x0, 0x0, 0x0, 0x9, 0xf7, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xe, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xdf, 0x40, 0x0, 0x0, 0x0, 0xd, 0xd0, 0xde, 0x0, 0x0, 0x0, 0x9, 0xf3, 0x3, 0xf9, 0x0, 0x0, 0x3, 0xf7, 0x0, 0x8, 0xf4, 0x0, 0x0, 0xdc, 0x0, 0x0, 0xd, 0xd0, 0x0, 0x9f, 0x20, 0x0, 0x0, 0x3f, 0x90, 0x3f, 0x70, 0x0, 0x0, 0x0, 0x8f, 0x30, + + /* U+0426 "Ц" */ + 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0xae, 0x55, 0x55, 0x55, 0x55, 0xdd, 0x55, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x37, + + /* U+0427 "Ч" */ + 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xda, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xca, 0x0, 0x0, 0x0, 0x3, 0xf3, 0xbd, 0x0, 0x0, 0x0, 0x3, 0xf3, 0x6f, 0x50, 0x0, 0x0, 0x4, 0xf3, 0xc, 0xf8, 0x21, 0x25, 0xaf, 0xf3, 0x1, 0x9f, 0xff, 0xff, 0xb8, 0xf3, 0x0, 0x0, 0x34, 0x20, 0x3, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf3, + + /* U+0428 "Ш" */ + 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0xae, 0x55, 0x55, 0x55, 0xdc, 0x55, 0x55, 0x55, 0xf8, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + + /* U+0429 "Щ" */ + 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xad, 0x0, 0x0, 0x0, 0xcb, 0x0, 0x0, 0x0, 0xf8, 0x0, 0xae, 0x55, 0x55, 0x55, 0xdc, 0x55, 0x55, 0x55, 0xfa, 0x53, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x55, + + /* U+042A "Ъ" */ + 0xcf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45, 0x55, 0x9f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xc6, 0x0, 0x0, 0x0, 0x6f, 0x43, 0x33, 0x35, 0xbf, 0x90, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x8, 0xf3, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x1, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x1, 0xf6, 0x0, 0x0, 0x6f, 0x0, 0x0, 0x0, 0x9, 0xf1, 0x0, 0x0, 0x6f, 0x43, 0x33, 0x35, 0xbf, 0x60, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xfe, 0xa3, 0x0, + + /* U+042B "Ы" */ + 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xaf, 0xff, 0xff, 0xfe, 0xb4, 0x0, 0x4, 0xf3, 0xad, 0x33, 0x33, 0x46, 0xcf, 0x60, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0xb, 0xf0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf3, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x2, 0xf4, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf3, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0xc, 0xe0, 0x4, 0xf3, 0xad, 0x33, 0x33, 0x46, 0xdf, 0x40, 0x4, 0xf3, 0xaf, 0xff, 0xff, 0xfd, 0x92, 0x0, 0x4, 0xf3, + + /* U+042C "Ь" */ + 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xfe, 0xb4, 0x0, 0xad, 0x33, 0x33, 0x46, 0xcf, 0x60, 0xad, 0x0, 0x0, 0x0, 0xb, 0xf0, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0x2, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x4, 0xf3, 0xad, 0x0, 0x0, 0x0, 0xc, 0xe0, 0xad, 0x33, 0x33, 0x46, 0xdf, 0x40, 0xaf, 0xff, 0xff, 0xfd, 0x92, 0x0, + + /* U+042D "Э" */ + 0x0, 0x39, 0xdf, 0xfd, 0x81, 0x0, 0x0, 0x8f, 0xd8, 0x66, 0x9f, 0xf4, 0x0, 0x1e, 0x70, 0x0, 0x0, 0x1b, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdb, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xd0, 0x0, 0xc, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x23, 0x33, 0x33, 0x3b, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x60, 0x0, 0x0, 0x0, 0x0, 0xc, 0xe0, 0x1c, 0x50, 0x0, 0x0, 0x1b, 0xf4, 0x0, 0x9f, 0xd8, 0x66, 0xaf, 0xf5, 0x0, 0x0, 0x3a, 0xdf, 0xfd, 0x81, 0x0, 0x0, + + /* U+042E "Ю" */ + 0xad, 0x0, 0x0, 0x0, 0x3a, 0xef, 0xfc, 0x60, 0x0, 0xa, 0xd0, 0x0, 0x0, 0x9f, 0xb6, 0x45, 0x9f, 0xd2, 0x0, 0xad, 0x0, 0x0, 0xaf, 0x50, 0x0, 0x0, 0x2d, 0xe1, 0xa, 0xd0, 0x0, 0x5f, 0x50, 0x0, 0x0, 0x0, 0x1e, 0xa0, 0xad, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x1a, 0xd0, 0x1, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xad, 0x11, 0x5f, 0x30, 0x0, 0x0, 0x0, 0x0, 0xe, 0x9a, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xda, 0xad, 0x44, 0x7f, 0x30, 0x0, 0x0, 0x0, 0x0, 0xe, 0x9a, 0xd0, 0x1, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0xf6, 0xad, 0x0, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x1a, 0xd0, 0x0, 0x5f, 0x60, 0x0, 0x0, 0x0, 0x1e, 0xa0, 0xad, 0x0, 0x0, 0xaf, 0x50, 0x0, 0x0, 0x2d, 0xe1, 0xa, 0xd0, 0x0, 0x0, 0x9f, 0xb6, 0x45, 0x9f, 0xd2, 0x0, 0xad, 0x0, 0x0, 0x0, 0x3a, 0xef, 0xfc, 0x60, 0x0, 0x0, + + /* U+042F "Я" */ + 0x0, 0x29, 0xef, 0xff, 0xff, 0xf4, 0x5, 0xfd, 0x85, 0x55, 0x57, 0xf4, 0x1f, 0xb0, 0x0, 0x0, 0x3, 0xf4, 0x7f, 0x10, 0x0, 0x0, 0x3, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x3, 0xf4, 0xad, 0x0, 0x0, 0x0, 0x3, 0xf4, 0x8f, 0x0, 0x0, 0x0, 0x3, 0xf4, 0x3f, 0x70, 0x0, 0x0, 0x3, 0xf4, 0x9, 0xf8, 0x31, 0x0, 0x3, 0xf4, 0x0, 0x7e, 0xff, 0xff, 0xff, 0xf4, 0x0, 0xd, 0xb3, 0x33, 0x36, 0xf4, 0x0, 0x7f, 0x10, 0x0, 0x3, 0xf4, 0x2, 0xf7, 0x0, 0x0, 0x3, 0xf4, 0xb, 0xd0, 0x0, 0x0, 0x3, 0xf4, 0x6f, 0x30, 0x0, 0x0, 0x3, 0xf4, + + /* U+0430 "а" */ + 0x4, 0xae, 0xff, 0xb3, 0x6, 0xfb, 0x64, 0x6d, 0xf3, 0x14, 0x0, 0x0, 0xe, 0xa0, 0x0, 0x0, 0x0, 0x9d, 0x0, 0x0, 0x0, 0x8, 0xe0, 0x6c, 0xef, 0xff, 0xfe, 0x7f, 0x73, 0x22, 0x29, 0xed, 0x90, 0x0, 0x0, 0x8e, 0xd9, 0x0, 0x0, 0xd, 0xe7, 0xf6, 0x11, 0x4c, 0xce, 0x6, 0xdf, 0xfc, 0x57, 0xe0, + + /* U+0431 "б" */ + 0x0, 0x0, 0x0, 0x0, 0x4, 0x30, 0x0, 0x0, 0x5, 0x9d, 0xff, 0x80, 0x0, 0x8, 0xff, 0xd9, 0x52, 0x0, 0x0, 0xcf, 0x71, 0x0, 0x0, 0x0, 0x8, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x5, 0xcf, 0xfe, 0x80, 0x0, 0x8d, 0x8e, 0x74, 0x49, 0xfd, 0x0, 0xae, 0xd1, 0x0, 0x0, 0x3f, 0x90, 0xaf, 0x50, 0x0, 0x0, 0x9, 0xf0, 0x9f, 0x10, 0x0, 0x0, 0x5, 0xf2, 0x6f, 0x10, 0x0, 0x0, 0x5, 0xf1, 0x2f, 0x60, 0x0, 0x0, 0x9, 0xe0, 0xb, 0xe2, 0x0, 0x0, 0x4f, 0x70, 0x1, 0xee, 0x74, 0x48, 0xfb, 0x0, 0x0, 0x19, 0xef, 0xfc, 0x60, 0x0, + + /* U+0432 "в" */ + 0xff, 0xff, 0xff, 0xb3, 0xf, 0x72, 0x22, 0x4b, 0xf2, 0xf6, 0x0, 0x0, 0xf, 0x7f, 0x60, 0x0, 0x0, 0xf6, 0xf6, 0x0, 0x1, 0x9e, 0x1f, 0xff, 0xff, 0xff, 0x50, 0xf7, 0x22, 0x22, 0x6f, 0x6f, 0x60, 0x0, 0x0, 0xac, 0xf6, 0x0, 0x0, 0xa, 0xdf, 0x82, 0x22, 0x37, 0xf7, 0xff, 0xff, 0xff, 0xd7, 0x0, + + /* U+0433 "г" */ + 0xff, 0xff, 0xff, 0xf7, 0xf9, 0x44, 0x44, 0x42, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, + + /* U+0434 "д" */ + 0x0, 0x2f, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x2, 0xf6, 0x44, 0x44, 0xda, 0x0, 0x0, 0x3f, 0x10, 0x0, 0xc, 0xa0, 0x0, 0x4, 0xf0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x5f, 0x0, 0x0, 0xc, 0xa0, 0x0, 0x6, 0xe0, 0x0, 0x0, 0xca, 0x0, 0x0, 0x7d, 0x0, 0x0, 0xc, 0xa0, 0x0, 0xa, 0xa0, 0x0, 0x0, 0xca, 0x0, 0x0, 0xe6, 0x0, 0x0, 0xc, 0xa0, 0x3, 0xaf, 0x44, 0x44, 0x44, 0xdb, 0x41, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4d, 0x80, 0x0, 0x0, 0x0, 0x1, 0xf4, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x46, 0x40, 0x0, 0x0, 0x0, 0x0, 0x82, + + /* U+0435 "е" */ + 0x0, 0x4b, 0xff, 0xc6, 0x0, 0x0, 0x7f, 0xa5, 0x48, 0xfa, 0x0, 0x3f, 0x50, 0x0, 0x3, 0xf6, 0xa, 0xb0, 0x0, 0x0, 0x8, 0xe0, 0xe7, 0x0, 0x0, 0x0, 0x3f, 0x2f, 0xfe, 0xee, 0xee, 0xef, 0xf3, 0xe8, 0x11, 0x11, 0x11, 0x11, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x51, 0x0, 0x6f, 0xc7, 0x56, 0xbf, 0x40, 0x0, 0x3a, 0xef, 0xea, 0x30, 0x0, + + /* U+0436 "ж" */ + 0x1f, 0x80, 0x0, 0x7, 0xf0, 0x0, 0x1, 0xe8, 0x0, 0x6f, 0x20, 0x0, 0x7f, 0x0, 0x0, 0x9e, 0x0, 0x0, 0xcb, 0x0, 0x7, 0xf0, 0x0, 0x3f, 0x40, 0x0, 0x2, 0xf5, 0x0, 0x7f, 0x0, 0xd, 0xa0, 0x0, 0x0, 0x7, 0xe1, 0x7, 0xf0, 0x7, 0xe1, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x9, 0xf4, 0x39, 0xf3, 0x39, 0xf2, 0x0, 0x0, 0x4, 0xf6, 0x0, 0x7f, 0x0, 0xd, 0xc0, 0x0, 0x1, 0xeb, 0x0, 0x7, 0xf0, 0x0, 0x3f, 0x70, 0x0, 0xaf, 0x10, 0x0, 0x7f, 0x0, 0x0, 0x8f, 0x30, 0x5f, 0x60, 0x0, 0x7, 0xf0, 0x0, 0x0, 0xdd, 0x0, + + /* U+0437 "з" */ + 0x2, 0x9e, 0xff, 0xc6, 0x0, 0xc, 0xc7, 0x56, 0xaf, 0xa0, 0x1, 0x0, 0x0, 0x8, 0xf1, 0x0, 0x0, 0x0, 0x5, 0xf1, 0x0, 0x0, 0x0, 0x3d, 0x90, 0x0, 0x9, 0xff, 0xfb, 0x0, 0x0, 0x1, 0x22, 0x4c, 0xe1, 0x0, 0x0, 0x0, 0x1, 0xf7, 0x1, 0x0, 0x0, 0x3, 0xf6, 0x3f, 0xa6, 0x45, 0x8f, 0xc0, 0x3, 0xae, 0xff, 0xc7, 0x0, + + /* U+0438 "и" */ + 0xf7, 0x0, 0x0, 0x1, 0xdb, 0xf7, 0x0, 0x0, 0xb, 0xfb, 0xf7, 0x0, 0x0, 0x8f, 0xdb, 0xf7, 0x0, 0x5, 0xf4, 0xbb, 0xf7, 0x0, 0x3f, 0x70, 0xbb, 0xf7, 0x1, 0xea, 0x0, 0xbb, 0xf7, 0xc, 0xd0, 0x0, 0xbb, 0xf7, 0x9f, 0x20, 0x0, 0xbb, 0xfc, 0xf4, 0x0, 0x0, 0xbb, 0xff, 0x70, 0x0, 0x0, 0xbb, 0xfb, 0x0, 0x0, 0x0, 0xbb, + + /* U+0439 "й" */ + 0x2, 0xe0, 0x0, 0x5b, 0x0, 0x0, 0xd7, 0x1, 0xc6, 0x0, 0x0, 0x2b, 0xed, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x1, 0xdb, 0xf7, 0x0, 0x0, 0xb, 0xfb, 0xf7, 0x0, 0x0, 0x8f, 0xdb, 0xf7, 0x0, 0x5, 0xf4, 0xbb, 0xf7, 0x0, 0x3f, 0x70, 0xbb, 0xf7, 0x1, 0xea, 0x0, 0xbb, 0xf7, 0xc, 0xd0, 0x0, 0xbb, 0xf7, 0x9f, 0x20, 0x0, 0xbb, 0xfc, 0xf4, 0x0, 0x0, 0xbb, 0xff, 0x70, 0x0, 0x0, 0xbb, 0xfb, 0x0, 0x0, 0x0, 0xbb, + + /* U+043A "к" */ + 0xf7, 0x0, 0x0, 0xc, 0xb0, 0xf7, 0x0, 0x0, 0x9e, 0x10, 0xf7, 0x0, 0x5, 0xf3, 0x0, 0xf7, 0x0, 0x2e, 0x70, 0x0, 0xf7, 0x0, 0xca, 0x0, 0x0, 0xff, 0xff, 0xf2, 0x0, 0x0, 0xf9, 0x33, 0xdc, 0x0, 0x0, 0xf7, 0x0, 0x2f, 0x90, 0x0, 0xf7, 0x0, 0x5, 0xf6, 0x0, 0xf7, 0x0, 0x0, 0x7f, 0x30, 0xf7, 0x0, 0x0, 0xa, 0xe1, + + /* U+043B "л" */ + 0x0, 0x1f, 0xff, 0xff, 0xff, 0xa0, 0x2, 0xf6, 0x44, 0x44, 0xda, 0x0, 0x3f, 0x10, 0x0, 0xc, 0xa0, 0x3, 0xf0, 0x0, 0x0, 0xca, 0x0, 0x4f, 0x0, 0x0, 0xc, 0xa0, 0x5, 0xe0, 0x0, 0x0, 0xca, 0x0, 0x7d, 0x0, 0x0, 0xc, 0xa0, 0x9, 0xb0, 0x0, 0x0, 0xca, 0x0, 0xd7, 0x0, 0x0, 0xc, 0xa3, 0x8f, 0x20, 0x0, 0x0, 0xca, 0xdf, 0x60, 0x0, 0x0, 0xc, 0xa0, + + /* U+043C "м" */ + 0xfb, 0x0, 0x0, 0x0, 0x0, 0xdc, 0xff, 0x40, 0x0, 0x0, 0x6, 0xfc, 0xfd, 0xd0, 0x0, 0x0, 0xe, 0xdc, 0xf5, 0xe6, 0x0, 0x0, 0x8c, 0x8c, 0xf5, 0x6e, 0x10, 0x2, 0xf3, 0x8c, 0xf5, 0xc, 0x80, 0xb, 0x90, 0x8c, 0xf5, 0x3, 0xf2, 0x4f, 0x10, 0x8c, 0xf5, 0x0, 0xab, 0xd7, 0x0, 0x8c, 0xf5, 0x0, 0x2f, 0xd0, 0x0, 0x8c, 0xf5, 0x0, 0x6, 0x40, 0x0, 0x8c, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x8c, + + /* U+043D "н" */ + 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf9, 0x33, 0x33, 0x33, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, + + /* U+043E "о" */ + 0x0, 0x3b, 0xef, 0xe9, 0x10, 0x0, 0x6f, 0xb6, 0x47, 0xde, 0x30, 0x3f, 0x80, 0x0, 0x0, 0xce, 0xa, 0xd0, 0x0, 0x0, 0x2, 0xf6, 0xe8, 0x0, 0x0, 0x0, 0xd, 0x9f, 0x70, 0x0, 0x0, 0x0, 0xbb, 0xe8, 0x0, 0x0, 0x0, 0xd, 0x9a, 0xd0, 0x0, 0x0, 0x2, 0xf5, 0x3f, 0x90, 0x0, 0x1, 0xcd, 0x0, 0x6f, 0xc6, 0x57, 0xee, 0x20, 0x0, 0x3b, 0xef, 0xe9, 0x10, 0x0, + + /* U+043F "п" */ + 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf9, 0x44, 0x44, 0x44, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, 0xf7, 0x0, 0x0, 0x0, 0xf7, + + /* U+0440 "р" */ + 0xf6, 0x19, 0xef, 0xe9, 0x10, 0xf, 0x8e, 0xb6, 0x47, 0xee, 0x30, 0xff, 0x80, 0x0, 0x1, 0xce, 0xf, 0xd0, 0x0, 0x0, 0x2, 0xf5, 0xf8, 0x0, 0x0, 0x0, 0xd, 0x9f, 0x70, 0x0, 0x0, 0x0, 0xba, 0xf8, 0x0, 0x0, 0x0, 0xd, 0x9f, 0xd0, 0x0, 0x0, 0x2, 0xf5, 0xff, 0x80, 0x0, 0x1, 0xcd, 0xf, 0x9e, 0xc6, 0x57, 0xee, 0x30, 0xf7, 0x19, 0xef, 0xe9, 0x10, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+0441 "с" */ + 0x0, 0x3a, 0xef, 0xe9, 0x10, 0x6, 0xfc, 0x64, 0x7d, 0xe2, 0x3f, 0x80, 0x0, 0x0, 0xa2, 0xad, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xe8, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x90, 0x0, 0x0, 0xa2, 0x6, 0xfc, 0x65, 0x7e, 0xe2, 0x0, 0x3a, 0xef, 0xe9, 0x10, + + /* U+0442 "т" */ + 0xff, 0xff, 0xff, 0xff, 0xf6, 0x44, 0x44, 0xf9, 0x44, 0x42, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, + + /* U+0443 "у" */ + 0xa, 0xd0, 0x0, 0x0, 0x0, 0xab, 0x3, 0xf4, 0x0, 0x0, 0x1, 0xf4, 0x0, 0xcb, 0x0, 0x0, 0x8, 0xd0, 0x0, 0x5f, 0x20, 0x0, 0xe, 0x70, 0x0, 0xe, 0x90, 0x0, 0x5f, 0x0, 0x0, 0x7, 0xf0, 0x0, 0xc9, 0x0, 0x0, 0x1, 0xf6, 0x3, 0xf2, 0x0, 0x0, 0x0, 0x9d, 0xa, 0xb0, 0x0, 0x0, 0x0, 0x2f, 0x6f, 0x40, 0x0, 0x0, 0x0, 0xb, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x5, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x80, 0x0, 0x0, 0x1c, 0x65, 0xbe, 0x10, 0x0, 0x0, 0x9, 0xef, 0xc2, 0x0, 0x0, 0x0, + + /* U+0444 "ф" */ + 0x0, 0x0, 0x0, 0x6, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x0, 0x0, 0x18, 0xcf, 0xff, 0xeb, 0x60, 0x0, 0x0, 0x5f, 0xe8, 0x5e, 0xa6, 0xaf, 0xd2, 0x0, 0x3f, 0x90, 0x0, 0xd8, 0x0, 0x2d, 0xd0, 0xb, 0xd0, 0x0, 0xd, 0x80, 0x0, 0x2f, 0x60, 0xe7, 0x0, 0x0, 0xd8, 0x0, 0x0, 0xca, 0xf, 0x60, 0x0, 0xd, 0x80, 0x0, 0xb, 0xb0, 0xe7, 0x0, 0x0, 0xd8, 0x0, 0x0, 0xca, 0xb, 0xd0, 0x0, 0xd, 0x80, 0x0, 0x2f, 0x60, 0x3f, 0xa0, 0x0, 0xd8, 0x0, 0x2d, 0xd0, 0x0, 0x5f, 0xe8, 0x5e, 0xa6, 0xaf, 0xd2, 0x0, 0x0, 0x18, 0xcf, 0xff, 0xeb, 0x60, 0x0, 0x0, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0x0, 0x0, 0x0, + + /* U+0445 "х" */ + 0x2f, 0x70, 0x0, 0x1, 0xe9, 0x0, 0x6f, 0x30, 0x0, 0xad, 0x0, 0x0, 0xad, 0x0, 0x6f, 0x20, 0x0, 0x0, 0xda, 0x2f, 0x60, 0x0, 0x0, 0x3, 0xfe, 0xa0, 0x0, 0x0, 0x0, 0xb, 0xf3, 0x0, 0x0, 0x0, 0x6, 0xfc, 0xd0, 0x0, 0x0, 0x2, 0xf7, 0x1e, 0x90, 0x0, 0x0, 0xdb, 0x0, 0x3f, 0x50, 0x0, 0x9e, 0x10, 0x0, 0x8f, 0x20, 0x5f, 0x40, 0x0, 0x0, 0xcd, 0x0, + + /* U+0446 "ц" */ + 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x2f, 0x40, 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x2f, 0x40, 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x2f, 0x40, 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x70, 0x0, 0x0, 0x2f, 0x40, 0xf7, 0x0, 0x0, 0x2, 0xf4, 0xf, 0x94, 0x44, 0x44, 0x6f, 0x74, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x0, 0x0, 0x0, 0x0, 0x5, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x27, + + /* U+0447 "ч" */ + 0x1f, 0x50, 0x0, 0x0, 0x7f, 0x1f, 0x50, 0x0, 0x0, 0x7f, 0x1f, 0x50, 0x0, 0x0, 0x7f, 0xf, 0x50, 0x0, 0x0, 0x7f, 0xf, 0x80, 0x0, 0x0, 0x7f, 0x9, 0xf6, 0x10, 0x26, 0xdf, 0x0, 0x9f, 0xff, 0xfc, 0xbf, 0x0, 0x0, 0x22, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x7f, + + /* U+0448 "ш" */ + 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x8f, 0x94, 0x44, 0x49, 0xf4, 0x44, 0x44, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, + + /* U+0449 "щ" */ + 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0x0, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0x0, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0x0, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x70, 0x0, 0x6, 0xf0, 0x0, 0x0, 0xe8, 0x0, 0xf7, 0x0, 0x0, 0x6f, 0x0, 0x0, 0xe, 0x80, 0xf, 0x94, 0x44, 0x49, 0xf4, 0x44, 0x44, 0xea, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x81, + + /* U+044A "ъ" */ + 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x44, 0x4c, 0xb0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xb0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xb0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0xeb, 0x30, 0x0, 0xb, 0xc2, 0x22, 0x4b, 0xf3, 0x0, 0xb, 0xb0, 0x0, 0x0, 0xe9, 0x0, 0xb, 0xb0, 0x0, 0x0, 0xbb, 0x0, 0xb, 0xb0, 0x0, 0x0, 0xe9, 0x0, 0xb, 0xc2, 0x22, 0x4b, 0xf3, 0x0, 0xb, 0xff, 0xff, 0xeb, 0x30, + + /* U+044B "ы" */ + 0xf7, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xbb, 0xff, 0xff, 0xfd, 0x91, 0x0, 0xbb, 0xf8, 0x22, 0x25, 0xde, 0x0, 0xbb, 0xf7, 0x0, 0x0, 0x2f, 0x60, 0xbb, 0xf7, 0x0, 0x0, 0xf, 0x70, 0xbb, 0xf7, 0x0, 0x0, 0x2f, 0x50, 0xbb, 0xf7, 0x11, 0x15, 0xdd, 0x0, 0xbb, 0xff, 0xff, 0xfd, 0x91, 0x0, 0xbb, + + /* U+044C "ь" */ + 0xf7, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0xf7, 0x0, 0x0, 0x0, 0xf, 0x70, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfe, 0xa2, 0xf, 0x82, 0x22, 0x4c, 0xe1, 0xf7, 0x0, 0x0, 0x1f, 0x7f, 0x70, 0x0, 0x0, 0xe9, 0xf7, 0x0, 0x0, 0x1f, 0x7f, 0x81, 0x12, 0x4c, 0xe1, 0xff, 0xff, 0xfe, 0x91, 0x0, + + /* U+044D "э" */ + 0x1, 0x9d, 0xff, 0xc6, 0x0, 0x2, 0xfc, 0x63, 0x48, 0xfb, 0x0, 0x5, 0x0, 0x0, 0x2, 0xe9, 0x0, 0x0, 0x0, 0x0, 0x5, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xf, 0x50, 0x0, 0x8f, 0xff, 0xff, 0xf7, 0x0, 0x1, 0x22, 0x22, 0x2f, 0x50, 0x0, 0x0, 0x0, 0x5, 0xf1, 0x3, 0x0, 0x0, 0x2, 0xe9, 0x2, 0xfb, 0x63, 0x48, 0xfb, 0x0, 0x2, 0x9d, 0xff, 0xc6, 0x0, 0x0, + + /* U+044E "ю" */ + 0xf7, 0x0, 0x0, 0x5c, 0xff, 0xc6, 0x0, 0xf, 0x70, 0x0, 0x9f, 0x84, 0x37, 0xfb, 0x0, 0xf7, 0x0, 0x6f, 0x40, 0x0, 0x2, 0xf8, 0xf, 0x70, 0xd, 0xa0, 0x0, 0x0, 0x8, 0xf0, 0xf7, 0x12, 0xf5, 0x0, 0x0, 0x0, 0x3f, 0x3f, 0xff, 0xff, 0x30, 0x0, 0x0, 0x2, 0xf4, 0xf9, 0x45, 0xf5, 0x0, 0x0, 0x0, 0x3f, 0x3f, 0x70, 0xd, 0xa0, 0x0, 0x0, 0x8, 0xe0, 0xf7, 0x0, 0x6f, 0x40, 0x0, 0x3, 0xf7, 0xf, 0x70, 0x0, 0x9f, 0x84, 0x37, 0xfb, 0x0, 0xf7, 0x0, 0x0, 0x5c, 0xff, 0xc6, 0x0, 0x0, + + /* U+044F "я" */ + 0x2, 0xae, 0xff, 0xff, 0xf1, 0x3f, 0xd7, 0x44, 0x47, 0xf1, 0xae, 0x0, 0x0, 0x3, 0xf1, 0xca, 0x0, 0x0, 0x3, 0xf1, 0xbc, 0x0, 0x0, 0x3, 0xf1, 0x4f, 0x81, 0x0, 0x3, 0xf1, 0x5, 0xdf, 0xff, 0xff, 0xf1, 0x0, 0x9d, 0x22, 0x25, 0xf1, 0x4, 0xf4, 0x0, 0x3, 0xf1, 0xd, 0x90, 0x0, 0x3, 0xf1, 0x8e, 0x10, 0x0, 0x3, 0xf1, + + /* U+0451 "ё" */ + 0x0, 0x5e, 0x10, 0xc9, 0x0, 0x0, 0x3, 0xb1, 0x9, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4b, 0xff, 0xc6, 0x0, 0x0, 0x7f, 0xa5, 0x48, 0xfa, 0x0, 0x3f, 0x50, 0x0, 0x3, 0xf6, 0xa, 0xb0, 0x0, 0x0, 0x8, 0xe0, 0xe7, 0x0, 0x0, 0x0, 0x3f, 0x2f, 0xfe, 0xee, 0xee, 0xef, 0xf3, 0xe8, 0x11, 0x11, 0x11, 0x11, 0xa, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x51, 0x0, 0x6f, 0xc7, 0x56, 0xbf, 0x40, 0x0, 0x3a, 0xef, 0xea, 0x30, 0x0}; + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 84, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 83, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 23, .adv_w = 119, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 9}, + {.bitmap_index = 41, .adv_w = 223, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 146, .adv_w = 197, .box_w = 12, .box_h = 20, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 266, .adv_w = 265, .box_w = 16, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 386, .adv_w = 214, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 498, .adv_w = 65, .box_w = 2, .box_h = 6, .ofs_x = 1, .ofs_y = 9}, + {.bitmap_index = 504, .adv_w = 105, .box_w = 4, .box_h = 19, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 542, .adv_w = 105, .box_w = 5, .box_h = 19, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 590, .adv_w = 124, .box_w = 8, .box_h = 8, .ofs_x = 0, .ofs_y = 7}, + {.bitmap_index = 622, .adv_w = 184, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 672, .adv_w = 68, .box_w = 3, .box_h = 6, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 681, .adv_w = 122, .box_w = 6, .box_h = 3, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 690, .adv_w = 68, .box_w = 3, .box_h = 3, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 695, .adv_w = 107, .box_w = 9, .box_h = 20, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 785, .adv_w = 212, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 875, .adv_w = 116, .box_w = 5, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 913, .adv_w = 182, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 996, .adv_w = 180, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1079, .adv_w = 212, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1177, .adv_w = 181, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1260, .adv_w = 195, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1343, .adv_w = 188, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1426, .adv_w = 204, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1516, .adv_w = 195, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1606, .adv_w = 68, .box_w = 3, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1623, .adv_w = 68, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1644, .adv_w = 184, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1694, .adv_w = 184, .box_w = 10, .box_h = 8, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 1734, .adv_w = 184, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1784, .adv_w = 181, .box_w = 10, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1859, .adv_w = 331, .box_w = 19, .box_h = 19, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 2040, .adv_w = 229, .box_w = 15, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2153, .adv_w = 241, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2243, .adv_w = 230, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2341, .adv_w = 264, .box_w = 14, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2446, .adv_w = 214, .box_w = 11, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2529, .adv_w = 203, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2604, .adv_w = 247, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2702, .adv_w = 260, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2792, .adv_w = 97, .box_w = 2, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2807, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 2875, .adv_w = 228, .box_w = 13, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2973, .adv_w = 188, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3048, .adv_w = 306, .box_w = 15, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3161, .adv_w = 260, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3251, .adv_w = 268, .box_w = 15, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3364, .adv_w = 230, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3454, .adv_w = 268, .box_w = 16, .box_h = 19, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 3606, .adv_w = 231, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3696, .adv_w = 197, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3786, .adv_w = 184, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3876, .adv_w = 253, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3966, .adv_w = 223, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4071, .adv_w = 356, .box_w = 22, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4236, .adv_w = 210, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4334, .adv_w = 203, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4432, .adv_w = 208, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4530, .adv_w = 102, .box_w = 4, .box_h = 19, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 4568, .adv_w = 107, .box_w = 9, .box_h = 20, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 4658, .adv_w = 102, .box_w = 5, .box_h = 19, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 4706, .adv_w = 184, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 4747, .adv_w = 160, .box_w = 10, .box_h = 1, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 4752, .adv_w = 192, .box_w = 6, .box_h = 3, .ofs_x = 2, .ofs_y = 13}, + {.bitmap_index = 4761, .adv_w = 189, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4811, .adv_w = 217, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4901, .adv_w = 180, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4962, .adv_w = 217, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5052, .adv_w = 193, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5118, .adv_w = 108, .box_w = 8, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5178, .adv_w = 219, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 5268, .adv_w = 216, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5351, .adv_w = 86, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5374, .adv_w = 88, .box_w = 6, .box_h = 19, .ofs_x = -2, .ofs_y = -4}, + {.bitmap_index = 5431, .adv_w = 192, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5514, .adv_w = 86, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5537, .adv_w = 340, .box_w = 19, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5642, .adv_w = 216, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5703, .adv_w = 201, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5769, .adv_w = 217, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 5859, .adv_w = 217, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 5949, .adv_w = 128, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5988, .adv_w = 156, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6043, .adv_w = 130, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6099, .adv_w = 215, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6160, .adv_w = 173, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6221, .adv_w = 281, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6320, .adv_w = 171, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6381, .adv_w = 173, .box_w = 12, .box_h = 15, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 6471, .adv_w = 164, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6526, .adv_w = 107, .box_w = 6, .box_h = 19, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 6583, .adv_w = 94, .box_w = 2, .box_h = 19, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 6602, .adv_w = 107, .box_w = 6, .box_h = 19, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 6659, .adv_w = 184, .box_w = 10, .box_h = 4, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 6679, .adv_w = 211, .box_w = 11, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6778, .adv_w = 238, .box_w = 15, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6891, .adv_w = 232, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6981, .adv_w = 240, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7071, .adv_w = 183, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7146, .adv_w = 254, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 7298, .adv_w = 211, .box_w = 11, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7381, .adv_w = 324, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7531, .adv_w = 204, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 7627, .adv_w = 264, .box_w = 13, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7725, .adv_w = 264, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7849, .adv_w = 225, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7939, .adv_w = 251, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8044, .adv_w = 308, .box_w = 15, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 8157, .adv_w = 263, .box_w = 13, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 8255, .adv_w = 272, .box_w = 15, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8368, .adv_w = 264, .box_w = 13, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 8466, .adv_w = 227, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 8556, .adv_w = 229, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8654, .adv_w = 188, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8744, .adv_w = 218, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8849, .adv_w = 293, .box_w = 17, .box_h = 16, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 8985, .adv_w = 208, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9083, .adv_w = 265, .box_w = 14, .box_h = 19, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 9216, .adv_w = 234, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9306, .adv_w = 350, .box_w = 18, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9441, .adv_w = 357, .box_w = 20, .box_h = 19, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 9631, .adv_w = 262, .box_w = 16, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9751, .adv_w = 313, .box_w = 16, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9871, .adv_w = 227, .box_w = 12, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9961, .adv_w = 226, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10059, .adv_w = 349, .box_w = 19, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 10202, .adv_w = 234, .box_w = 12, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10292, .adv_w = 187, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10342, .adv_w = 211, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10438, .adv_w = 195, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 10488, .adv_w = 152, .box_w = 8, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 10532, .adv_w = 208, .box_w = 13, .box_h = 14, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 10623, .adv_w = 198, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10684, .adv_w = 264, .box_w = 17, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10778, .adv_w = 171, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10833, .adv_w = 220, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 10888, .adv_w = 220, .box_w = 10, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 10963, .adv_w = 186, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 11018, .adv_w = 202, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 11079, .adv_w = 253, .box_w = 12, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 11145, .adv_w = 216, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 11200, .adv_w = 204, .box_w = 11, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 11261, .adv_w = 216, .box_w = 10, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 11316, .adv_w = 220, .box_w = 11, .box_h = 15, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 11399, .adv_w = 180, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 11454, .adv_w = 151, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 11509, .adv_w = 179, .box_w = 12, .box_h = 15, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 11599, .adv_w = 251, .box_w = 15, .box_h = 20, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 11749, .adv_w = 168, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 11810, .adv_w = 219, .box_w = 11, .box_h = 14, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 11887, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 11942, .adv_w = 297, .box_w = 15, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 12025, .adv_w = 297, .box_w = 17, .box_h = 14, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 12144, .adv_w = 199, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 12210, .adv_w = 251, .box_w = 12, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 12276, .adv_w = 180, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 12326, .adv_w = 183, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 12387, .adv_w = 277, .box_w = 15, .box_h = 11, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 12470, .adv_w = 194, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 12525, .adv_w = 198, .box_w = 11, .box_h = 15, .ofs_x = 1, .ofs_y = 0}}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = {{.range_start = 32, .range_length = 95, .glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}, {.range_start = 1025, .range_length = 1, .glyph_id_start = 96, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}, {.range_start = 1040, .range_length = 64, .glyph_id_start = 97, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}, {.range_start = 1105, .range_length = 1, .glyph_id_start = 161, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY}}; + +/*----------------- + * KERNING + *----------------*/ + +/*Map glyph_ids to kern left classes*/ +static const uint8_t kern_left_class_mapping[] = {0, 0, 1, 2, 0, 3, 4, 5, 2, 6, 7, 8, 9, 10, 9, 10, 11, 12, 0, 13, 14, 15, 16, 17, 18, 19, 12, 20, 20, 0, 0, 0, 21, 22, 23, 24, 25, 22, 26, 27, 28, 29, 29, 30, 31, 32, 29, 29, 22, 33, 34, 35, 3, 36, 30, 37, 37, 38, 39, 40, 41, 42, 43, 0, 44, 0, 45, 46, 47, 48, 49, 50, 51, 45, 52, 52, 53, 48, 45, 45, 46, 46, 54, 55, 56, 57, 51, 58, 58, 59, 58, 60, 41, 0, 0, 9, 26, 23, 61, 24, 62, 63, 26, 38, 24, 29, 29, 38, 29, 29, 29, 22, 29, 33, 25, 36, 37, 22, 38, 63, 29, 29, 63, 64, 29, 64, 22, 22, 29, 51, 46, 0, 65, 51, 49, 59, 0, 51, 51, 59, 51, 51, 51, 46, 51, 46, 47, 65, 58, 46, 59, 51, 51, 51, 51, 66, 51, 66, 46, 46, 51, 49}; + +/*Map glyph_ids to kern right classes*/ +static const uint8_t kern_right_class_mapping[] = {0, 0, 1, 2, 0, 3, 4, 5, 2, 6, 7, 8, 9, 10, 9, 10, 11, 12, 13, 14, 15, 16, 17, 12, 18, 19, 20, 21, 21, 0, 0, 0, 22, 23, 24, 25, 23, 25, 25, 25, 23, 25, 25, 26, 25, 25, 25, 25, 23, 25, 23, 25, 3, 27, 28, 29, 29, 30, 31, 32, 33, 34, 35, 0, 36, 0, 37, 38, 39, 39, 39, 40, 39, 38, 41, 42, 38, 38, 43, 43, 39, 43, 39, 43, 44, 45, 46, 47, 47, 48, 49, 50, 0, 0, 35, 9, 25, 24, 25, 25, 25, 51, 25, 30, 52, 25, 25, 25, 53, 25, 25, 23, 25, 25, 23, 27, 30, 23, 30, 25, 54, 25, 25, 27, 25, 25, 52, 25, 30, 37, 23, 43, 43, 55, 39, 48, 56, 43, 43, 43, 55, 43, 43, 39, 43, 43, 39, 57, 47, 39, 48, 43, 46, 43, 43, 57, 43, 43, 56, 43, 48, 39}; + +/*Kern values between classes*/ +static const int8_t kern_class_values[] = {0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 8, 6, 0, 3, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 9, -8, 0, 0, 6, 0, -18, -19, 3, 15, 8, 6, -13, 3, 17, 1, 14, 3, 11, 0, -14, 0, 0, 2, 0, 0, 0, 0, 0, 0, 19, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, -13, 0, 0, 0, 0, 0, -10, 0, 0, 0, 0, 0, -6, 6, 6, 0, 0, -3, 0, -3, 3, 0, -3, 0, -3, -2, -6, 0, 0, 0, 0, -3, 0, 0, -4, -5, 0, 0, -3, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, -3, 0, -6, 0, -6, -7, 0, -1, -4, 0, -9, 0, -38, 0, 0, -6, -16, 6, 10, 0, 0, -6, 3, 3, 11, 6, -6, 6, 0, 0, -19, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -12, 0, 0, 5, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, -17, 0, -13, -3, 0, 0, -10, 0, 1, 14, 0, -10, -2, 0, 0, 0, -6, 0, 0, -2, -25, 0, 5, 0, 11, -9, 0, -6, 0, -13, 5, 0, -26, -2, 14, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 3, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 11, 2, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, -4, -4, -7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, + 0, 0, 0, 2, 6, 3, 10, -3, 0, 0, 6, -3, -10, -45, 3, 9, 6, 1, -4, 0, 13, 0, 11, 0, 11, 0, -29, 0, -4, 10, 0, 11, -3, 6, 3, 0, 0, 0, -3, 0, 0, -6, 0, 0, 0, 26, 0, 10, 0, 14, 4, 14, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, -12, 0, 0, 0, -3, 0, -2, 0, 3, -5, -4, -6, 3, 0, -3, 0, 0, 0, -13, 3, -5, 0, -6, -10, 0, -7, -5, -10, 0, 0, -21, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, -4, -7, -4, -4, -2, -5, -6, -8, -4, -6, -7, 0, -18, 3, -20, 0, 0, 0, -10, -2, 0, 33, -4, -4, 3, 3, -4, 0, -4, 3, 0, 0, -17, -6, 11, 0, 19, -10, -3, -12, 0, -12, 6, 0, -31, 0, 3, 3, 0, -5, 0, 0, 3, 0, 0, -3, -5, -11, 0, -11, 0, 8, 0, 8, -16, 6, 0, -12, 0, 19, -6, 0, -12, 0, 10, 0, -21, -31, -21, -6, 10, 0, 0, -22, 0, 5, -7, 0, -5, 0, -6, -13, + 0, -3, 10, 0, 10, 0, 10, 0, 0, 10, 10, -40, -22, 0, -22, 0, 2, 0, -22, -22, -9, -22, -10, -20, -10, -22, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 3, -4, -6, 0, 0, 0, -3, 0, 0, -3, 0, 0, 0, -6, 0, -2, 0, -7, -6, 0, -8, -10, -10, -7, 0, -6, 0, -6, 0, 0, 0, 0, 0, -3, 0, 0, 3, 0, 3, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, -3, 3, 3, -1, 0, 0, 0, -7, 0, -1, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, -4, 0, -5, 0, 0, -3, 0, 10, 0, 0, -3, 0, 0, 0, 0, 0, 0, -1, 1, -3, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -2, 0, -3, -4, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, -3, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, -2, -4, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -10, -3, -10, 6, 0, 0, -6, 3, 6, 9, 0, -8, -1, -5, 0, -1, -16, 3, -3, 2, -17, 3, 0, 0, 0, -16, 0, -17, -2, -28, -3, 0, -16, 0, 6, 9, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, -4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, -3, 0, 0, 0, 0, 0, -2, -2, 0, -2, -4, 0, 0, 0, 0, 0, 0, 0, -3, -3, 0, -2, -4, -3, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -6, 3, 0, 0, -5, 2, 3, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 3, 0, 0, -3, 0, -3, -3, -5, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -3, 0, 0, 0, 0, -3, -5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -3, 0, -11, 0, 0, 9, -16, -17, -14, -6, 3, 0, -3, -21, -6, 0, -6, 0, -6, + 5, -6, -21, 0, -9, 0, 0, 2, -1, 2, -3, 0, 3, -1, -10, -12, 0, -16, 0, 0, -7, -8, -10, -5, -9, -1, -7, -1, -10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -2, 0, -1, -3, 0, -5, -7, -7, -1, 0, -10, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, -3, 0, 3, 0, 12, -3, 0, -7, -2, -12, 0, 0, -5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, -7, 0, 0, 5, 0, -16, -10, 0, 0, 0, -5, -16, 0, 0, -3, 3, 0, -10, 0, -13, 0, -9, 0, 0, -4, -5, -4, -3, -6, 0, 0, -7, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 5, 0, 3, -6, -6, 0, -3, -3, -4, 0, 0, 0, 0, 0, 0, -10, 0, -3, 0, -5, -3, 0, -7, -8, -10, -3, 0, -6, 0, -10, 0, 0, 0, 0, 0, 26, 0, 0, 2, 0, 0, -4, 0, 0, -6, -6, -6, -5, -5, -6, -5, 0, -14, 0, 0, 0, 0, 0, -29, -5, 11, 10, -2, -13, 0, 3, -5, 0, -16, -2, -4, 3, -22, -3, 3, 0, 5, -11, -5, -12, -10, -13, 0, 0, -19, 0, 19, 0, 0, -2, 0, 0, 0, 0, -2, -2, -3, -8, -10, -8, 0, 0, 0, 0, -14, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -2, -3, -5, 0, 0, -6, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -6, 0, 0, 6, 0, 4, 0, -7, 3, -3, -1, -10, -3, 0, + -4, -3, -1, 0, -5, -6, 0, 0, -3, 0, -3, -6, -5, 0, 0, -3, 0, 3, -3, 0, -7, 0, 0, 0, 0, -6, 0, -6, 0, -6, 0, -6, -6, 0, -6, -4, -8, -5, -5, 0, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, -5, 0, -3, -5, -12, -3, -3, -3, -1, -3, -5, -1, 0, 0, 0, 0, 0, -3, -3, -3, 0, 0, 0, 0, 5, -3, 0, -3, 0, 0, 0, 0, -3, -5, -3, -4, -5, -4, -4, 0, 0, 0, 0, 0, 0, 0, 2, 13, -1, 0, -10, 0, -3, 6, 0, -3, -14, -4, 5, -1, 0, -16, -6, 3, -6, 2, 0, -4, -3, -11, 0, -5, 2, 0, 0, -6, 0, 0, 0, 3, 3, -6, -7, 0, -6, 0, 0, -5, -3, -3, 0, -6, 2, -7, 2, -6, -13, -5, -13, -5, -13, -8, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, -4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, -4, 0, 0, -3, -3, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, -3, 0, 0, -7, 0, -7, -8, -5, -5, -5, 0, 0, -5, 0, -6, 0, 0, 0, -10, 0, 3, -7, 6, 0, -3, -15, 0, 0, -7, -3, 0, -13, -8, -9, 0, 0, -13, -3, -13, -12, -15, 0, -10, 0, 2, 22, -4, 0, -8, 0, 0, -1, -3, -6, -9, -6, -12, -12, -12, -7, -1, -8, -1, -11, 0, -8, -13, 0, 0, -3, 0, 0, 0, 0, -22, -4, 10, 8, -8, -12, 0, 0, + -12, 0, -16, -3, -3, 6, -30, -4, 0, 0, 0, -21, -4, -17, -3, -24, 0, 0, -22, 0, 20, 0, 0, -3, 0, 0, 0, 0, 0, -2, -3, -12, -3, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, -4, 0, 0, -9, -15, 0, 0, -2, -5, -10, -3, 0, -2, 0, 0, 0, 0, -14, -3, -11, -11, -2, -5, -8, -3, -6, 0, -6, -4, -10, -5, 0, -4, 0, 0, -3, -7, 0, 2, 0, -3, -11, -3, 0, -11, -6, -11, -6, -14, -6, -4, 0, -6, 0, 0, 0, 0, 5, 0, 3, -6, 12, 0, -3, -3, -4, 0, 0, 0, 0, 0, 0, -10, 0, -3, 0, -5, -3, 0, -7, -8, -10, -3, 0, -6, 2, 13, 0, 0, 0, 0, 0, 26, 0, 0, 2, 0, 0, -4, 0, 0, -6, -6, -6, -5, -5, -6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -6, 0, 0, 0, 0, 0, -2, 0, 0, 0, -3, -3, 0, 0, -6, -3, 0, 0, -6, 0, 6, -2, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, -4, 0, -11, -6, 0, 10, -10, -10, -6, -6, 13, 5, 3, -28, -2, 6, -3, 0, -3, 2, -3, -11, 0, -3, 3, -4, -2, -10, -2, 0, 0, 10, 6, 0, -9, 0, -18, 0, 0, 7, -4, -12, 0, -4, -11, -11, -11, -3, -12, 0, -12, -5, -22, -15, -7, 3, 0, -5, 0, -9, 0, 2, 11, -7, -12, -13, -8, 10, 0, 0, -23, -2, 3, -5, -2, -7, 0, -7, -12, -5, -5, -2, 0, 0, -7, -6, -3, 0, 10, 7, -3, -18, 0, -18, 0, -6, -6, -11, -18, 0, -10, -5, -11, -5, -9, -7, -1, -7, 0, -11, -15, -6, 0, 0, -4, 0, -6, -4, 0, -3, -5, 0, 6, -10, 3, 0, 0, -17, 0, -3, -7, -5, -2, -10, -8, -10, -8, 0, -10, -3, -7, -7, -10, -3, 0, 0, 0, 15, -5, 0, -10, 0, 0, 0, -3, -6, -7, -8, -8, -11, -8, -4, -4, -17, -4, -12, -5, -12, -16, 6, 0, -5, 0, -16, -5, 1, 6, -10, -12, -6, -10, + 10, -3, 2, -29, -5, 6, -7, -5, -12, 0, -10, -13, -5, -3, -2, -3, -6, -10, 0, 0, 0, 10, 8, -3, -21, 0, -19, 0, -4, 6, -12, -21, -6, -11, -13, -16, -13, -10, -9, 0, -9, -5, -18, -18, -7, 0, 0, 0, 0, -5, 0, 0, 3, -5, 6, 3, -7, 6, 0, 0, -12, -1, 0, -1, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 2, 10, 0, 0, -5, 0, 0, 0, 0, 0, -3, -3, -5, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, -3, 0, 11, 0, 5, 0, 0, -4, 0, 6, 0, 0, 0, 2, 0, 0, 0, 0, 6, 0, 7, 0, 8, 0, 0, 10, 0, 8, -4, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -4, -4, -6, -5, -3, 0, -19, 0, -3, 6, 0, 10, -45, 0, 33, 5, -6, -6, 3, 3, -3, 0, -16, 0, 0, 14, -19, -6, 10, 0, 10, -6, -3, -13, 6, -6, 0, 0, -21, 11, 45, 0, 0, 0, + 0, 0, 38, 0, 0, 0, 0, 6, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, -7, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, -5, -4, -5, -4, -4, 0, 0, -3, 6, -9, 0, 0, 0, -3, 0, 3, 43, -6, -3, 11, 9, -9, 3, 0, 0, 3, 3, -3, -10, 19, 10, 27, 0, -3, -3, 15, -3, 6, 0, -42, 8, 0, -3, 0, -9, 0, 0, 34, 0, 3, -6, -9, -4, 12, 6, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, -9, 0, 0, 0, 0, -7, -2, 0, 0, 0, -7, 0, -5, 0, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -3, 0, 0, 0, 0, -18, 0, 0, -3, 0, -5, 0, -9, 0, 0, 0, -6, 3, + -5, 0, 0, -9, -3, -8, 0, 0, -9, 0, -3, 0, -15, 0, -2, 0, 0, -27, -7, -13, -2, -11, 0, 0, -22, 0, -9, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, -6, -5, -3, -3, -8, -3, -8, -1, -1, -6, 0, 0, 0, 0, -8, 0, -7, 4, -2, 6, 0, -3, -8, -3, -6, -7, 0, -5, -2, -3, 2, -9, 0, 0, 0, 0, -30, -2, -3, 0, -5, 0, -3, -15, -4, 0, 0, -3, -3, 0, -3, 0, 0, 0, 2, 0, -3, -6, -3, -3, 0, 0, 0, 0, -6, -6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, -3, 0, 0, 0, -6, 3, 0, 0, 0, -9, -3, -6, 0, 0, -9, 0, -3, 0, -15, 0, 0, 0, 0, -31, 0, -6, -12, -16, 0, 0, -22, 0, -2, + -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -5, -3, -2, -6, 0, -6, -7, -4, -5, -7, 0, 0, 0, 6, -4, 0, 9, 17, -3, -3, -10, 5, 17, 6, 8, -9, 5, 14, 5, 10, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 15, -5, -3, 0, -3, 1, 0, 13, 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, -29, -5, -2, -14, -17, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, 0, -14, 0, -4, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, -29, -5, -2, -14, -17, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, 0, -14, 0, -4, 0, 0, 0, 0, 0, -2, 0, + 0, 0, -7, 3, 0, -3, 2, 5, 3, -10, 0, -1, -2, 3, 0, 2, 0, 0, 0, 0, -10, 0, -4, -3, -6, 0, -4, -13, 0, 21, -3, 0, -7, 0, 0, 0, -3, -5, 0, -3, -9, -6, -9, -4, 0, 0, 0, -6, 2, -7, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, -29, -5, -2, -14, -17, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, 0, -14, 0, -4, 0, 0, 0, -6, 0, -11, -5, -4, 10, -4, -3, -13, 0, -3, 0, -3, -10, 0, 7, 0, 2, 0, 2, -8, -12, -5, 0, -14, -7, -9, -14, -13, 0, -6, -6, -5, -4, -15, -3, -4, 0, -3, 0, -3, -1, 5, 0, 5, -3, 5, 0, -13, -7, -13, -6, -12, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, -3, 0, 0, -9, 0, -2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, -6, -3, 3, 0, -6, -7, -3, 0, -11, -3, -8, -2, -5, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, 0, 11, 0, 0, -6, 0, 0, 0, 0, 0, -4, 0, -3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -7, 0, 0, 14, -4, -11, -9, 3, 2, 2, -1, -8, 3, 5, 3, 10, 3, 10, -3, -8, 0, 0, -16, 0, 0, -10, -9, 0, 0, -6, 0, -4, -5, 0, -5, 0, 0, -5, 0, -2, 5, 0, -2, -10, -2, -3, -8, 0, -8, -5, -7, -4, 0, 0, 0, -4, 0, -6, 0, 0, 4, -7, 0, 3, -3, 2, -1, 0, -10, 0, -3, 0, 0, -3, 2, -2, 0, 0, 0, -16, -5, -7, 0, -10, 0, 0, -15, 0, 12, -3, 0, -6, 0, 0, -1, 0, -3, 0, -3, -10, 0, -10, -3, 0, -2, 0, -8, 0, -10, -4, 0, 0, 0, + 0, -3, 0, 0, 3, -4, 0, 0, 0, -5, -3, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21, 0, 8, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, -3, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, -3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, -13, -5, -11, -7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, -6, -5, 0, -6, 0, -6, -11, -4, -5, -9, 0, 0, 0, 0, 0, 0, 0, 0, -65, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -49, 0, -3, 0, -38, 0, 0, 0, -38, -38, -38, 0, -28, 0, -28, -6, -50, -45, -36, 0, -6, 0, 0, 0, 0, 0, 0, -8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, -8, 0, -8, 0, + -9, 0, 0, 0, 1, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, -11, -7, -11, 0, 0, 0, 0, -7, 0, -6, -10, 0, -9, -6, 0, 0, 0, -5, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, -2, 0, 0, -21, 0, -10, -14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, -5, -6, 0, -8, -6, -8, -2, -5, -5, -8, 0, 0, 0, 0, 0, 0, -2, 0, -7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, -2, -11, -7, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, -13, 0, -13, -3, -10, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, -35, 0, -12, -10, -10, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -12, -10, 0, -5, 0, -5, -24, -6, -2, -17}; + +/*Collect the kern class' data in one place*/ +static const lv_font_fmt_txt_kern_classes_t kern_classes = { + .class_pair_values = kern_class_values, + .left_class_mapping = kern_left_class_mapping, + .right_class_mapping = kern_right_class_mapping, + .left_class_cnt = 66, + .right_class_cnt = 57, +}; + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +# if LV_VERSION_CHECK(8, 0, 0) +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +static const lv_font_fmt_txt_dsc_t font_dsc = { +# else +static lv_font_fmt_txt_dsc_t font_dsc = { +# endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = &kern_classes, + .kern_scale = 16, + .cmap_num = 4, + .bpp = 4, + .kern_classes = 1, + .bitmap_format = 0, +# if LV_VERSION_CHECK(8, 0, 0) + .cache = &cache +# endif +}; + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +# if LV_VERSION_CHECK(8, 0, 0) +const lv_font_t montserrat_20_en_ru = { +# else +lv_font_t montserrat_20_en_ru = { +# endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 23, /*The maximum line height required by the font*/ + .base_line = 4, /*Baseline measured from the bottom of the line*/ +# if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +# endif +# if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -2, + .underline_thickness = 1, +# endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + +#endif /*#if MONTSERRAT_20_EN_RU*/ diff --git a/keyboards/stront/keymaps/zzeneg/fonts/montserrat_48_digits.c b/keyboards/stront/keymaps/zzeneg/fonts/montserrat_48_digits.c new file mode 100644 index 00000000000..ed0c74797d4 --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/fonts/montserrat_48_digits.c @@ -0,0 +1,189 @@ +// Copyright 2022 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +/******************************************************************************* + * Size: 48 px + * Bpp: 4 + * Opts: + ******************************************************************************/ + +#ifdef __has_include +# if __has_include("lvgl.h") +# ifndef LV_LVGL_H_INCLUDE_SIMPLE +# define LV_LVGL_H_INCLUDE_SIMPLE +# endif +# endif +#endif + +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +# include "lvgl.h" +#else +# include "lvgl/lvgl.h" +#endif + +#ifndef MONTSERRAT_48_DIGITS +# define MONTSERRAT_48_DIGITS 1 +#endif + +#if MONTSERRAT_48_DIGITS + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+002E "." */ + 0x0, 0x44, 0x0, 0xc, 0xff, 0xd1, 0x5f, 0xff, 0xf8, 0x6f, 0xff, 0xf9, 0x2f, 0xff, 0xf5, 0x6, 0xef, 0x80, + + /* U+0030 "0" */ + 0x0, 0x0, 0x0, 0x0, 0x3, 0x9c, 0xef, 0xfe, 0xb8, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xe8, 0x54, 0x45, 0x9e, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x3, 0xef, 0xff, 0x40, 0x0, 0x0, 0x1f, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xd0, 0x0, 0x0, 0x9f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf6, 0x0, 0x1, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfd, 0x0, 0x6, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x30, 0xb, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0xf, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xc0, 0x2f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf0, 0x4f, 0xff, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf1, 0x6f, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf3, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf5, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf5, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4, 0x6f, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf3, 0x4f, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xf1, 0x2f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf0, 0xf, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xc0, 0xb, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x6, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x30, 0x1, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfd, 0x0, 0x0, 0x9f, 0xff, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xf6, 0x0, 0x0, 0x1f, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xd0, 0x0, 0x0, 0x7, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x3, 0xef, 0xff, 0x40, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xff, 0xd8, 0x54, 0x45, 0x9e, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x9c, 0xef, 0xfe, 0xb8, 0x20, 0x0, 0x0, 0x0, 0x0, + + /* U+0031 "1" */ + 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x12, 0x22, 0x22, 0x22, 0xbf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfd, + + /* U+0032 "2" */ + 0x0, 0x0, 0x0, 0x4, 0x8b, 0xef, 0xff, 0xec, 0x95, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xb8, 0x54, 0x34, 0x69, 0xdf, 0xff, 0xfe, 0x10, 0x0, 0xc, 0xff, 0xff, 0x71, 0x0, 0x0, 0x0, 0x0, 0x5, 0xef, 0xff, 0xb0, 0x0, 0x6, 0xff, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf3, 0x0, 0x0, 0x4a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xdf, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xef, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf7, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x1, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + + /* U+0033 "3" */ + 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x2, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x28, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0xec, 0xa6, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x59, 0xef, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x60, 0x5c, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf1, 0xe, 0xfe, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xfa, 0x5, 0xff, 0xff, 0xd6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c, 0xff, + 0xff, 0x10, 0x8, 0xff, 0xff, 0xff, 0xb8, 0x54, 0x34, 0x58, 0xcf, 0xff, 0xff, 0x40, 0x0, 0x3, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x10, 0x0, 0x0, 0x0, 0x0, 0x1, 0x69, 0xce, 0xff, 0xfe, 0xc9, 0x50, 0x0, 0x0, 0x0, + + /* U+0034 "4" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0xe1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xc2, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x2f, 0xff, 0x72, 0x22, 0x22, 0x20, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x11, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x1f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x50, 0x0, 0x0, 0x0, + + /* U+0035 "5" */ + 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xff, 0x32, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x0, 0x0, 0x5, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf2, 0x22, 0x22, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x83, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x60, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x36, 0xae, 0xff, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xef, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xdf, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x0, 0x96, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xa0, 0x4f, 0xfa, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf3, 0xb, 0xff, 0xff, 0x92, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, + 0xff, 0xf9, 0x0, 0x2d, 0xff, 0xff, 0xfd, 0x96, 0x44, 0x34, 0x6a, 0xef, 0xff, 0xfc, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x1, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x7a, 0xdf, 0xff, 0xfd, 0xb8, 0x30, 0x0, 0x0, 0x0, + + /* U+0036 "6" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x37, 0xbd, 0xff, 0xfe, 0xda, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xfc, 0x74, 0x21, 0x12, 0x47, 0xbf, 0xe0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xfa, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1, 0x40, 0x0, 0x0, 0x2, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x30, 0x0, 0x1, 0x7b, 0xdf, 0xff, 0xdb, 0x61, 0x0, 0x0, 0x0, 0x5f, 0xff, 0x10, 0x1, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 0x0, 0x0, 0x7f, 0xff, 0x0, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x7f, 0xff, 0x4, 0xff, 0xfe, 0x84, 0x10, 0x1, 0x49, 0xef, 0xff, 0xf4, 0x0, 0x7f, 0xff, 0x2f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xfe, 0x10, 0x7f, 0xff, 0xbf, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xa0, 0x6f, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf1, 0x5f, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf6, 0x3f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf9, 0xf, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfb, 0xd, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfb, 0x8, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xfb, 0x3, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf9, 0x0, 0xdf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf5, 0x0, 0x5f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf0, 0x0, 0xb, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x80, 0x0, 0x1, 0xef, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x19, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x3e, 0xff, 0xfe, 0x84, 0x10, 0x1, 0x48, 0xef, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x2, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x20, 0x0, 0x0, 0x0, 0x0, 0x7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x9c, 0xef, 0xff, 0xda, 0x50, 0x0, 0x0, 0x0, + + /* U+0037 "7" */ + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x7f, 0xff, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x2f, 0xff, 0xc0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x40, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfd, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf6, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xe0, 0x0, 0x7f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x37, 0x77, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x40, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+0038 "8" */ + 0x0, 0x0, 0x0, 0x2, 0x6a, 0xde, 0xff, 0xfe, 0xb8, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xfd, 0x73, 0x10, 0x0, 0x25, 0x9f, 0xff, 0xff, 0x40, 0x0, 0x0, 0x6f, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x19, 0xff, 0xfe, 0x10, 0x0, 0xe, 0xff, 0xe2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xf8, 0x0, 0x4, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xe0, 0x0, 0x7f, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x10, 0x7, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf1, 0x0, 0x6f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x0, 0x3, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xd0, 0x0, 0xe, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xf8, 0x0, 0x0, 0x5f, 0xff, 0xc2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x8f, 0xff, 0xf9, 0x40, 0x0, 0x0, + 0x1, 0x6c, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x5e, 0xff, 0xff, 0xfe, 0xdc, 0xdf, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x30, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xfb, 0x63, 0x10, 0x0, 0x24, 0x8e, 0xff, 0xff, 0x60, 0x0, 0x0, 0xcf, 0xff, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x60, 0x0, 0x8f, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xef, 0xff, 0x20, 0x1f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfa, 0x6, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf0, 0x9f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0x3a, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf4, 0xbf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x49, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf3, 0x6f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x1, + 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xb0, 0xa, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf3, 0x0, 0x1e, 0xff, 0xfc, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf9, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xb6, 0x31, 0x0, 0x2, 0x48, 0xef, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x6, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x37, 0xbd, 0xef, 0xff, 0xec, 0x95, 0x10, 0x0, 0x0, 0x0, + + /* U+0039 "9" */ + 0x0, 0x0, 0x0, 0x5, 0x9c, 0xef, 0xfe, 0xda, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xff, 0x94, 0x10, 0x1, 0x37, 0xcf, 0xff, 0xf5, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x4, 0xef, 0xff, 0x40, 0x0, 0x7, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xe1, 0x0, 0xe, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf9, 0x0, 0x3f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0x10, 0x6f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0x70, 0x7f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xc0, 0x8f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf1, 0x6f, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf4, 0x4f, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf7, 0xf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0xf9, 0x8, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xff, 0xfa, 0x1, 0xef, 0xff, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x4, 0xdf, 0xf7, 0xdf, 0xfb, 0x0, 0x3f, 0xff, 0xff, 0x95, 0x20, 0x0, 0x36, 0xcf, 0xff, 0xa0, 0xcf, 0xfb, 0x0, 0x3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0xcf, 0xfb, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x40, 0x0, 0xcf, 0xfa, 0x0, 0x0, 0x0, 0x16, 0xad, 0xff, 0xfe, 0xc8, 0x30, 0x0, 0x0, 0xef, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xef, 0xff, 0x60, 0x0, 0x0, 0x4, 0x40, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xc, 0xfd, 0x85, 0x31, 0x12, 0x47, 0xbf, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x0, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0xac, 0xef, 0xff, 0xeb, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+003A ":" */ + 0x6, 0xef, 0x80, 0x3f, 0xff, 0xf5, 0x6f, 0xff, 0xf9, 0x4f, 0xff, 0xf7, 0xb, 0xff, 0xd1, 0x0, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x44, 0x0, 0xc, 0xff, 0xd1, 0x5f, 0xff, 0xf8, 0x6f, 0xff, 0xf9, 0x2f, 0xff, 0xf5, 0x6, 0xef, 0x80}; + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 163, .box_w = 6, .box_h = 6, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 18, .adv_w = 508, .box_w = 28, .box_h = 34, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 494, .adv_w = 277, .box_w = 12, .box_h = 34, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 698, .adv_w = 436, .box_w = 26, .box_h = 34, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1140, .adv_w = 433, .box_w = 25, .box_h = 34, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1565, .adv_w = 508, .box_w = 31, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2092, .adv_w = 435, .box_w = 25, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2517, .adv_w = 468, .box_w = 26, .box_h = 34, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2959, .adv_w = 452, .box_w = 26, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3401, .adv_w = 490, .box_w = 27, .box_h = 34, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3860, .adv_w = 468, .box_w = 26, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4302, .adv_w = 163, .box_w = 6, .box_h = 26, .ofs_x = 2, .ofs_y = 0}}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint8_t glyph_id_ofs_list_0[] = {0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = {{.range_start = 46, .range_length = 13, .glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 13, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL}}; + +/*----------------- + * KERNING + *----------------*/ + +/*Map glyph_ids to kern left classes*/ +static const uint8_t kern_left_class_mapping[] = {0, 1, 2, 0, 3, 4, 5, 6, 7, 8, 9, 2, 10}; + +/*Map glyph_ids to kern right classes*/ +static const uint8_t kern_right_class_mapping[] = {0, 1, 2, 3, 4, 5, 6, 7, 2, 8, 9, 10, 11}; + +/*Kern values between classes*/ +static const int8_t kern_class_values[] = {0, -8, -9, 8, 8, -10, 0, -9, 8, 0, 0, -8, 0, 0, 0, -8, 0, 0, -6, 0, 0, 0, 8, -2, 0, 0, 0, -18, 0, -2, 0, 0, 0, 0, 0, 0, -4, -4, 0, -8, -10, 0, 0, 0, 15, 0, -19, -2, -12, 0, -2, -38, 8, -6, 5, 0, 0, 0, -4, -4, 0, -4, -11, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, -41, -15, 8, 0, -7, -50, -15, 0, -15, 0, -15, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0}; + +/*Collect the kern class' data in one place*/ +static const lv_font_fmt_txt_kern_classes_t kern_classes = { + .class_pair_values = kern_class_values, + .left_class_mapping = kern_left_class_mapping, + .right_class_mapping = kern_right_class_mapping, + .left_class_cnt = 10, + .right_class_cnt = 11, +}; + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +# if LV_VERSION_CHECK(8, 0, 0) +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +static const lv_font_fmt_txt_dsc_t font_dsc = { +# else +static lv_font_fmt_txt_dsc_t font_dsc = { +# endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = &kern_classes, + .kern_scale = 16, + .cmap_num = 1, + .bpp = 4, + .kern_classes = 1, + .bitmap_format = 0, +# if LV_VERSION_CHECK(8, 0, 0) + .cache = &cache +# endif +}; + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +# if LV_VERSION_CHECK(8, 0, 0) +const lv_font_t montserrat_48_digits = { +# else +lv_font_t montserrat_48_digits = { +# endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 34, /*The maximum line height required by the font*/ + .base_line = 0, /*Baseline measured from the bottom of the line*/ +# if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +# endif +# if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -5, + .underline_thickness = 2, +# endif + .dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +}; + +#endif /*#if MONTSERRAT_48_DIGITS*/ diff --git a/keyboards/stront/keymaps/zzeneg/halconf.h b/keyboards/stront/keymaps/zzeneg/halconf.h new file mode 100644 index 00000000000..46c5a48c9a9 --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/stront/keymaps/zzeneg/icons/flag_pl.c b/keyboards/stront/keymaps/zzeneg/icons/flag_pl.c new file mode 100644 index 00000000000..cac55d0eea6 --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/icons/flag_pl.c @@ -0,0 +1,42 @@ +// Copyright 2022 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifdef __has_include +# if __has_include("lvgl.h") +# ifndef LV_LVGL_H_INCLUDE_SIMPLE +# define LV_LVGL_H_INCLUDE_SIMPLE +# endif +# endif +#endif + +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +# include "lvgl.h" +#else +# include "lvgl/lvgl.h" +#endif + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +# define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FLAG_PL +# define LV_ATTRIBUTE_IMG_FLAG_PL +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FLAG_PL uint8_t flag_pl_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0x3c, 0x14, 0xdc, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, +}; + +const lv_img_dsc_t flag_pl = { + .header.cf = LV_IMG_CF_INDEXED_1BIT, + .header.always_zero = 0, + .header.reserved = 0, + .header.w = 60, + .header.h = 40, + .data_size = 328, + .data = flag_pl_map, +}; diff --git a/keyboards/stront/keymaps/zzeneg/icons/flag_ru.c b/keyboards/stront/keymaps/zzeneg/icons/flag_ru.c new file mode 100644 index 00000000000..8019b0b4183 --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/icons/flag_ru.c @@ -0,0 +1,42 @@ +// Copyright 2022 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifdef __has_include +# if __has_include("lvgl.h") +# ifndef LV_LVGL_H_INCLUDE_SIMPLE +# define LV_LVGL_H_INCLUDE_SIMPLE +# endif +# endif +#endif + +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +# include "lvgl.h" +#else +# include "lvgl/lvgl.h" +#endif + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +# define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FLAG_RU +# define LV_ATTRIBUTE_IMG_FLAG_RU +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FLAG_RU uint8_t flag_ru_map[] = { + 0xff, 0xff, 0xff, 0xff, /*Color of index 0*/ + 0xd8, 0x88, 0x0c, 0xff, /*Color of index 1*/ + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +const lv_img_dsc_t flag_ru = { + .header.cf = LV_IMG_CF_INDEXED_1BIT, + .header.always_zero = 0, + .header.reserved = 0, + .header.w = 60, + .header.h = 40, + .data_size = 328, + .data = flag_ru_map, +}; diff --git a/keyboards/stront/keymaps/zzeneg/icons/flag_uk.c b/keyboards/stront/keymaps/zzeneg/icons/flag_uk.c new file mode 100644 index 00000000000..8bf82348296 --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/icons/flag_uk.c @@ -0,0 +1,46 @@ +// Copyright 2022 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifdef __has_include +# if __has_include("lvgl.h") +# ifndef LV_LVGL_H_INCLUDE_SIMPLE +# define LV_LVGL_H_INCLUDE_SIMPLE +# endif +# endif +#endif + +#if defined(LV_LVGL_H_INCLUDE_SIMPLE) +# include "lvgl.h" +#else +# include "lvgl/lvgl.h" +#endif + +#ifndef LV_ATTRIBUTE_MEM_ALIGN +# define LV_ATTRIBUTE_MEM_ALIGN +#endif + +#ifndef LV_ATTRIBUTE_IMG_FLAG_UK +# define LV_ATTRIBUTE_IMG_FLAG_UK +#endif + +const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_FLAG_UK uint8_t flag_uk_map[] = { + 0xfe, 0xfe, 0xfe, 0xff, /*Color of index 0*/ + 0x32, 0x15, 0xc9, 0xff, /*Color of index 1*/ + 0x6c, 0x25, 0x06, 0xff, /*Color of index 2*/ + 0xcd, 0xbd, 0xca, 0xff, /*Color of index 3*/ + + 0x40, 0x02, 0xaa, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xaa, 0xcd, 0x57, 0x50, 0x00, 0xea, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xab, 0xd5, 0x50, 0x55, 0x00, 0x0a, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xb3, 0x55, 0xc0, 0xd5, 0x40, 0x03, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xf5, 0x54, 0x00, 0xc5, 0x54, 0x00, 0x2a, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xac, 0xd5, 0x70, 0x03, 0xb3, 0x55, 0x00, 0x0e, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xbd, 0x55, 0x00, 0x0a, 0xab, 0x15, 0x50, 0x00, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xab, 0x35, 0x5c, 0x00, 0xea, 0xaa, 0xcd, 0x54, 0x00, 0x3a, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaf, 0x55, 0x40, 0x02, 0xaa, 0xaa, 0xac, 0x55, 0x40, 0x02, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xcd, 0x57, 0x00, 0x3a, 0xaa, 0xaa, 0xab, 0x35, 0x50, 0x00, 0xea, 0x81, 0x55, 0x4e, 0xab, 0xd5, 0x50, 0x00, 0xaa, 0xaa, + 0xaa, 0xaa, 0xb1, 0x55, 0x00, 0x0a, 0x81, 0x55, 0x4e, 0xb3, 0x55, 0xc0, 0x0e, 0xaa, 0xaa, 0xaa, 0xaa, 0xac, 0xd5, 0x40, 0x03, 0x81, 0x55, 0x4e, 0xf5, 0x54, 0x00, 0x2a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xc5, 0x54, 0x00, 0x01, 0x55, 0x40, 0xd5, 0x70, 0x03, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xc3, 0xfc, 0x00, 0x01, 0x55, 0x40, 0xff, 0x00, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, + 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff, 0x01, 0x55, 0x40, 0x00, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xc0, 0x0d, 0x54, 0x01, 0x55, 0x40, 0x00, 0xd5, 0x53, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xac, 0x00, 0x15, 0x53, 0x81, 0x55, 0x4e, 0xc0, 0x0d, 0x57, 0x2a, 0xaa, 0xaa, 0xaa, 0xaa, 0xb0, 0x03, 0x55, 0x0a, 0x81, 0x55, 0x4e, 0xb0, 0x03, 0x55, 0x4e, 0xaa, 0xaa, + 0xaa, 0xab, 0x00, 0x05, 0x54, 0xea, 0x81, 0x55, 0x4e, 0xab, 0x00, 0x35, 0x5c, 0xaa, 0xaa, 0xaa, 0xac, 0x00, 0xd5, 0x42, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xc0, 0x0d, 0x55, 0x3a, 0xaa, 0xaa, 0xc0, 0x01, 0x55, 0x3a, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xac, 0x00, 0xd5, 0x72, 0xaa, 0xab, 0x00, 0x35, 0x50, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xab, 0x00, 0x35, 0x54, 0xea, 0xb0, 0x00, 0x55, 0x4e, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xb0, 0x03, 0x55, 0xca, 0xc0, 0x0d, 0x54, 0x2a, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xac, 0x00, 0xd5, 0x53, 0x00, 0x15, 0x53, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xc0, 0x0d, 0x57, 0x03, 0x55, 0x0a, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xb0, 0x03, 0x55, 0x05, 0x54, 0xea, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xab, 0x00, 0x35, 0xd5, 0x42, 0xaa, 0xaa, 0xaa, 0xaa, 0x81, 0x55, 0x4e, 0xaa, 0xaa, 0xaa, 0xaa, 0xc0, 0x0d, +}; + +const lv_img_dsc_t flag_uk = { + .header.cf = LV_IMG_CF_INDEXED_2BIT, + .header.always_zero = 0, + .header.reserved = 0, + .header.w = 60, + .header.h = 40, + .data_size = 616, + .data = flag_uk_map, +}; diff --git a/keyboards/stront/keymaps/zzeneg/keymap.c b/keyboards/stront/keymaps/zzeneg/keymap.c new file mode 100644 index 00000000000..67cc52e142c --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/keymap.c @@ -0,0 +1,305 @@ +// Copyright 2022 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#include "zzeneg_display.h" +#include "raw_hid.h" +#include "transactions.h" + +// Left-hand home row mods +#define HOME_A LGUI_T(KC_A) +#define HOME_S LALT_T(KC_S) +#define HOME_D LCTL_T(KC_D) +#define HOME_F LSFT_T(KC_F) + +// Right-hand home row mods +#define HOME_J RSFT_T(KC_J) +#define HOME_K RCTL_T(KC_K) +#define HOME_L LALT_T(KC_L) +#define HOME_P RGUI_T(KC_P) + +// bottom mods +#define SYM_SPC LT(_SYMBOL, KC_SPC) +#define NUM_TAB LT(_NUMBER, KC_TAB) +#define FUNC_ESC LT(_FUNC, KC_ESC) +#define FUNC_ENT LT(_FUNC, KC_ENT) +#define NAV_BSPC LT(_NAV, KC_BSPC) +#define EU_DEL LT(_EU, KC_DEL) + +// game layer mods +#define LALT_Q LALT_T(KC_Q) +#define LSFT_MINS LSFT_T(KC_MINS) +#define LCTL_ESC LCTL_T(KC_ESC) +#define LGUI_QUOT LGUI_T(KC_QUOT) + +enum custom_keycodes { + M_EMAIL = SAFE_RANGE, + M_CBR, + M_PRN, + M_BRC, + M_ARROW, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* QWERTY + * .---------------------------. .---------------------------. + * | W | E | R | T | | Y | U | I | O | + * .------+------+------+------+------+------| |------+------+------+------+------+------. + * | Q | A | S | D | F | G | | H | J | K | L | P | ; | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | - | Z | X | C | V | B |--------. .--------| N | M | , | . | / | ' | + * '-----------------------------------------/ / \ \-----------------------------------------' + * | Esc | Tab | / Space / \ Enter \ | Bsps | Del | + * |_FUNC | _NUM | /_SYMBOL/ \ _FUNC \ | _NAV | _EU | + * `-------------''-------' '-------''-------------' + */ + // clang-format off + [_QWERTY] = LAYOUT( + KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, + KC_Q, HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_H, HOME_J, HOME_K, HOME_L, HOME_P, KC_SCLN, + KC_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, + FUNC_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, EU_DEL + ), + + [_GAME] = LAYOUT( + KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, + LALT_Q, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_P, KC_SCLN, + LSFT_MINS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LGUI_QUOT, + LCTL_ESC, NUM_TAB, SYM_SPC, FUNC_ENT, NAV_BSPC, EU_DEL + ), + + [_EU] = LAYOUT( + XXXXXXX, RALT(KC_E), XXXXXXX, M_CBR, KC_MUTE, RALT(KC_U), XXXXXXX, RALT(KC_O), + XXXXXXX, RALT(KC_A), RALT(KC_S), LCTL(KC_C), KC_LSFT, M_PRN, M_EMAIL, KC_RSFT, M_ARROW, RALT(KC_L), XXXXXXX, XXXXXXX, + XXXXXXX, RALT(KC_Z), RALT(KC_X), RALT(KC_C), LCTL(KC_V), M_BRC, RALT(KC_N), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + FUNC_ESC, NUM_TAB, SYM_SPC, XXXXXXX, XXXXXXX, _______ + ), + + [_NAV] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, + XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, LALT(KC_UP), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PAUS, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LALT(KC_DOWN), KC_HOME, KC_END, KC_INS, KC_APP, XXXXXXX, + FUNC_ESC, NUM_TAB, SYM_SPC, XXXXXXX, _______, EU_DEL + ), + + [_NUMBER] = LAYOUT( + KC_7, KC_8, KC_9, KC_PLUS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_GRV, KC_0, KC_4, KC_5, KC_6, KC_DOT, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + KC_BSPC, KC_AT, KC_1, KC_2, KC_3, KC_ASTR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_ENT, _______, TG(_GAME), FUNC_ENT, NAV_BSPC, EU_DEL + ), + + [_SYMBOL] = LAYOUT( + KC_PERC, KC_PLUS, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_DLR, KC_AMPR, KC_EXLM, KC_EQL, KC_LPRN, KC_RPRN, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + KC_BSLS, KC_PIPE, KC_HASH, KC_ASTR, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + MO(_SYS), KC_BSPC, _______, FUNC_ENT, NAV_BSPC, EU_DEL + ), + + [_FUNC] = LAYOUT( + KC_F7, KC_F8, KC_F9, KC_CAPS, XXXXXXX, KC_PSCR, KC_SCRL, KC_NUM, + KC_LCTL, KC_F11, KC_F4, KC_F5, KC_F6, KC_F12, XXXXXXX, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, XXXXXXX, + KC_CIRC, KC_F10, KC_F1, KC_F2, KC_F3, KC_TILD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_MNXT, KC_MPLY, _______, XXXXXXX, MO(_SYS) + ), + + [_SYS] = LAYOUT( + BL_DOWN, BL_UP, BL_TOGG, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, + XXXXXXX, XXXXXXX, DT_UP, DT_DOWN, DT_PRNT, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, + EH_LEFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EH_RGHT, EH_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, EH_LEFT, + _______, QK_BOOT, _______, _______, QK_BOOT, _______ + ) + // clang-format on +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + // clang-format off + [_QWERTY] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_GAME] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_EU] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_NAV] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [_NUMBER] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [_SYMBOL] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [_FUNC] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [_SYS] = { ENCODER_CCW_CW(BL_DOWN, BL_UP), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) } + // clang-format on +}; +#endif // ENCODER_MAP_ENABLE + +/* different tapping term for different fingers */ +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + // pinkies + case HOME_A: + case HOME_P: + return 250; + // ring + case HOME_S: + case HOME_L: + return 200; + // middle + case HOME_D: + case HOME_K: + return 160; + // index + case HOME_F: + case HOME_J: + return 140; + // thumb and game + default: + return TAPPING_TERM; + } +} + +/* helper function for custom increased tapping term for home row CTRL + other keys */ +uint16_t HOME_CTRL_pressed_time = 0; +void custom_home_row_ctrl(keyrecord_t *record, uint16_t time) { + if (record->tap.count && get_mods() & MOD_MASK_CTRL) { + if (TIMER_DIFF_16(record->event.time, HOME_CTRL_pressed_time) < time) { + del_mods(MOD_MASK_CTRL); + tap_code(KC_D); + } + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + dprintf("process_record_user %u %s %s %d\n", keycode, record->event.pressed ? "pressed" : "depressed", record->tap.interrupted ? "interrupted" : "not interrupted", record->tap.count); + + if (record->event.pressed) { + uint8_t data[32]; + data[0] = 0; + + switch (keycode) { + // send hid commands + case KC_VOLU: + case KC_VOLD: + data[0] = _VOLUME; + break; + + // handle macros + case M_EMAIL: + SEND_STRING("zzeneg@gmail.com"); + break; + case M_CBR: + SEND_STRING("{}" SS_TAP(X_LEFT)); + break; + case M_PRN: + SEND_STRING("()" SS_TAP(X_LEFT)); + break; + case M_BRC: + SEND_STRING("[]" SS_TAP(X_LEFT)); + break; + case M_ARROW: + SEND_STRING("=>"); + break; + + // custom increased tapping term for home row CTRL + other keys + case HOME_D: + // save time when CTRL from D key is pressed + if (!record->tap.count) { + HOME_CTRL_pressed_time = record->event.time; + } + break; + case HOME_S: + // if S is pressed and CTRL is active, and < 150 passed since CTRL was pressed, cancel CTRL and send D instead + custom_home_row_ctrl(record, 150); + break; + case HOME_A: + // if A is pressed and CTRL is active, and < 180 passed since CTRL was pressed, cancel CTRL and send D instead + custom_home_row_ctrl(record, 180); + break; + } + + if (data[0]) { + dprintf("raw_hid_send %u\n", data[0]); + raw_hid_send(data, sizeof(data)); + } + } + + return true; +} + +/* Active Layer processing */ +layer_state_t layer_state_set_user(layer_state_t state) { + if (is_display_enabled()) { + display_process_layer_state(get_highest_layer(state)); + } else if (is_keyboard_master() && !is_keyboard_left()) { + uint8_t layer = get_highest_layer(state); + dprintf("RPC_ID_USER_LAYER_SYNC: %u\n", layer); + transaction_rpc_send(RPC_ID_USER_LAYER_SYNC, 1, &layer); + } + + return state; +} + +/* Caps Word processing */ +void caps_word_set_user(bool active) { + if (is_display_enabled()) { + display_process_caps_word(active); + } else if (is_keyboard_master() && !is_keyboard_left()) { + dprintf("RPC_ID_USER_CAPS_WORD_SYNC: %s\n", active ? "active" : "inactive"); + transaction_rpc_send(RPC_ID_USER_CAPS_WORD_SYNC, 1, &active); + } +} + +/* default caps word logic that allows KC_MINS. Underscore can be typed with KC_RSFT + KC_MINS */ +bool caps_word_press_user(uint16_t keycode) { + switch (keycode) { + // Keycodes that continue Caps Word, with shift applied. + case KC_A ... KC_Z: + add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to next key. + return true; + + // Keycodes that continue Caps Word, without shifting. + case KC_1 ... KC_0: + case KC_BSPC: + case KC_DEL: + case KC_MINS: + case KC_RSFT: + return true; + + default: + return false; // Deactivate Caps Word. + } +} + +/* Raw HID processing*/ +void raw_hid_receive(uint8_t *data, uint8_t length) { + dprintf("raw_hid_receive - received %u bytes \n", length); + + if (is_display_enabled()) { + display_process_raw_hid_data(data, length); + } else if (is_keyboard_master() && !is_keyboard_left()) { + dprint("RPC_ID_USER_HID_SYNC \n"); + transaction_rpc_send(RPC_ID_USER_HID_SYNC, length, data); + } +} + +void hid_sync(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) { + if (is_display_enabled()) { + display_process_raw_hid_data((uint8_t *)initiator2target_buffer, initiator2target_buffer_size); + } +} + +void layer_sync(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) { + if (is_display_enabled()) { + display_process_layer_state(*(uint8_t *)initiator2target_buffer); + } +} + +void caps_word_sync(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) { + if (is_display_enabled()) { + display_process_caps_word(*(bool *)initiator2target_buffer); + } +} + +void keyboard_post_init_user() { + // sync received hid data + transaction_register_rpc(RPC_ID_USER_HID_SYNC, hid_sync); + // sync highest layer (a bit more performant than standard SPLIT_LAYER_STATE_ENABLE) + transaction_register_rpc(RPC_ID_USER_LAYER_SYNC, layer_sync); + // sync caps word state + transaction_register_rpc(RPC_ID_USER_CAPS_WORD_SYNC, caps_word_sync); +} diff --git a/keyboards/stront/keymaps/zzeneg/lv_conf.h b/keyboards/stront/keymaps/zzeneg/lv_conf.h new file mode 100644 index 00000000000..8b0c1f3f833 --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/lv_conf.h @@ -0,0 +1,148 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* disable some things before lv_conf include */ +#define LV_USE_CALENDAR 0 +#define LV_USE_SPAN 0 +#define LV_USE_ROLLER 0 +#define LV_USE_TEXTAREA 0 + +#include_next + +/* Custom fonts: + - montserrat_20_en_ru - english/cyrillic symbols, range 0x20-0x7F,0x0410-0x044F,0x0401,0x0451 + - montserrat_48_digits - digits, dot and colon only, range 0x2E,0x30-0x3A + */ + +#undef LV_FONT_CUSTOM_DECLARE +#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(montserrat_20_en_ru) LV_FONT_DECLARE(montserrat_48_digits) + +#undef LV_FONT_DEFAULT +#define LV_FONT_DEFAULT &montserrat_20_en_ru + +#undef LV_FONT_MONTSERRAT_20 +#define LV_FONT_MONTSERRAT_20 0 + +#undef LV_FONT_MONTSERRAT_48 +#define LV_FONT_MONTSERRAT_48 0 + +// #undef LV_FONT_MONTSERRAT_16 +// #define LV_FONT_MONTSERRAT_16 1 + +// #undef LV_FONT_MONTSERRAT_18 +// #define LV_FONT_MONTSERRAT_18 1 + +// #undef LV_FONT_MONTSERRAT_20 +// #define LV_FONT_MONTSERRAT_20 1 + +// #undef LV_FONT_MONTSERRAT_22 +// #define LV_FONT_MONTSERRAT_22 1 + +// #undef LV_FONT_MONTSERRAT_24 +// #define LV_FONT_MONTSERRAT_24 1 + +// #undef LV_FONT_MONTSERRAT_26 +// #define LV_FONT_MONTSERRAT_26 1 + +// #undef LV_FONT_MONTSERRAT_28 +// #define LV_FONT_MONTSERRAT_28 1 + +// #undef LV_FONT_MONTSERRAT_30 +// #define LV_FONT_MONTSERRAT_30 1 + +// #undef LV_FONT_MONTSERRAT_32 +// #define LV_FONT_MONTSERRAT_32 1 + +// #undef LV_FONT_MONTSERRAT_34 +// #define LV_FONT_MONTSERRAT_34 1 + +// #undef LV_FONT_MONTSERRAT_36 +// #define LV_FONT_MONTSERRAT_36 1 + +// #undef LV_FONT_MONTSERRAT_38 +// #define LV_FONT_MONTSERRAT_38 1 + +// #undef LV_FONT_MONTSERRAT_40 +// #define LV_FONT_MONTSERRAT_40 1 + +// #undef LV_FONT_MONTSERRAT_42 +// #define LV_FONT_MONTSERRAT_42 1 + +// #undef LV_FONT_MONTSERRAT_44 +// #define LV_FONT_MONTSERRAT_44 1 + +// #undef LV_FONT_MONTSERRAT_46 +// #define LV_FONT_MONTSERRAT_46 1 + +// #undef LV_FONT_MONTSERRAT_48 +// #define LV_FONT_MONTSERRAT_48 1 + +/* disable widgets*/ +#undef LV_USE_ANIMIMG +#define LV_USE_ANIMIMG 0 +#undef LV_USE_BAR +#define LV_USE_BAR 0 +#undef LV_USE_BTN +#define LV_USE_BTN 0 +#undef LV_USE_BTNMATRIX +#define LV_USE_BTNMATRIX 0 +#undef LV_USE_CANVAS +#define LV_USE_CANVAS 0 +#undef LV_USE_CHECKBOX +#define LV_USE_CHECKBOX 0 +#undef LV_USE_DROPDOWN +#define LV_USE_DROPDOWN 0 +#undef LV_USE_LINE +#define LV_USE_LINE 0 +#undef LV_USE_SLIDER +#define LV_USE_SLIDER 0 +#undef LV_USE_SWITCH +#define LV_USE_SWITCH 0 +#undef LV_USE_TABLE +#define LV_USE_TABLE 0 + +/* disable extra components */ +#undef LV_USE_CHART +#define LV_USE_CHART 0 +#undef LV_USE_COLORWHEEL +#define LV_USE_COLORWHEEL 0 +#undef LV_USE_IMGBTN +#define LV_USE_IMGBTN 0 +#undef LV_USE_KEYBOARD +#define LV_USE_KEYBOARD 0 +#undef LV_USE_LED +#define LV_USE_LED 0 +#undef LV_USE_LIST +#define LV_USE_LIST 0 +#undef LV_USE_MENU +#define LV_USE_MENU 0 +#undef LV_USE_METER +#define LV_USE_METER 0 +#undef LV_USE_MSGBOX +#define LV_USE_MSGBOX 0 +#undef LV_USE_SPINBOX +#define LV_USE_SPINBOX 0 +#undef LV_USE_SPINNER +#define LV_USE_SPINNER 0 +#undef LV_USE_TABVIEW +#define LV_USE_TABVIEW 0 +#undef LV_USE_TILEVIEW +#define LV_USE_TILEVIEW 0 +#undef LV_USE_WIN +#define LV_USE_WIN 0 + +/* disable themes */ +#undef LV_USE_THEME_BASIC +#define LV_USE_THEME_BASIC 0 +#undef LV_USE_THEME_MONO +#define LV_USE_THEME_MONO 0 + +/* disable layouts */ +#undef LV_USE_GRID +#define LV_USE_GRID 0 + +/* disable build examples */ +#undef LV_BUILD_EXAMPLES +#define LV_BUILD_EXAMPLES 0 diff --git a/keyboards/stront/keymaps/zzeneg/mcuconf.h b/keyboards/stront/keymaps/zzeneg/mcuconf.h new file mode 100644 index 00000000000..47ee67119de --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/stront/keymaps/zzeneg/rules.mk b/keyboards/stront/keymaps/zzeneg/rules.mk new file mode 100644 index 00000000000..26ddf778031 --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/rules.mk @@ -0,0 +1,17 @@ +# CONSOLE_ENABLE = yes + +EXTRAKEY_ENABLE = yes +MOUSEKEY_ENABLE = yes +CAPS_WORD_ENABLE = yes +ENCODER_MAP_ENABLE = yes +DYNAMIC_TAPPING_TERM_ENABLE = yes + +POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c + +RAW_ENABLE = yes + +SRC += zzeneg_display.c \ + fonts/montserrat_20_en_ru.c \ + fonts/montserrat_48_digits.c \ + icons/flag_uk.c \ + icons/flag_ru.c diff --git a/keyboards/stront/keymaps/zzeneg/zzeneg_display.c b/keyboards/stront/keymaps/zzeneg/zzeneg_display.c new file mode 100644 index 00000000000..d8d6f4d70be --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/zzeneg_display.c @@ -0,0 +1,242 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "zzeneg_display.h" +#include "display.h" +#include "raw_hid.h" +#include "lvgl_helpers.h" + +uint16_t home_screen_timer = 0; + +/* screens */ +static lv_obj_t *screen_home; +static lv_obj_t *screen_volume; +static lv_obj_t *screen_media; + +/* home screen content */ +static lv_obj_t *label_time; +static lv_obj_t *label_volume_home; +static lv_obj_t *label_shift; +static lv_obj_t *label_ctrl; +static lv_obj_t *label_alt; +static lv_obj_t *label_gui; +static lv_obj_t *label_layer; +static lv_obj_t *label_caps; +static lv_obj_t *label_caps_word; +static lv_obj_t *icon_layout; + +/* volume screen content */ +static lv_obj_t *arc_volume; +static lv_obj_t *label_volume_arc; + +/* media screen content */ +static lv_obj_t *label_media_artist; +static lv_obj_t *label_media_title; + +LV_IMG_DECLARE(flag_ru); +LV_IMG_DECLARE(flag_uk); +/* can be replaced with PL flag (update rules.mk as well) */ +// LV_IMG_DECLARE(flag_pl); + +enum layout { _EN = 0, _RU }; +void set_layout_icon(uint8_t layout) { + switch (layout) { + case _EN: + lv_img_set_src(icon_layout, &flag_uk); + break; + + case _RU: + lv_img_set_src(icon_layout, &flag_ru); + break; + } +} + +void read_string(uint8_t *data, char *string_data) { + uint8_t data_length = data[1]; + memcpy(string_data, data + 2, data_length); + string_data[data_length] = '\0'; +} + +void start_home_screen_timer(void) { + dprint("reset home screen\n"); + home_screen_timer = timer_read(); +} + +void init_screen_home_custom(void) { + screen_home = lv_scr_act(); + lv_obj_add_style(screen_home, &style_screen, 0); + use_flex_column(screen_home); + + label_volume_home = lv_label_create(screen_home); + lv_label_set_text(label_volume_home, ""); + + lv_obj_t *mods = lv_obj_create(screen_home); + lv_obj_add_style(mods, &style_container, 0); + use_flex_row(mods); + + label_gui = create_button(mods, "GUI", &style_button, &style_button_active); + label_alt = create_button(mods, "ALT", &style_button, &style_button_active); + label_ctrl = create_button(mods, "CTL", &style_button, &style_button_active); + label_shift = create_button(mods, "SFT", &style_button, &style_button_active); + + label_time = lv_label_create(screen_home); + lv_label_set_text(label_time, "00:00"); + lv_obj_set_style_text_font(label_time, &montserrat_48_digits, LV_PART_MAIN); + + lv_obj_t *caps = lv_obj_create(screen_home); + lv_obj_add_style(caps, &style_container, 0); + use_flex_row(caps); + + label_caps = create_button(caps, "CAPS", &style_button, &style_button_active); + label_caps_word = create_button(caps, "CAPS WORD", &style_button, &style_button_active); + + lv_obj_t *bottom_row = lv_obj_create(screen_home); + lv_obj_add_style(bottom_row, &style_container, 0); + + label_layer = lv_label_create(bottom_row); + lv_label_set_text(label_layer, ""); + lv_obj_align(label_layer, LV_ALIGN_LEFT_MID, 10, 0); + display_process_layer_state(0); + + icon_layout = lv_img_create(bottom_row); + lv_obj_set_style_radius(icon_layout, 4, 0); + lv_obj_set_style_clip_corner(icon_layout, true, 0); + lv_obj_align(icon_layout, LV_ALIGN_RIGHT_MID, -10, 0); +} + +void init_screen_volume(void) { + screen_volume = lv_obj_create(NULL); + lv_obj_add_style(screen_volume, &style_screen, 0); + + arc_volume = lv_arc_create(screen_volume); + lv_obj_set_size(arc_volume, 200, 200); + lv_obj_center(arc_volume); + + label_volume_arc = lv_label_create(screen_volume); + lv_label_set_text(label_volume_arc, "00"); + lv_obj_set_style_text_font(label_volume_arc, &montserrat_48_digits, LV_PART_MAIN); + lv_obj_center(label_volume_arc); + + lv_obj_t *volume_text_label = lv_label_create(screen_volume); + lv_label_set_text(volume_text_label, "Volume"); + lv_obj_align(volume_text_label, LV_ALIGN_BOTTOM_MID, 0, -10); +} + +void init_screen_media(void) { + screen_media = lv_obj_create(NULL); + lv_obj_add_style(screen_media, &style_screen, 0); + use_flex_column(screen_media); + lv_obj_set_flex_align(screen_media, LV_FLEX_ALIGN_SPACE_EVENLY, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); + + label_media_artist = lv_label_create(screen_media); + lv_label_set_text(label_media_artist, "N/A"); + lv_label_set_long_mode(label_media_artist, LV_LABEL_LONG_WRAP); + lv_obj_set_width(label_media_artist, lv_pct(90)); + lv_obj_set_style_text_align(label_media_artist, LV_TEXT_ALIGN_CENTER, 0); + + label_media_title = lv_label_create(screen_media); + lv_label_set_text(label_media_title, "N/A"); + lv_label_set_long_mode(label_media_title, LV_LABEL_LONG_WRAP); + lv_obj_set_width(label_media_title, lv_pct(90)); + lv_obj_set_style_text_align(label_media_title, LV_TEXT_ALIGN_CENTER, 0); +} + +bool display_init_user(void) { + init_screen_home_custom(); + init_screen_volume(); + init_screen_media(); + + return false; +} + +void display_process_raw_hid_data(uint8_t *data, uint8_t length) { + uint8_t data_type = data[0]; + char string_data[length - 2]; + dprintf("display_process_raw_hid_data - received data_type %u \n", data_type); + switch (data_type) { + case _TIME: + dprintf("time %02d:%02d\n", data[1], data[2]); + lv_label_set_text_fmt(label_time, "%02d:%02d", data[1], data[2]); + break; + + case _VOLUME: + dprintf("volume %d\n", data[1]); + lv_label_set_text_fmt(label_volume_home, "Volume: %02d%%", data[1]); + lv_label_set_text_fmt(label_volume_arc, "%02d", data[1]); + lv_arc_set_value(arc_volume, data[1]); + lv_scr_load(screen_volume); + start_home_screen_timer(); + break; + + case _LAYOUT: + dprintf("layout %d\n", data[1]); + set_layout_icon(data[1]); + break; + + case _MEDIA_ARTIST: + read_string(data, string_data); + dprintf("media artist %s\n", string_data); + lv_label_set_text(label_media_artist, string_data); + lv_scr_load(screen_media); + start_home_screen_timer(); + break; + + case _MEDIA_TITLE: + read_string(data, string_data); + dprintf("media title %s\n", string_data); + lv_label_set_text(label_media_title, string_data); + lv_scr_load(screen_media); + start_home_screen_timer(); + break; + } +} + +void display_process_layer_state(uint8_t layer) { + switch (layer) { + case _QWERTY: + lv_label_set_text(label_layer, "QWERTY"); + break; + case _GAME: + lv_label_set_text(label_layer, "GAME"); + break; + case _EU: + lv_label_set_text(label_layer, "EU"); + break; + case _NAV: + lv_label_set_text(label_layer, "NAV"); + break; + case _NUMBER: + lv_label_set_text(label_layer, "NUMBER"); + break; + case _SYMBOL: + lv_label_set_text(label_layer, "SYMBOL"); + break; + case _FUNC: + lv_label_set_text(label_layer, "FUNC"); + break; + case _SYS: + lv_label_set_text(label_layer, "SYSTEM"); + break; + } +} + +void display_housekeeping_task(void) { + if (home_screen_timer && timer_elapsed(home_screen_timer) > 5000) { + home_screen_timer = 0; + lv_scr_load(screen_home); + } + + toggle_state(label_shift, LV_STATE_PRESSED, MODS_SHIFT); + toggle_state(label_ctrl, LV_STATE_PRESSED, MODS_CTRL); + toggle_state(label_alt, LV_STATE_PRESSED, MODS_ALT); + toggle_state(label_gui, LV_STATE_PRESSED, MODS_GUI); +} + +void display_process_caps(bool active) { + toggle_state(label_caps, LV_STATE_PRESSED, active); +} + +void display_process_caps_word(bool active) { + dprint("display_process_caps_word\n"); + toggle_state(label_caps_word, LV_STATE_PRESSED, active); +} diff --git a/keyboards/stront/keymaps/zzeneg/zzeneg_display.h b/keyboards/stront/keymaps/zzeneg/zzeneg_display.h new file mode 100644 index 00000000000..22b36793f40 --- /dev/null +++ b/keyboards/stront/keymaps/zzeneg/zzeneg_display.h @@ -0,0 +1,27 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +typedef enum { + _QWERTY = 0, + _GAME, + _EU, + _NAV, + _NUMBER, + _SYMBOL, + _FUNC, + _SYS, +} layer_number; + +typedef enum { + _TIME = 0, + _VOLUME, + _LAYOUT, + _MEDIA_ARTIST, + _MEDIA_TITLE, +} hid_data_type; + +void display_process_raw_hid_data(uint8_t *data, uint8_t length); +void display_process_layer_state(uint8_t layer); +void display_process_caps_word(bool active); diff --git a/keyboards/stront/lv_conf.h b/keyboards/stront/lv_conf.h new file mode 100644 index 00000000000..57b093d500a --- /dev/null +++ b/keyboards/stront/lv_conf.h @@ -0,0 +1,18 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef LV_FONT_DEFAULT +#define LV_FONT_DEFAULT &lv_font_montserrat_28 + +#undef LV_FONT_MONTSERRAT_14 +#define LV_FONT_MONTSERRAT_14 0 + +#undef LV_FONT_MONTSERRAT_28 +#define LV_FONT_MONTSERRAT_28 1 + +#undef LV_FONT_MONTSERRAT_48 +#define LV_FONT_MONTSERRAT_48 1 diff --git a/keyboards/stront/lvgl_helpers.c b/keyboards/stront/lvgl_helpers.c new file mode 100644 index 00000000000..f4f06983215 --- /dev/null +++ b/keyboards/stront/lvgl_helpers.c @@ -0,0 +1,113 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "lvgl_helpers.h" + +lv_obj_t *create_button(lv_obj_t *parent, const char *text, lv_style_t *style, lv_style_t *style_pressed) { + lv_obj_t *label = lv_label_create(parent); + lv_label_set_text(label, text); + lv_obj_add_style(label, style, 0); + lv_obj_add_style(label, style_pressed, LV_STATE_PRESSED); + return label; +} + +void use_flex_row(void *obj) { + lv_obj_set_layout(obj, LV_LAYOUT_FLEX); + lv_obj_set_flex_flow(obj, LV_FLEX_FLOW_ROW); + lv_obj_set_flex_align(obj, LV_FLEX_ALIGN_SPACE_AROUND, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); +} + +void use_flex_column(void *obj) { + lv_obj_set_layout(obj, LV_LAYOUT_FLEX); + lv_obj_set_flex_flow(obj, LV_FLEX_FLOW_COLUMN); + lv_obj_set_flex_align(obj, LV_FLEX_ALIGN_SPACE_AROUND, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER); +} + +void toggle_state(void *obj, lv_state_t state, bool enabled) { + if (enabled) { + lv_obj_add_state(obj, state); + } else { + lv_obj_clear_state(obj, state); + } +} + +void toggle_hidden(void *obj, bool visible) { + if (visible) { + lv_obj_clear_flag(obj, LV_OBJ_FLAG_HIDDEN); + } else { + lv_obj_add_flag(obj, LV_OBJ_FLAG_HIDDEN); + } +} + +void resize_font(void *label, int32_t font_size) { + dprintf("font size %ld\n", font_size); +#if LV_FONT_MONTSERRAT_8 + if (font_size == 8) return lv_obj_set_style_text_font(label, &lv_font_montserrat_8, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_10 + if (font_size <= 10) return lv_obj_set_style_text_font(label, &lv_font_montserrat_8, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_12 + if (font_size <= 12) return lv_obj_set_style_text_font(label, &lv_font_montserrat_12, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_14 + if (font_size <= 14) return lv_obj_set_style_text_font(label, &lv_font_montserrat_14, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_16 + if (font_size <= 16) return lv_obj_set_style_text_font(label, &lv_font_montserrat_16, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_18 + if (font_size <= 18) return lv_obj_set_style_text_font(label, &lv_font_montserrat_18, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_20 + if (font_size <= 20) return lv_obj_set_style_text_font(label, &lv_font_montserrat_20, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_22 + if (font_size <= 22) return lv_obj_set_style_text_font(label, &lv_font_montserrat_22, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_24 + if (font_size <= 24) return lv_obj_set_style_text_font(label, &lv_font_montserrat_24, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_26 + if (font_size <= 26) return lv_obj_set_style_text_font(label, &lv_font_montserrat_26, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_28 + if (font_size <= 28) return lv_obj_set_style_text_font(label, &lv_font_montserrat_28, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_30 + if (font_size <= 30) return lv_obj_set_style_text_font(label, &lv_font_montserrat_30, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_32 + if (font_size <= 32) return lv_obj_set_style_text_font(label, &lv_font_montserrat_32, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_34 + if (font_size <= 34) return lv_obj_set_style_text_font(label, &lv_font_montserrat_34, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_36 + if (font_size <= 36) return lv_obj_set_style_text_font(label, &lv_font_montserrat_36, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_38 + if (font_size <= 38) return lv_obj_set_style_text_font(label, &lv_font_montserrat_38, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_40 + if (font_size <= 40) return lv_obj_set_style_text_font(label, &lv_font_montserrat_40, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_42 + if (font_size <= 42) return lv_obj_set_style_text_font(label, &lv_font_montserrat_42, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_44 + if (font_size <= 44) return lv_obj_set_style_text_font(label, &lv_font_montserrat_44, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_46 + if (font_size <= 46) return lv_obj_set_style_text_font(label, &lv_font_montserrat_46, LV_PART_MAIN); +#endif +#if LV_FONT_MONTSERRAT_48 + if (font_size <= 48) return lv_obj_set_style_text_font(label, &lv_font_montserrat_48, LV_PART_MAIN); +#endif +} + +void debug_set_obj_border(lv_obj_t *obj) { + lv_color_t red = lv_color_hex(0xFF0000); + lv_obj_set_style_border_color(obj, red, 0); + lv_obj_set_style_border_width(obj, 1, 0); +} diff --git a/keyboards/stront/lvgl_helpers.h b/keyboards/stront/lvgl_helpers.h new file mode 100644 index 00000000000..671f6cccd2d --- /dev/null +++ b/keyboards/stront/lvgl_helpers.h @@ -0,0 +1,13 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "qp_lvgl.h" + +lv_obj_t *create_button(lv_obj_t *parent, const char *text, lv_style_t *style, lv_style_t *style_pressed); + +void use_flex_row(void *obj); +void use_flex_column(void *obj); +void toggle_state(void *obj, lv_state_t state, bool enabled); +void toggle_hidden(void *obj, bool visible); +void resize_font(void *label, int32_t v); +void debug_set_obj_border(lv_obj_t *obj); diff --git a/keyboards/stront/mcuconf.h b/keyboards/stront/mcuconf.h new file mode 100644 index 00000000000..f35384aa286 --- /dev/null +++ b/keyboards/stront/mcuconf.h @@ -0,0 +1,12 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef RP_SPI_USE_SPI1 +#define RP_SPI_USE_SPI1 TRUE + +#undef RP_PWM_USE_PWM7 +#define RP_PWM_USE_PWM7 TRUE diff --git a/keyboards/stront/readme.md b/keyboards/stront/readme.md new file mode 100644 index 00000000000..1da6f0bdd1a --- /dev/null +++ b/keyboards/stront/readme.md @@ -0,0 +1,45 @@ +# stront + +![stront](https://i.imgur.com/FOPnWhch.jpg) + +Split keyboard with 38 keys, LCD display and Cirque trackpad. + +- Keyboard Maintainer: [zzeneg](https://github.com/zzeneg) +- Hardware Supported: Stront PCBs, Waveshare RP2040 Zero +- Hardware Availability: [GitHub](https://github.com/zzeneg/stront) + +Make example for this keyboard (after setting up your build environment): + + make stront:default + +Flashing example for this keyboard: + + make stront: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). + +## Keymaps + +- `default` - sample keymap with home row mods. Not recommended for longer use - create your own. +- `hid` - default keymap with HID support. Requires additional software running on computer, see https://github.com/zzeneg/qmk-hid-host. +- `i2c` - default keymap with I2C Cirque instead of default SPI +- `zzeneg` - my highly customized layout, you can use as a reference + +Keymaps have [EE_HANDS](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom) enabled, so any side can be master (though using side with touchpad as master is recommended). You have to specify left/right side by flashing with different commands: + +`qmk flash -kb stront -km default -bl uf2-split-left` + +or + +`qmk flash -kb stront -km default -bl uf2-split-right` + +If your keyboard is flashed already, you can do it by pressing key combinations - hold inner thumb key, then hold outer thumb key to activate SYSTEM layer. Now press outer bottom pinky key for left side or inner bottom index key for right side. See [keymap](./keymaps/default/keymap.c) for better understanding. Reconnect the keyboard to apply changes. + +## Bootloader + +Enter the bootloader in 2 ways: + +- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (outer top pinky key) and plug in the keyboard +- **Keycode in layout**: Press the key mapped to `QK_BOOT` - by default you need to hold inner thumb key, then hold outer thumb key and press middle thumb key (see [keymap.c](./keymaps/default/keymap.c) for details). It's a complicated combination to avoid accidental activations. + +RP2040 Zero has physical boot/reset buttons but they are unaccessible after the keyboards is assembled, so always keep a `QK_BOOT` key and/or bootmagic feature in your keymaps. diff --git a/keyboards/stront/rules.mk b/keyboards/stront/rules.mk new file mode 100644 index 00000000000..940a592d11d --- /dev/null +++ b/keyboards/stront/rules.mk @@ -0,0 +1,12 @@ +SERIAL_DRIVER = vendor +WS2812_DRIVER = vendor + +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = cirque_pinnacle_spi + +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += st7789_spi +QUANTUM_PAINTER_LVGL_INTEGRATION = yes + +SRC += lvgl_helpers.c \ + display.c diff --git a/keyboards/stront/stront.c b/keyboards/stront/stront.c new file mode 100644 index 00000000000..dc1f588c9b8 --- /dev/null +++ b/keyboards/stront/stront.c @@ -0,0 +1,61 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "stront.h" +#include "display.h" + +static bool display_enabled; + +/* public function to be used in keymaps */ +bool is_display_enabled(void) { + return display_enabled; +} + +/* default encoder keys */ +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + if (index == 0) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } else if (index == 1) { + if (clockwise) { + tap_code_delay(KC_RIGHT, 10); + } else { + tap_code_delay(KC_LEFT, 10); + } + } + return true; +} + +/* Caps Lock processing */ +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res && display_enabled) { + display_process_caps(led_state.caps_lock); + } + + return res; +} + +void housekeeping_task_kb(void) { + if (display_enabled) { + display_housekeeping_task(); + } + + housekeeping_task_user(); +} + +void keyboard_post_init_kb(void) { + display_enabled = false; + + if (is_keyboard_left()) { + display_enabled = display_init_kb(); + } + + keyboard_post_init_user(); +} diff --git a/keyboards/stront/stront.h b/keyboards/stront/stront.h new file mode 100644 index 00000000000..9ca618a6fbb --- /dev/null +++ b/keyboards/stront/stront.h @@ -0,0 +1,6 @@ +// Copyright 2023 zzeneg (@zzeneg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +bool is_display_enabled(void); diff --git a/keyboards/studiokestra/bourgeau/config.h b/keyboards/studiokestra/bourgeau/config.h index 04f426d913f..f4ede5dacfb 100644 --- a/keyboards/studiokestra/bourgeau/config.h +++ b/keyboards/studiokestra/bourgeau/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 24 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/studiokestra/bourgeau/info.json b/keyboards/studiokestra/bourgeau/info.json index 835b0e60a86..8c9fc1586cb 100644 --- a/keyboards/studiokestra/bourgeau/info.json +++ b/keyboards/studiokestra/bourgeau/info.json @@ -8,6 +8,12 @@ "pid": "0x7501", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/studiokestra/cascade/config.h b/keyboards/studiokestra/cascade/config.h index 12337a485d5..90f135d7d37 100644 --- a/keyboards/studiokestra/cascade/config.h +++ b/keyboards/studiokestra/cascade/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/studiokestra/cascade/info.json b/keyboards/studiokestra/cascade/info.json index 3f48e07c1f6..200db6a0d24 100644 --- a/keyboards/studiokestra/cascade/info.json +++ b/keyboards/studiokestra/cascade/info.json @@ -8,6 +8,12 @@ "pid": "0x6001", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/studiokestra/frl84/config.h b/keyboards/studiokestra/frl84/config.h index df0bf3307b7..1d758912128 100644 --- a/keyboards/studiokestra/frl84/config.h +++ b/keyboards/studiokestra/frl84/config.h @@ -3,11 +3,6 @@ #pragma once -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/studiokestra/frl84/info.json b/keyboards/studiokestra/frl84/info.json index af0e3407838..e28e5be7fa4 100644 --- a/keyboards/studiokestra/frl84/info.json +++ b/keyboards/studiokestra/frl84/info.json @@ -21,7 +21,11 @@ "pin": "B0" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "url": "", diff --git a/keyboards/studiokestra/galatea/rev2/config.h b/keyboards/studiokestra/galatea/rev2/config.h index 7199179a4de..c7a2fb8f48c 100644 --- a/keyboards/studiokestra/galatea/rev2/config.h +++ b/keyboards/studiokestra/galatea/rev2/config.h @@ -3,11 +3,6 @@ #pragma once -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/studiokestra/galatea/rev2/info.json b/keyboards/studiokestra/galatea/rev2/info.json index a050f88d7dc..3520f509214 100644 --- a/keyboards/studiokestra/galatea/rev2/info.json +++ b/keyboards/studiokestra/galatea/rev2/info.json @@ -33,7 +33,11 @@ "pin": "D4" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 24, + "max_brightness": 200, + "sleep": true }, "layouts": { "LAYOUT": { diff --git a/keyboards/suavity/ehan/rules.mk b/keyboards/suavity/ehan/rules.mk index e7b278b4b23..5a44d1732f8 100644 --- a/keyboards/suavity/ehan/rules.mk +++ b/keyboards/suavity/ehan/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/swiftrax/retropad/config.h b/keyboards/swiftrax/retropad/config.h index b737022959d..e6934e4b646 100644 --- a/keyboards/swiftrax/retropad/config.h +++ b/keyboards/swiftrax/retropad/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /*EEPROM for via*/ #define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/swiftrax/retropad/info.json b/keyboards/swiftrax/retropad/info.json index 57ce8bd79e4..b60323c9b0a 100644 --- a/keyboards/swiftrax/retropad/info.json +++ b/keyboards/swiftrax/retropad/info.json @@ -21,6 +21,11 @@ "bootmagic": { "matrix": [1, 0] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/switchplate/southpaw_65/config.h b/keyboards/switchplate/southpaw_65/config.h index 790d70d9c81..0019dc79e9b 100644 --- a/keyboards/switchplate/southpaw_65/config.h +++ b/keyboards/switchplate/southpaw_65/config.h @@ -21,7 +21,6 @@ #define MATRIX_ROWS 5 #define MATRIX_COLS 19 -#define RGBLED_NUM 9 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/switchplate/southpaw_65/info.json b/keyboards/switchplate/southpaw_65/info.json index 245b3ab02a7..4c0764bb877 100644 --- a/keyboards/switchplate/southpaw_65/info.json +++ b/keyboards/switchplate/southpaw_65/info.json @@ -12,6 +12,9 @@ "pin": "B5", "levels": 10 }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/synthlabs/solo/config.h b/keyboards/synthlabs/solo/config.h index 71170a12cea..779b85a7c33 100644 --- a/keyboards/synthlabs/solo/config.h +++ b/keyboards/synthlabs/solo/config.h @@ -3,9 +3,6 @@ #pragma once -#define ENCODERS_CW_KEY { { 2, 1 } } -#define ENCODERS_CCW_KEY { { 0, 1 } } - #define JOYSTICK_BUTTON_COUNT 13 #define JOYSTICK_AXIS_COUNT 1 #define JOYSTICK_AXIS_RESOLUTION 16 diff --git a/keyboards/synthlabs/solo/info.json b/keyboards/synthlabs/solo/info.json index 168d2d06dc2..2076fa3e772 100644 --- a/keyboards/synthlabs/solo/info.json +++ b/keyboards/synthlabs/solo/info.json @@ -36,11 +36,7 @@ {"label": "P2 5", "x": 5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 4]}, {"label": "P1 6", "x": 5.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 5]}, {"label": "P2 7", "x": 6, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 6]}, - - {"label": "Knob CCW", "x": 0, "y": 1.25, "w": 0.5, "matrix": [1, 0]}, - {"label": "Knob Press", "x": 0.5, "y": 1, "w": 1.5, "h": 1.5, "matrix": [1, 1]}, - {"label": "Knob CW", "x": 2, "y": 1.25, "w": 0.5, "matrix": [1, 2]}, - + {"label":"Knob Press", "x":0.5, "y":1, "w":1.5, "h":1.5, "matrix":[1,1]}, {"label": "P1 1", "x": 3, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 0]}, {"label": "P2 2", "x": 3.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 1]}, {"label": "P1 3", "x": 4, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 2]}, @@ -55,11 +51,7 @@ {"label": "P1 2", "x": 3.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 1]}, {"label": "P1 4", "x": 4.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 3]}, {"label": "P1 6", "x": 5.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 5]}, - - {"label": "Knob CCW", "x": 0, "y": 1.25, "w": 0.5, "matrix": [1, 0]}, - {"label": "Knob Press", "x": 0.5, "y": 1, "w": 1.5, "h": 1.5, "matrix": [1, 1]}, - {"label": "Knob CW", "x": 2, "y": 1.25, "w": 0.5, "matrix": [1, 2]}, - + {"label":"Knob Press", "x":0.5, "y":1, "w":1.5, "h":1.5, "matrix":[1,1]}, {"label": "P1 1", "x": 3, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 0]}, {"label": "P1 3", "x": 4, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 2]}, {"label": "P1 5", "x": 5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 4]}, @@ -71,11 +63,7 @@ {"label": "P2 6", "x": 0.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [2, 5]}, {"label": "P2 4", "x": 1.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [2, 3]}, {"label": "P2 2", "x": 2.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [2, 1]}, - - {"label": "Knob CCW", "x": 4, "y": 1.25, "w": 0.5, "matrix": [1, 0]}, - {"label": "Knob Press", "x": 4.5, "y": 1, "w": 1.5, "h": 1.5, "matrix": [1, 1]}, - {"label": "Knob CW", "x": 6, "y": 1.25, "w": 0.5, "matrix": [1, 2]}, - + {"label":"Knob Press", "x":4.5, "y":1, "w":1.5, "h":1.5, "matrix":[1,1]}, {"label": "P2 7", "x": 0, "y": 2, "w": 0.5, "h": 1.5, "matrix": [0, 6]}, {"label": "P2 5", "x": 1, "y": 2, "w": 0.5, "h": 1.5, "matrix": [0, 4]}, {"label": "P2 3", "x": 2, "y": 2, "w": 0.5, "h": 1.5, "matrix": [0, 2]}, diff --git a/keyboards/synthlabs/solo/keymaps/default/keymap.c b/keyboards/synthlabs/solo/keymaps/default/keymap.c index fa54111fe86..2d7313b77e0 100644 --- a/keyboards/synthlabs/solo/keymaps/default/keymap.c +++ b/keyboards/synthlabs/solo/keymaps/default/keymap.c @@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( KC_J, KC_U, KC_K, KC_I, KC_L, KC_O, KC_SCLN, - _______, KC_MUTE, _______, + KC_MUTE, KC_J, KC_U, KC_K, KC_I, KC_L, KC_O, KC_SCLN ) }; diff --git a/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c index f450769b432..7bafe6b191c 100644 --- a/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c +++ b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c @@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( JS_0,JS_1,JS_2,JS_3,JS_4,JS_5,JS_6, - KC_NO, JS_7, KC_NO, + JS_7, JS_0,JS_1,JS_2,JS_3,JS_4,JS_5,JS_6 ) }; diff --git a/keyboards/synthlabs/solo/keymaps/via/keymap.c b/keyboards/synthlabs/solo/keymaps/via/keymap.c index 84f99df9abb..8f107f8a104 100644 --- a/keyboards/synthlabs/solo/keymaps/via/keymap.c +++ b/keyboards/synthlabs/solo/keymaps/via/keymap.c @@ -6,64 +6,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( KC_J, KC_U, KC_K, KC_I, KC_L, KC_O, KC_SCLN, - KC_VOLD, KC_MUTE, KC_VOLU, + KC_MUTE, KC_J, KC_U, KC_K, KC_I, KC_L, KC_O, KC_SCLN ), [1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ) }; -#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE) -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_user(void) { - encoder_action_unregister(); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return false; -} - +#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 diff --git a/keyboards/synthlabs/solo/keymaps/via/rules.mk b/keyboards/synthlabs/solo/keymaps/via/rules.mk index 1e5b99807cb..f1adcab005e 100644 --- a/keyboards/synthlabs/solo/keymaps/via/rules.mk +++ b/keyboards/synthlabs/solo/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/synthlabs/solo/solo.c b/keyboards/synthlabs/solo/solo.c deleted file mode 100644 index aca82c9ea38..00000000000 --- a/keyboards/synthlabs/solo/solo.c +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2022 Aaron Hong (@hongaaronc) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "quantum.h" - -#if !defined(VIA_ENABLE) && !defined(JOYSTICK_ENABLE) && defined(ENCODER_ENABLE) -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - if (index == 0) { - if (clockwise) { - tap_code_delay(KC_VOLU, 10); - } else { - tap_code_delay(KC_VOLD, 10); - } - } - return true; -} -#endif diff --git a/keyboards/takashicompany/baumkuchen/baumkuchen.c b/keyboards/takashicompany/baumkuchen/baumkuchen.c new file mode 100644 index 00000000000..7d4f26b73e8 --- /dev/null +++ b/keyboards/takashicompany/baumkuchen/baumkuchen.c @@ -0,0 +1,19 @@ +// Copyright 2023 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +bool encoder_update_kb(uint8_t index, bool clockwise) { + + if (!encoder_update_user(index, clockwise)) { + return false; + } + + if (clockwise) { + tap_code(KC_WH_D); + } else { + tap_code(KC_WH_U); + } + + return true; +} \ No newline at end of file diff --git a/keyboards/takashicompany/baumkuchen/info.json b/keyboards/takashicompany/baumkuchen/info.json new file mode 100644 index 00000000000..e2318348827 --- /dev/null +++ b/keyboards/takashicompany/baumkuchen/info.json @@ -0,0 +1,75 @@ +{ + "manufacturer": "takashicompany", + "keyboard_name": "Baumkuchen", + "maintainer": "takashicompany", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + { + "pin_a": "D1", + "pin_b": "D0" + } + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "direct": [ + ["B2", "B6", "D4", "C6", "F4", "F5", "D7", "E6", "F6", "F7", "B1", "B3", "B4", "B5", "B5"] + ] + }, + "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": 6, + }, + "ws2812": { + "pin": "D3" + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0045", + "vid": "0x7463" + }, + "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": 0, "y": 1 }, + { "matrix": [0, 5], "x": 1, "y": 1 }, + { "matrix": [0, 6], "x": 2, "y": 1 }, + { "matrix": [0, 7], "x": 3, "y": 1 }, + { "matrix": [0, 8], "x": 0, "y": 2 }, + { "matrix": [0, 9], "x": 1, "y": 2 }, + { "matrix": [0, 10], "x": 2, "y": 2 }, + { "matrix": [0, 11], "x": 3, "y": 2 }, + { "matrix": [0, 12], "x": 4, "y": 2 }, + { "matrix": [0, 13], "x": 3.5, "y": 3.25 }, + { "matrix": [0, 14], "x": 4.5, "y": 3.25 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/takashicompany/baumkuchen/keymaps/build_test/keymap.c b/keyboards/takashicompany/baumkuchen/keymaps/build_test/keymap.c new file mode 100644 index 00000000000..b99d3a3592b --- /dev/null +++ b/keyboards/takashicompany/baumkuchen/keymaps/build_test/keymap.c @@ -0,0 +1,33 @@ +// Copyright 2023 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, + KC_A, KC_S, KC_D, KC_F, + KC_Z, KC_X, KC_C, KC_V, KC_B, + KC_NO, KC_NO + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + if (record->event.pressed) { + rgblight_toggle_noeeprom(); // for test + } + + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + + if (clockwise) { + tap_code(KC_1); + } else { + tap_code(KC_2); + } + + return false; +} diff --git a/keyboards/takashicompany/baumkuchen/keymaps/default/keymap.c b/keyboards/takashicompany/baumkuchen/keymaps/default/keymap.c new file mode 100644 index 00000000000..7ea01cbd5d3 --- /dev/null +++ b/keyboards/takashicompany/baumkuchen/keymaps/default/keymap.c @@ -0,0 +1,19 @@ +// Copyright 2023 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, + KC_A, KC_S, KC_D, KC_F, + KC_Z, KC_X, KC_C, LT(1, KC_V), KC_B, + KC_NO, KC_NO + ), + [1] = LAYOUT( + RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/takashicompany/baumkuchen/keymaps/via/config.h b/keyboards/takashicompany/baumkuchen/keymaps/via/config.h new file mode 100644 index 00000000000..1017b9cb4bd --- /dev/null +++ b/keyboards/takashicompany/baumkuchen/keymaps/via/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 29 diff --git a/keyboards/takashicompany/baumkuchen/keymaps/via/keymap.c b/keyboards/takashicompany/baumkuchen/keymaps/via/keymap.c new file mode 100644 index 00000000000..1e4624ca883 --- /dev/null +++ b/keyboards/takashicompany/baumkuchen/keymaps/via/keymap.c @@ -0,0 +1,28 @@ +// Copyright 2023 takashicompany (@takashicompany) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + LT(1, KC_ESC), KC_Q, KC_W, KC_E, + KC_TAB, KC_A, KC_S, KC_D, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, + KC_WH_U, KC_WH_D + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, + KC_TRNS,KC_TRNS + ), + + [2] = LAYOUT( + RGB_TOG, RGB_MOD, KC_TRNS, QK_BOOT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS,KC_TRNS + ) +}; diff --git a/keyboards/takashicompany/baumkuchen/keymaps/via/rules.mk b/keyboards/takashicompany/baumkuchen/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/takashicompany/baumkuchen/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/takashicompany/baumkuchen/readme.md b/keyboards/takashicompany/baumkuchen/readme.md new file mode 100644 index 00000000000..adc3f2e0064 --- /dev/null +++ b/keyboards/takashicompany/baumkuchen/readme.md @@ -0,0 +1,31 @@ +# Baumkuchen + +![takashicompany/baumkuchen](https://i.imgur.com/NS39x44h.png) + +Baumkuchen is a 13-key macropad with a radial key layout. +The board can be used as a circuit or as a switch plate by cutting out the keyswitch Pro Micro part. +It is compatible with Cherry MX compatible keyswitches, and a rotary encoder can be optionally installed. +LEDs can also be mounted to make it glow. +The board is reversible, allowing you to choose the arrangement of keys and Pro Micro according to your usage style. + +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) +* Hardware Supported: Baumkuchen PCB, Pro Micro +* Hardware Availability: https://github.com/takashicompany/baumkuchen + +Make example for this keyboard (after setting up your build environment): + + make takashicompany/baumkuchen:default + +Flashing example for this keyboard: + + make takashicompany/baumkuchen: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/takashicompany/baumkuchen/rules.mk b/keyboards/takashicompany/baumkuchen/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/takashicompany/baumkuchen/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/takashicompany/center_enter/config.h b/keyboards/takashicompany/center_enter/config.h index 83952009e56..db24eec2fca 100644 --- a/keyboards/takashicompany/center_enter/config.h +++ b/keyboards/takashicompany/center_enter/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 6 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/takashicompany/center_enter/info.json b/keyboards/takashicompany/center_enter/info.json index 3521b242181..f0c0068e932 100644 --- a/keyboards/takashicompany/center_enter/info.json +++ b/keyboards/takashicompany/center_enter/info.json @@ -8,6 +8,12 @@ "pid": "0x0012", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/takashicompany/compacx/config.h b/keyboards/takashicompany/compacx/config.h index 34ab4a1239c..9d9d494c849 100644 --- a/keyboards/takashicompany/compacx/config.h +++ b/keyboards/takashicompany/compacx/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 12 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/takashicompany/compacx/info.json b/keyboards/takashicompany/compacx/info.json index 4c134f31458..0446ac24bba 100644 --- a/keyboards/takashicompany/compacx/info.json +++ b/keyboards/takashicompany/compacx/info.json @@ -9,6 +9,10 @@ "device_version": "0.0.1" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/takashicompany/dogtag/dogtag.c b/keyboards/takashicompany/dogtag/dogtag.c deleted file mode 100644 index 0ca5f7c3e89..00000000000 --- a/keyboards/takashicompany/dogtag/dogtag.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2021 takashicompany - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public 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" - -bool encoder_update_kb(uint8_t index, bool clockwise) { - keypos_t key; - if (index == 0) { - if (clockwise) { - key.row = 2; - key.col = 1; - } else { - key.row = 2; - key.col = 0; - } - uint8_t layer = layer_switch_get_layer(key); - uint16_t keycode = keymap_key_to_keycode(layer, key); - - tap_code16(keycode); - } else { - if (clockwise) { - key.row = 5; - key.col = 0; - } else { - key.row = 5; - key.col = 1; - } - uint8_t layer = layer_switch_get_layer(key); - uint16_t keycode = keymap_key_to_keycode(layer, key); - - tap_code16(keycode); - } - - return true; -} diff --git a/keyboards/takashicompany/dogtag/info.json b/keyboards/takashicompany/dogtag/info.json index 6827375d840..d65092ecca2 100644 --- a/keyboards/takashicompany/dogtag/info.json +++ b/keyboards/takashicompany/dogtag/info.json @@ -80,13 +80,7 @@ {"matrix": [4, 1], "x": 8, "y": 1}, {"matrix": [4, 2], "x": 9, "y": 1}, {"matrix": [4, 3], "x": 10, "y": 1}, - {"matrix": [4, 4], "x": 11, "y": 1}, - - {"matrix": [2, 0], "x": 3.5, "y": 3.25}, - {"matrix": [2, 1], "x": 4.5, "y": 3.25}, - - {"matrix": [5, 0], "x": 6.5, "y": 3.25}, - {"matrix": [5, 1], "x": 7.5, "y": 3.25} + {"matrix": [4, 4], "x": 11, "y": 1} ] } } diff --git a/keyboards/takashicompany/dogtag/keymaps/default/keymap.c b/keyboards/takashicompany/dogtag/keymaps/default/keymap.c index 865e6a2290c..8eb6b433b3a 100644 --- a/keyboards/takashicompany/dogtag/keymaps/default/keymap.c +++ b/keyboards/takashicompany/dogtag/keymaps/default/keymap.c @@ -16,15 +16,20 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT( + [0] = LAYOUT( LT(1, KC_ESC), KC_Q, KC_W, KC_E, KC_Y, KC_U, KC_I, KC_O, - KC_LSFT, KC_A, KC_S, KC_D, KC_SPC, KC_TAB, KC_H, KC_J, KC_K, KC_L, - KC_WH_U, KC_WH_D, KC_WH_U, KC_WH_D + KC_LSFT, KC_A, KC_S, KC_D, KC_SPC, KC_TAB, KC_H, KC_J, KC_K, KC_L ), - LAYOUT( + [1] = LAYOUT( KC_TRNS, RGB_MOD, RGB_HUI, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_M_P, RGB_M_K, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_WH_L, KC_WH_R, KC_WH_L, KC_WH_R + KC_TRNS, RGB_M_P, RGB_M_K, RGB_TOG, 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] = { + [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/takashicompany/dogtag/keymaps/default/rules.mk b/keyboards/takashicompany/dogtag/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/takashicompany/dogtag/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/takashicompany/dogtag/keymaps/via/keymap.c b/keyboards/takashicompany/dogtag/keymaps/via/keymap.c index 865e6a2290c..969aec92a59 100644 --- a/keyboards/takashicompany/dogtag/keymaps/via/keymap.c +++ b/keyboards/takashicompany/dogtag/keymaps/via/keymap.c @@ -18,13 +18,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( LT(1, KC_ESC), KC_Q, KC_W, KC_E, KC_Y, KC_U, KC_I, KC_O, - KC_LSFT, KC_A, KC_S, KC_D, KC_SPC, KC_TAB, KC_H, KC_J, KC_K, KC_L, - KC_WH_U, KC_WH_D, KC_WH_U, KC_WH_D + KC_LSFT, KC_A, KC_S, KC_D, KC_SPC, KC_TAB, KC_H, KC_J, KC_K, KC_L ), LAYOUT( KC_TRNS, RGB_MOD, RGB_HUI, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_M_P, RGB_M_K, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_WH_L, KC_WH_R, KC_WH_L, KC_WH_R + KC_TRNS, RGB_M_P, RGB_M_K, RGB_TOG, 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] = { + [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/takashicompany/dogtag/keymaps/via/rules.mk b/keyboards/takashicompany/dogtag/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/takashicompany/dogtag/keymaps/via/rules.mk +++ b/keyboards/takashicompany/dogtag/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/takashicompany/endzone34/config.h b/keyboards/takashicompany/endzone34/config.h index ccd72051a7f..0ed1f943249 100644 --- a/keyboards/takashicompany/endzone34/config.h +++ b/keyboards/takashicompany/endzone34/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 9 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== all animations enable ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/takashicompany/endzone34/info.json b/keyboards/takashicompany/endzone34/info.json index 8eb5b4dd571..536abee80d7 100644 --- a/keyboards/takashicompany/endzone34/info.json +++ b/keyboards/takashicompany/endzone34/info.json @@ -8,6 +8,12 @@ "pid": "0x0006", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 9, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/takashicompany/heavy_left/config.h b/keyboards/takashicompany/heavy_left/config.h index cee347fc78d..0617a5c602e 100644 --- a/keyboards/takashicompany/heavy_left/config.h +++ b/keyboards/takashicompany/heavy_left/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 6 * 2 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/takashicompany/heavy_left/info.json b/keyboards/takashicompany/heavy_left/info.json index 3b677feebfb..ffdd1d400ae 100644 --- a/keyboards/takashicompany/heavy_left/info.json +++ b/keyboards/takashicompany/heavy_left/info.json @@ -9,6 +9,10 @@ "device_version": "0.0.1" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/takashicompany/minizone/config.h b/keyboards/takashicompany/minizone/config.h index 2c494ea329f..6f2f5bf6986 100644 --- a/keyboards/takashicompany/minizone/config.h +++ b/keyboards/takashicompany/minizone/config.h @@ -3,11 +3,6 @@ #pragma once -# define RGBLED_NUM 11 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/takashicompany/minizone/info.json b/keyboards/takashicompany/minizone/info.json index 806a255bcb4..b6e8266f81a 100644 --- a/keyboards/takashicompany/minizone/info.json +++ b/keyboards/takashicompany/minizone/info.json @@ -8,6 +8,12 @@ "pid": "0x0021", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 11, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/takashicompany/qoolee/config.h b/keyboards/takashicompany/qoolee/config.h index 83952009e56..db24eec2fca 100644 --- a/keyboards/takashicompany/qoolee/config.h +++ b/keyboards/takashicompany/qoolee/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 6 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/takashicompany/qoolee/info.json b/keyboards/takashicompany/qoolee/info.json index c9aacaabc2b..d39f22d9289 100644 --- a/keyboards/takashicompany/qoolee/info.json +++ b/keyboards/takashicompany/qoolee/info.json @@ -8,6 +8,12 @@ "pid": "0x0013", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/takashicompany/radialex/config.h b/keyboards/takashicompany/radialex/config.h index 34ab4a1239c..9d9d494c849 100644 --- a/keyboards/takashicompany/radialex/config.h +++ b/keyboards/takashicompany/radialex/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 12 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/takashicompany/radialex/info.json b/keyboards/takashicompany/radialex/info.json index d6852033b1f..1cc0124ecc6 100644 --- a/keyboards/takashicompany/radialex/info.json +++ b/keyboards/takashicompany/radialex/info.json @@ -8,6 +8,12 @@ "pid": "0x0019", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/takashicompany/spreadwriter/info.json b/keyboards/takashicompany/spreadwriter/info.json index 1ab624ebcd2..da5a95b8957 100644 --- a/keyboards/takashicompany/spreadwriter/info.json +++ b/keyboards/takashicompany/spreadwriter/info.json @@ -105,9 +105,7 @@ {"matrix": [7, 3], "x": 12, "y": 3}, {"matrix": [7, 4], "x": 13, "y": 3.25}, {"matrix": [7, 5], "x": 14, "y": 3.5}, - {"matrix": [7, 6], "x": 15, "y": 3.5}, - {"matrix": [0, 6], "x": 7, "y": 4.25}, - {"matrix": [4, 0], "x": 8, "y": 4.25} + {"matrix": [7, 6], "x": 15, "y": 3.5} ] } } diff --git a/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c b/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c index f0ac6aa00b4..fb74b6ee307 100644 --- a/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c +++ b/keyboards/takashicompany/spreadwriter/keymaps/default/keymap.c @@ -13,56 +13,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, LT(2, 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, LT(2, KC_D), KC_F, KC_G, SPREADWRITER, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT, KC_ENT, KC_LSFT, SFT_T(KC_Z), GUI_T(KC_X), KC_C, KC_V, KC_B, MEH(KC_4), LSA(KC_5), KC_N, KC_M, KC_COMM, CTL_T(KC_DOT), KC_BSPC, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, MO(5), MO(4), ALT_T(KC_LNG2), SFT_T(KC_TAB), WEB, LT(6, KC_SPC), LT(1, KC_LNG1), KC_RALT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, - KC_WH_U, KC_WH_D + KC_LCTL, KC_LGUI, KC_LALT, MO(5), MO(4), ALT_T(KC_LNG2), SFT_T(KC_TAB), WEB, LT(6, KC_SPC), LT(1, KC_LNG1), KC_RALT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT ), LAYOUT( KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_LCTL, CTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), LAYOUT( KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(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, - KC_BSPC, KC_SPC + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), LAYOUT( RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, QK_BOOT, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, QK_BOOT, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), LAYOUT( KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_INT3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_NUHS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_TRNS, - KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_TRNS ), LAYOUT( KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_INT3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_LBRC), S(KC_RBRC), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_SCLN), S(KC_QUOT), S(KC_NUHS), KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), KC_TRNS, - KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), KC_TRNS ), LAYOUT( KC_TRNS, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), G(KC_INT3), KC_TRNS, KC_LCTL, S(KC_EQL), S(KC_LBRC), S(KC_SLSH), S(KC_MINS), S(KC_INT1), KC_TRNS, S(KC_SCLN), S(KC_QUOT), S(KC_RBRC), S(KC_NUHS), S(KC_INT3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; @@ -81,7 +74,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; } - + return true; } @@ -92,6 +85,5 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_MS_WH_UP); } - - return true; -} \ No newline at end of file + return false; +} diff --git a/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c b/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c index c0d4a0003d9..cf031394f13 100644 --- a/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c +++ b/keyboards/takashicompany/spreadwriter/keymaps/via/keymap.c @@ -13,56 +13,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, LT(2, 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, LT(2, KC_D), KC_F, KC_G, SPREADWRITER, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT, KC_ENT, KC_LSFT, SFT_T(KC_Z), GUI_T(KC_X), KC_C, KC_V, KC_B, MEH(KC_4), LSA(KC_5), KC_N, KC_M, KC_COMM, CTL_T(KC_DOT), KC_BSPC, KC_DEL, - KC_LCTL, KC_LGUI, KC_LALT, MO(5), MO(4), ALT_T(KC_LNG2), SFT_T(KC_TAB), WEB, LT(6, KC_SPC), LT(1, KC_LNG1), KC_RALT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, - KC_WH_U, KC_WH_D + KC_LCTL, KC_LGUI, KC_LALT, MO(5), MO(4), ALT_T(KC_LNG2), SFT_T(KC_TAB), WEB, LT(6, KC_SPC), LT(1, KC_LNG1), KC_RALT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT ), LAYOUT( KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_LCTL, CTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_TRNS, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), LAYOUT( KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(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, - KC_BSPC, KC_SPC + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), LAYOUT( RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - KC_TRNS, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, QK_BOOT, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_TRNS, QK_BOOT, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), LAYOUT( KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_INT3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_NUHS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_TRNS, - KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_TRNS ), LAYOUT( KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_INT3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_LBRC), S(KC_RBRC), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_SCLN), S(KC_QUOT), S(KC_NUHS), KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), KC_TRNS, - KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_P0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_INT1), KC_TRNS ), LAYOUT( KC_TRNS, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), G(KC_INT3), KC_TRNS, KC_LCTL, S(KC_EQL), S(KC_LBRC), S(KC_SLSH), S(KC_MINS), S(KC_INT1), KC_TRNS, S(KC_SCLN), S(KC_QUOT), S(KC_RBRC), S(KC_NUHS), S(KC_INT3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; @@ -81,49 +74,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; } - - return true; -} - -//------------------------------------------------------------------------------ -// Rotary Encoder -//------------------------------------------------------------------------------ -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); + return true; } -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return true; +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) }, + [1 ... 6] = { ENCODER_CCW_CW(_______, _______) }, }; +#endif diff --git a/keyboards/takashicompany/spreadwriter/keymaps/via/rules.mk b/keyboards/takashicompany/spreadwriter/keymaps/via/rules.mk index 036bd6d1c3e..f1adcab005e 100644 --- a/keyboards/takashicompany/spreadwriter/keymaps/via/rules.mk +++ b/keyboards/takashicompany/spreadwriter/keymaps/via/rules.mk @@ -1 +1,2 @@ -VIA_ENABLE = yes \ No newline at end of file +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/takashiski/hecomi/alpha/config.h b/keyboards/takashiski/hecomi/alpha/config.h index 6a564c2da2b..eebe3cf708b 100644 --- a/keyboards/takashiski/hecomi/alpha/config.h +++ b/keyboards/takashiski/hecomi/alpha/config.h @@ -19,10 +19,6 @@ along with this program. If not, see . //#define USE_I2C - #define RGBLED_NUM 16 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 /*== or choose animations ==*/ // #define RGBLIGHT_EFFECT_BREATHING // #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/takashiski/hecomi/alpha/info.json b/keyboards/takashiski/hecomi/alpha/info.json index b5d4b62bdb3..a7b470ce880 100644 --- a/keyboards/takashiski/hecomi/alpha/info.json +++ b/keyboards/takashiski/hecomi/alpha/info.json @@ -17,6 +17,9 @@ "soft_serial_pin": "D1" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, "split_count": [8, 8] }, "ws2812": { diff --git a/keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c b/keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c index fb61d8ed62a..df1b1195bc0 100644 --- a/keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c +++ b/keyboards/takashiski/hecomi/keymaps/kakunpc/keymap.c @@ -50,19 +50,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LGUI,KC_NO,KC_LALT,KC_INT5,KC_NO,KC_SPC, KC_0,KC_NO,KC_HOME,KC_PGUP,KC_PGDN,KC_END ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void keyboard_post_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c index a60408366dd..4b35b084187 100644 --- a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c +++ b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/keymap.c @@ -40,20 +40,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/takashiski/namecard2x4/rev1/config.h b/keyboards/takashiski/namecard2x4/rev1/config.h index c4a349580c6..58233619a29 100644 --- a/keyboards/takashiski/namecard2x4/rev1/config.h +++ b/keyboards/takashiski/namecard2x4/rev1/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 4 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,9 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/takashiski/namecard2x4/rev1/info.json b/keyboards/takashiski/namecard2x4/rev1/info.json index 28781bcd0a6..1c727d924fa 100644 --- a/keyboards/takashiski/namecard2x4/rev1/info.json +++ b/keyboards/takashiski/namecard2x4/rev1/info.json @@ -1,4 +1,10 @@ { + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 4 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/takashiski/namecard2x4/rev2/config.h b/keyboards/takashiski/namecard2x4/rev2/config.h index f90b4e073c8..58233619a29 100644 --- a/keyboards/takashiski/namecard2x4/rev2/config.h +++ b/keyboards/takashiski/namecard2x4/rev2/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,9 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/takashiski/namecard2x4/rev2/info.json b/keyboards/takashiski/namecard2x4/rev2/info.json index 51fe26c555c..b717cef42da 100644 --- a/keyboards/takashiski/namecard2x4/rev2/info.json +++ b/keyboards/takashiski/namecard2x4/rev2/info.json @@ -1,4 +1,10 @@ { + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 8 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/taleguers/taleguers75/config.h b/keyboards/taleguers/taleguers75/config.h index b62209abaad..516f568f110 100644 --- a/keyboards/taleguers/taleguers75/config.h +++ b/keyboards/taleguers/taleguers75/config.h @@ -32,9 +32,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 -#define RGBLIGHT_LED_MAP { 5, 4, 3, 2, 1, 0 } -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/taleguers/taleguers75/info.json b/keyboards/taleguers/taleguers75/info.json index 229894fa9d0..711fa3821ac 100644 --- a/keyboards/taleguers/taleguers75/info.json +++ b/keyboards/taleguers/taleguers75/info.json @@ -18,6 +18,13 @@ {"pin_a": "B6", "pin_b": "B5"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6, + "sleep": true, + "led_map": [5, 4, 3, 2, 1, 0] + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/tanuki/config.h b/keyboards/tanuki/config.h index 305eacfd35d..57fad54e73d 100644 --- a/keyboards/tanuki/config.h +++ b/keyboards/tanuki/config.h @@ -32,13 +32,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 -#define RGBLIGHT_SLEEP -#define TAPPING_TERM 200 /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/tanuki/info.json b/keyboards/tanuki/info.json index 8a858cf4f0c..17a0ab38514 100644 --- a/keyboards/tanuki/info.json +++ b/keyboards/tanuki/info.json @@ -8,6 +8,11 @@ "pid": "0x6464", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 10, + "led_count": 5, + "sleep": true + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/teahouse/ayleen/config.h b/keyboards/teahouse/ayleen/config.h index 84559bb7bd6..6ff56589b3f 100644 --- a/keyboards/teahouse/ayleen/config.h +++ b/keyboards/teahouse/ayleen/config.h @@ -3,13 +3,8 @@ #pragma once - #define RGBLED_NUM 2 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LAYERS 2 #define RGBLIGHT_LAYER_BLINK - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // generated by KBFirmware JSON to QMK Parser // https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/teahouse/ayleen/info.json b/keyboards/teahouse/ayleen/info.json index 408b7dc8a6c..04baad7d00b 100644 --- a/keyboards/teahouse/ayleen/info.json +++ b/keyboards/teahouse/ayleen/info.json @@ -19,6 +19,12 @@ "rows": ["F0", "F1", "F4", "F5", "D4", "B0", "B1", "B2", "F7", "D5", "D3"], "cols": ["F6", "D0", "D1", "D2", "D6", "D7", "B4", "B5", "B6"] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2, + "sleep": true + }, "ws2812": { "pin": "C7" }, @@ -27,8 +33,14 @@ "pid": "0x4141", "device_version": "0.0.1" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_f13_ansi_tsangan" + }, + "community_layouts": [ + "tkl_f13_ansi_tsangan" + ], "layouts": { - "LAYOUT": { + "LAYOUT_tkl_f13_ansi_tsangan": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, @@ -39,89 +51,89 @@ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, - {"label": "F9", "matrix": [5, 8], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [5, 8], "x": 9.75, "y": 0}, {"label": "F10", "matrix": [5, 7], "x": 10.75, "y": 0}, {"label": "F11", "matrix": [5, 6], "x": 11.75, "y": 0}, {"label": "F12", "matrix": [5, 5], "x": 12.75, "y": 0}, - {"label": "F13", "matrix": [5, 4], "x": 13.75, "y": 0}, + {"label": "F13", "matrix": [5, 4], "x": 14, "y": 0}, {"label": "Prtsc", "matrix": [5, 3], "x": 15.25, "y": 0}, {"label": "Scrlk", "matrix": [5, 2], "x": 16.25, "y": 0}, {"label": "Pause", "matrix": [5, 1], "x": 17.25, "y": 0}, - {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.5}, - {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.5}, - {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.5}, - {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.5}, - {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.5}, - {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.5}, - {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.5}, - {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.5}, - {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.5}, - {"label": "9", "matrix": [6, 8], "x": 9, "y": 1.5}, - {"label": "0", "matrix": [6, 7], "x": 10, "y": 1.5}, - {"label": "-", "matrix": [6, 6], "x": 11, "y": 1.5}, - {"label": "=", "matrix": [6, 5], "x": 12, "y": 1.5}, - {"label": "backspace", "matrix": [6, 4], "x": 13, "y": 1.5, "w": 2}, - {"label": "insert", "matrix": [6, 3], "x": 15.25, "y": 1.5}, - {"label": "home", "matrix": [6, 2], "x": 16.25, "y": 1.5}, - {"label": "pg up", "matrix": [6, 1], "x": 17.25, "y": 1.5}, + {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [6, 8], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [6, 7], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [6, 6], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [6, 5], "x": 12, "y": 1.25}, + {"label": "backspace", "matrix": [6, 4], "x": 13, "y": 1.25, "w": 2}, + {"label": "insert", "matrix": [6, 3], "x": 15.25, "y": 1.25}, + {"label": "home", "matrix": [6, 2], "x": 16.25, "y": 1.25}, + {"label": "pg up", "matrix": [6, 1], "x": 17.25, "y": 1.25}, - {"label": "tab", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, - {"label": "q", "matrix": [2, 1], "x": 1.5, "y": 2.5}, - {"label": "w", "matrix": [2, 2], "x": 2.5, "y": 2.5}, - {"label": "e", "matrix": [2, 3], "x": 3.5, "y": 2.5}, - {"label": "r", "matrix": [2, 4], "x": 4.5, "y": 2.5}, - {"label": "t", "matrix": [2, 5], "x": 5.5, "y": 2.5}, - {"label": "y", "matrix": [2, 6], "x": 6.5, "y": 2.5}, - {"label": "u", "matrix": [2, 7], "x": 7.5, "y": 2.5}, - {"label": "i", "matrix": [2, 8], "x": 8.5, "y": 2.5}, - {"label": "o", "matrix": [7, 8], "x": 9.5, "y": 2.5}, - {"label": "p", "matrix": [7, 7], "x": 10.5, "y": 2.5}, - {"label": "{", "matrix": [7, 6], "x": 11.5, "y": 2.5}, - {"label": "}", "matrix": [7, 5], "x": 12.5, "y": 2.5}, - {"label": "|", "matrix": [7, 4], "x": 13.5, "y": 2.5, "w": 1.5}, - {"label": "delete", "matrix": [7, 3], "x": 15.25, "y": 2.5}, - {"label": "end", "matrix": [7, 2], "x": 16.25, "y": 2.5}, - {"label": "pg dn", "matrix": [7, 1], "x": 17.25, "y": 2.5}, + {"label": "tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "w", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "e", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "r", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "t", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "u", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "i", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "o", "matrix": [7, 8], "x": 9.5, "y": 2.25}, + {"label": "p", "matrix": [7, 7], "x": 10.5, "y": 2.25}, + {"label": "{", "matrix": [7, 6], "x": 11.5, "y": 2.25}, + {"label": "}", "matrix": [7, 5], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [7, 4], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "delete", "matrix": [7, 3], "x": 15.25, "y": 2.25}, + {"label": "end", "matrix": [7, 2], "x": 16.25, "y": 2.25}, + {"label": "pg dn", "matrix": [7, 1], "x": 17.25, "y": 2.25}, - {"label": "capslock", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, - {"label": "a", "matrix": [3, 1], "x": 1.75, "y": 3.5}, - {"label": "s", "matrix": [3, 2], "x": 2.75, "y": 3.5}, - {"label": "d", "matrix": [3, 3], "x": 3.75, "y": 3.5}, - {"label": "f", "matrix": [3, 4], "x": 4.75, "y": 3.5}, - {"label": "g", "matrix": [3, 5], "x": 5.75, "y": 3.5}, - {"label": "h", "matrix": [3, 6], "x": 6.75, "y": 3.5}, - {"label": "j", "matrix": [3, 7], "x": 7.75, "y": 3.5}, - {"label": "k", "matrix": [3, 8], "x": 8.75, "y": 3.5}, - {"label": "l", "matrix": [8, 8], "x": 9.75, "y": 3.5}, - {"label": ";", "matrix": [8, 7], "x": 10.75, "y": 3.5}, - {"label": "'", "matrix": [8, 6], "x": 11.75, "y": 3.5}, - {"label": "enter", "matrix": [8, 5], "x": 12.75, "y": 3.5, "w": 2.25}, + {"label": "capslock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "a", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "s", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "d", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "f", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "g", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "h", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "j", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "k", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "l", "matrix": [8, 8], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [8, 7], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [8, 6], "x": 11.75, "y": 3.25}, + {"label": "enter", "matrix": [8, 5], "x": 12.75, "y": 3.25, "w": 2.25}, - {"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, - {"label": "z", "matrix": [4, 1], "x": 3.25, "y": 4.5}, - {"label": "x", "matrix": [4, 2], "x": 4.25, "y": 4.5}, - {"label": "c", "matrix": [4, 3], "x": 5.25, "y": 4.5}, - {"label": "v", "matrix": [4, 4], "x": 6.25, "y": 4.5}, - {"label": "b", "matrix": [4, 5], "x": 7.25, "y": 4.5}, - {"label": "n", "matrix": [4, 6], "x": 8.25, "y": 4.5}, - {"label": "m", "matrix": [4, 7], "x": 9.25, "y": 4.5}, - {"label": ",", "matrix": [4, 8], "x": 10.25, "y": 0}, - {"label": ".", "matrix": [9, 8], "x": 11.25, "y": 4.5}, - {"label": "/", "matrix": [9, 7], "x": 12.25, "y": 4.5}, - {"label": "rightshift", "matrix": [9, 6], "x": 13.25, "y": 4.5, "w": 2.75}, - {"label": "up", "matrix": [8, 2], "x": 18.25, "y": 4.5}, + {"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "z", "matrix": [4, 1], "x": 2.25, "y": 4.25}, + {"label": "x", "matrix": [4, 2], "x": 3.25, "y": 4.25}, + {"label": "c", "matrix": [4, 3], "x": 4.25, "y": 4.25}, + {"label": "v", "matrix": [4, 4], "x": 5.25, "y": 4.25}, + {"label": "b", "matrix": [4, 5], "x": 6.25, "y": 4.25}, + {"label": "n", "matrix": [4, 6], "x": 7.25, "y": 4.25}, + {"label": "m", "matrix": [4, 7], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 8], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [9, 8], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [9, 7], "x": 11.25, "y": 4.25}, + {"label": "rightshift", "matrix": [9, 6], "x": 12.25, "y": 4.25, "w": 2.75}, + {"label": "up", "matrix": [8, 2], "x": 16.25, "y": 4.25}, - {"label": "lctrl", "matrix": [10, 0], "x": 0, "y": 5.5, "w": 1.5}, - {"label": "lwin", "matrix": [10, 1], "x": 1.5, "y": 5.5}, - {"label": "lalt", "matrix": [10, 2], "x": 2.5, "y": 5.5, "w": 1.5}, - {"label": "space", "matrix": [10, 3], "x": 4, "y": 5.5, "w": 7}, - {"label": "ralt", "matrix": [10, 4], "x": 11, "y": 5.5, "w": 1.5}, - {"label": "rwin", "matrix": [10, 5], "x": 12.5, "y": 5.5, "w": 1}, - {"label": "rctrl", "matrix": [10, 8], "x": 13.5, "y": 5.5, "w": 1.5}, - {"label": "left", "matrix": [9, 3], "x": 15.25, "y": 5.5}, - {"label": "down", "matrix": [9, 2], "x": 16.25, "y": 5.5}, - {"label": "right", "matrix": [9, 1], "x": 17.25, "y": 5.5} + {"label": "lctrl", "matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "lwin", "matrix": [10, 1], "x": 1.5, "y": 5.25}, + {"label": "lalt", "matrix": [10, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "space", "matrix": [10, 3], "x": 4, "y": 5.25, "w": 7}, + {"label": "ralt", "matrix": [10, 4], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "rwin", "matrix": [10, 5], "x": 12.5, "y": 5.25, "w": 1}, + {"label": "rctrl", "matrix": [10, 8], "x": 13.5, "y": 5.25, "w": 1.5}, + {"label": "left", "matrix": [9, 3], "x": 15.25, "y": 5.25}, + {"label": "down", "matrix": [9, 2], "x": 16.25, "y": 5.25}, + {"label": "right", "matrix": [9, 1], "x": 17.25, "y": 5.25} ] } } diff --git a/keyboards/teahouse/ayleen/keymaps/default/keymap.c b/keyboards/teahouse/ayleen/keymaps/default/keymap.c index 5a99e2955d7..e31939eb7ab 100644 --- a/keyboards/teahouse/ayleen/keymaps/default/keymap.c +++ b/keyboards/teahouse/ayleen/keymaps/default/keymap.c @@ -5,7 +5,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [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, diff --git a/keyboards/teahouse/ayleen/keymaps/via/keymap.c b/keyboards/teahouse/ayleen/keymaps/via/keymap.c index 36f864fafcc..030a35cd8f6 100644 --- a/keyboards/teahouse/ayleen/keymaps/via/keymap.c +++ b/keyboards/teahouse/ayleen/keymaps/via/keymap.c @@ -5,7 +5,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [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, @@ -14,7 +14,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 ), - [1] = LAYOUT( + [1] = LAYOUT_tkl_f13_ansi_tsangan( KC_SPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( + [2] = LAYOUT_tkl_f13_ansi_tsangan( KC_SPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT( + [3] = LAYOUT_tkl_f13_ansi_tsangan( KC_SPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/teahouse/ayleen/keymaps/via_blink/keymap.c b/keyboards/teahouse/ayleen/keymaps/via_blink/keymap.c index 7b72ccbf617..a86498753d2 100644 --- a/keyboards/teahouse/ayleen/keymaps/via_blink/keymap.c +++ b/keyboards/teahouse/ayleen/keymaps/via_blink/keymap.c @@ -5,7 +5,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [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, @@ -14,7 +14,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 ), - [1] = LAYOUT( + [1] = LAYOUT_tkl_f13_ansi_tsangan( KC_SPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( + [2] = LAYOUT_tkl_f13_ansi_tsangan( KC_SPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT( + [3] = LAYOUT_tkl_f13_ansi_tsangan( KC_SPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/team0110/p1800fl/config.h b/keyboards/team0110/p1800fl/config.h index 99f4d6ce2c7..6607a5ef2f2 100644 --- a/keyboards/team0110/p1800fl/config.h +++ b/keyboards/team0110/p1800fl/config.h @@ -28,11 +28,6 @@ along with this program. If not, see . # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 8 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/team0110/p1800fl/info.json b/keyboards/team0110/p1800fl/info.json index 2509fcdd8e9..c5c350204a9 100644 --- a/keyboards/team0110/p1800fl/info.json +++ b/keyboards/team0110/p1800fl/info.json @@ -18,6 +18,12 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "sleep": true + }, "ws2812": { "pin": "C6" }, diff --git a/keyboards/technika/config.h b/keyboards/technika/config.h index fb143fc76ac..3717a6d07c6 100644 --- a/keyboards/technika/config.h +++ b/keyboards/technika/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 16 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/technika/info.json b/keyboards/technika/info.json index 31c0ab96b43..aef2e84002f 100644 --- a/keyboards/technika/info.json +++ b/keyboards/technika/info.json @@ -22,7 +22,9 @@ "pin": "B15" }, "rgblight": { - "max_brightness": 200 + "led_count": 16, + "max_brightness": 200, + "sleep": true }, "processor": "STM32F072", "bootloader": "stm32-dfu", diff --git a/keyboards/technika/rules.mk b/keyboards/technika/rules.mk index 98fc7315de0..4d4628146af 100644 --- a/keyboards/technika/rules.mk +++ b/keyboards/technika/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/tenki/config.h b/keyboards/tenki/config.h index 2b7b6435ec3..ab095e7c1ee 100644 --- a/keyboards/tenki/config.h +++ b/keyboards/tenki/config.h @@ -18,8 +18,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 3 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 -#define RGBLIGHT_SLEEP diff --git a/keyboards/tenki/info.json b/keyboards/tenki/info.json index 8acbd24f8b0..14aac828f2e 100644 --- a/keyboards/tenki/info.json +++ b/keyboards/tenki/info.json @@ -8,6 +8,13 @@ "pid": "0x5445", "device_version": "10.0.1" }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 3, + "sleep": true + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/tetris/config.h b/keyboards/tetris/config.h index 3f0378e73c9..39265d61848 100755 --- a/keyboards/tetris/config.h +++ b/keyboards/tetris/config.h @@ -22,9 +22,4 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP -#define RGBLED_NUM 47 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 12 diff --git a/keyboards/tetris/info.json b/keyboards/tetris/info.json index c7d90ef1489..962b086b9ba 100644 --- a/keyboards/tetris/info.json +++ b/keyboards/tetris/info.json @@ -8,6 +8,12 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 47, + "sleep": true + }, "ws2812": { "pin": "F5" }, diff --git a/keyboards/tg4x/config.h b/keyboards/tg4x/config.h index 20a2c414b31..c43ea489063 100644 --- a/keyboards/tg4x/config.h +++ b/keyboards/tg4x/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 7 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tg4x/info.json b/keyboards/tg4x/info.json index a3e464a1109..20920c9dc41 100644 --- a/keyboards/tg4x/info.json +++ b/keyboards/tg4x/info.json @@ -8,6 +8,12 @@ "pid": "0x0458", "device_version": "0.2.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "sleep": true + }, "ws2812": { "pin": "D2" }, diff --git a/keyboards/tgr/910/config.h b/keyboards/tgr/910/config.h index 2021d94bb46..7e1218690b8 100644 --- a/keyboards/tgr/910/config.h +++ b/keyboards/tgr/910/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 19 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tgr/910/info.json b/keyboards/tgr/910/info.json index ae6ffb5a245..2ad4ca9cb2c 100644 --- a/keyboards/tgr/910/info.json +++ b/keyboards/tgr/910/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 19 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/tgr/910ce/config.h b/keyboards/tgr/910ce/config.h index 44fff35e61f..bf084f49fa8 100644 --- a/keyboards/tgr/910ce/config.h +++ b/keyboards/tgr/910ce/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 18 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tgr/910ce/info.json b/keyboards/tgr/910ce/info.json index c58438887ae..f93b5d22216 100644 --- a/keyboards/tgr/910ce/info.json +++ b/keyboards/tgr/910ce/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/tgr/alice/config.h b/keyboards/tgr/alice/config.h index cf8aa330451..d849732a072 100644 --- a/keyboards/tgr/alice/config.h +++ b/keyboards/tgr/alice/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tgr/alice/info.json b/keyboards/tgr/alice/info.json index 7d6a0fbc146..356719df154 100644 --- a/keyboards/tgr/alice/info.json +++ b/keyboards/tgr/alice/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/tgr/tris/config.h b/keyboards/tgr/tris/config.h index f517c91d194..7e1218690b8 100644 --- a/keyboards/tgr/tris/config.h +++ b/keyboards/tgr/tris/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tgr/tris/info.json b/keyboards/tgr/tris/info.json index f628405bcb8..ab1defbf406 100644 --- a/keyboards/tgr/tris/info.json +++ b/keyboards/tgr/tris/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/the_royal/liminal/config.h b/keyboards/the_royal/liminal/config.h index 02c222b2b85..fa9a83d08ec 100644 --- a/keyboards/the_royal/liminal/config.h +++ b/keyboards/the_royal/liminal/config.h @@ -4,10 +4,3 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -#define RGBLED_NUM 1 // Number of LEDs - -#define RGBLIGHT_HUE_STEP 6 -#define RGBLIGHT_SAT_STEP 4 -#define RGBLIGHT_VAL_STEP 4 diff --git a/keyboards/the_royal/liminal/info.json b/keyboards/the_royal/liminal/info.json index c62699df844..046d535e4ab 100644 --- a/keyboards/the_royal/liminal/info.json +++ b/keyboards/the_royal/liminal/info.json @@ -8,6 +8,12 @@ "pid": "0x0003", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 6, + "saturation_steps": 4, + "brightness_steps": 4, + "led_count": 1 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/the_royal/schwann/config.h b/keyboards/the_royal/schwann/config.h index 8cfda8f8e50..85cbd30a423 100644 --- a/keyboards/the_royal/schwann/config.h +++ b/keyboards/the_royal/schwann/config.h @@ -5,9 +5,6 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* ws2812 RGB LED */ -#define RGBLED_NUM 8 // Number of LEDs - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -18,6 +15,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 6 -#define RGBLIGHT_SAT_STEP 4 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/the_royal/schwann/info.json b/keyboards/the_royal/schwann/info.json index df765f747c6..2748dac98d6 100644 --- a/keyboards/the_royal/schwann/info.json +++ b/keyboards/the_royal/schwann/info.json @@ -8,6 +8,12 @@ "pid": "0x3521", "device_version": "0.0.1" }, + "rgblight": { + "hue_steps": 6, + "saturation_steps": 4, + "brightness_steps": 8, + "led_count": 8 + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/themadnoodle/ncc1701kb/v2/config.h b/keyboards/themadnoodle/ncc1701kb/v2/config.h index 3c3b68d7824..f08a0cdc2c4 100644 --- a/keyboards/themadnoodle/ncc1701kb/v2/config.h +++ b/keyboards/themadnoodle/ncc1701kb/v2/config.h @@ -18,8 +18,6 @@ along with this program. If not, see . #pragma once /* RGB BackLight */ -#define RGBLED_NUM 4 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/themadnoodle/ncc1701kb/v2/info.json b/keyboards/themadnoodle/ncc1701kb/v2/info.json index e769b23f123..47c9c37c919 100644 --- a/keyboards/themadnoodle/ncc1701kb/v2/info.json +++ b/keyboards/themadnoodle/ncc1701kb/v2/info.json @@ -18,6 +18,10 @@ {"pin_a": "D0", "pin_b": "D1"} ] }, + "rgblight": { + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/themadnoodle/noodlepad/config.h b/keyboards/themadnoodle/noodlepad/config.h index 3c3b68d7824..f08a0cdc2c4 100644 --- a/keyboards/themadnoodle/noodlepad/config.h +++ b/keyboards/themadnoodle/noodlepad/config.h @@ -18,8 +18,6 @@ along with this program. If not, see . #pragma once /* RGB BackLight */ -#define RGBLED_NUM 4 -#define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/themadnoodle/noodlepad/info.json b/keyboards/themadnoodle/noodlepad/info.json index e6050346970..5e9b8b91b89 100644 --- a/keyboards/themadnoodle/noodlepad/info.json +++ b/keyboards/themadnoodle/noodlepad/info.json @@ -18,6 +18,10 @@ {"pin_a": "D0", "pin_b": "D1"} ] }, + "rgblight": { + "led_count": 4, + "sleep": true + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/thevankeyboards/bananasplit/config.h b/keyboards/thevankeyboards/bananasplit/config.h index d9dc5a84015..c2949ab3a7a 100644 --- a/keyboards/thevankeyboards/bananasplit/config.h +++ b/keyboards/thevankeyboards/bananasplit/config.h @@ -17,8 +17,6 @@ along with this program. If not, see . #pragma once -#define TAPPING_TERM 175 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/thevankeyboards/bananasplit/info.json b/keyboards/thevankeyboards/bananasplit/info.json index 37f5dec719b..36fcc06af22 100644 --- a/keyboards/thevankeyboards/bananasplit/info.json +++ b/keyboards/thevankeyboards/bananasplit/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "B7" }, + "tapping": { + "term": 175 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["60_ansi", "60_iso"], diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c index abdb791c6f8..2d65ae102ba 100644 --- a/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c +++ b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c @@ -62,14 +62,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { @@ -86,7 +78,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c index 1472f88212d..5146c8f4f33 100644 --- a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c +++ b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c @@ -91,12 +91,13 @@ Capslock's led cannot be controlled separately on bananasplit and you can only t leds at once. If you only install led for capslock, it will look like capslock has toggable backlight. */ -void led_set_user(uint8_t usb_led) { - if (usb_led && (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { DDRB |= (1 << 7); PORTB |= (1 << 7); } else { DDRB &= ~(1 << 7); PORTB &= ~(1 << 7); } + return false; } diff --git a/keyboards/thevankeyboards/jetvan/config.h b/keyboards/thevankeyboards/jetvan/config.h index e8aca5e8620..ecb3e017604 100644 --- a/keyboards/thevankeyboards/jetvan/config.h +++ b/keyboards/thevankeyboards/jetvan/config.h @@ -23,7 +23,6 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Define RGB Underglow */ -#define RGBLED_NUM 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/thevankeyboards/jetvan/info.json b/keyboards/thevankeyboards/jetvan/info.json index 80281fef1f8..ed6896dc2e1 100644 --- a/keyboards/thevankeyboards/jetvan/info.json +++ b/keyboards/thevankeyboards/jetvan/info.json @@ -8,6 +8,9 @@ "pid": "0x8858", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 10 + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/thevankeyboards/minivan/config.h b/keyboards/thevankeyboards/minivan/config.h index 44b61b7458b..5070f051560 100644 --- a/keyboards/thevankeyboards/minivan/config.h +++ b/keyboards/thevankeyboards/minivan/config.h @@ -21,7 +21,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -/* RGB Setup */ -#define RGBLED_NUM 3 -#define RGBLIGHT_SLEEP diff --git a/keyboards/thevankeyboards/minivan/info.json b/keyboards/thevankeyboards/minivan/info.json index c20ad5427e5..cff65e6fed8 100644 --- a/keyboards/thevankeyboards/minivan/info.json +++ b/keyboards/thevankeyboards/minivan/info.json @@ -8,6 +8,10 @@ "pid": "0x8844", "device_version": "0.0.2" }, + "rgblight": { + "led_count": 3, + "sleep": true + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/tkc/candybar/lefty/rules.mk b/keyboards/tkc/candybar/lefty/rules.mk index 36101d2f8ee..51c822797aa 100644 --- a/keyboards/tkc/candybar/lefty/rules.mk +++ b/keyboards/tkc/candybar/lefty/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no RGBLIGHT_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/tkc/candybar/righty/rules.mk b/keyboards/tkc/candybar/righty/rules.mk index 36101d2f8ee..51c822797aa 100644 --- a/keyboards/tkc/candybar/righty/rules.mk +++ b/keyboards/tkc/candybar/righty/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no RGBLIGHT_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/tkc/godspeed75/config.h b/keyboards/tkc/godspeed75/config.h index e995bb1c7c1..3f67f77910f 100644 --- a/keyboards/tkc/godspeed75/config.h +++ b/keyboards/tkc/godspeed75/config.h @@ -32,7 +32,6 @@ //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define RGBLED_NUM 14 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tkc/godspeed75/info.json b/keyboards/tkc/godspeed75/info.json index 4e45459bb96..6565239b520 100644 --- a/keyboards/tkc/godspeed75/info.json +++ b/keyboards/tkc/godspeed75/info.json @@ -8,6 +8,9 @@ "pid": "0x0006", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "A13" }, diff --git a/keyboards/tkc/godspeed75/rules.mk b/keyboards/tkc/godspeed75/rules.mk index 0f15f10b208..0098dc473ac 100644 --- a/keyboards/tkc/godspeed75/rules.mk +++ b/keyboards/tkc/godspeed75/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/tkc/m0lly/config.h b/keyboards/tkc/m0lly/config.h index bad0f51bde3..06338d2a2db 100644 --- a/keyboards/tkc/m0lly/config.h +++ b/keyboards/tkc/m0lly/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 30 -# define RGBLIGHT_HUE_STEP 5 -# define RGBLIGHT_SAT_STEP 10 -# define RGBLIGHT_VAL_STEP 10 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tkc/m0lly/info.json b/keyboards/tkc/m0lly/info.json index 37a8c19bf80..302cbb54c16 100644 --- a/keyboards/tkc/m0lly/info.json +++ b/keyboards/tkc/m0lly/info.json @@ -27,6 +27,12 @@ "num_lock": "D2", "scroll_lock": "D4" }, + "rgblight": { + "hue_steps": 5, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 30 + }, "ws2812": { "pin": "D7" }, diff --git a/keyboards/tkc/osav2/config.h b/keyboards/tkc/osav2/config.h index f2a7de800ba..77a7393d75b 100644 --- a/keyboards/tkc/osav2/config.h +++ b/keyboards/tkc/osav2/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 9 -// #define RGBLIGHT_HUE_STEP 10 -// #define RGBLIGHT_SAT_STEP 17 -// #define RGBLIGHT_VAL_STEP 17 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tkc/osav2/info.json b/keyboards/tkc/osav2/info.json index 78cad2daf2e..7a59bb65dbf 100644 --- a/keyboards/tkc/osav2/info.json +++ b/keyboards/tkc/osav2/info.json @@ -8,6 +8,10 @@ "pid": "0x0005", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 9, + "sleep": true + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/tkc/portico75/info.json b/keyboards/tkc/portico75/info.json index 4380caba4f3..171228cb285 100644 --- a/keyboards/tkc/portico75/info.json +++ b/keyboards/tkc/portico75/info.json @@ -113,97 +113,6 @@ {"matrix": [5, 12], "x": 14.25, "y": 5.5}, {"matrix": [5, 13], "x": 15.25, "y": 5.5} ] - }, - "LAYOUT_75_via": { - "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, 0], "x": 15, "y": 0}, - {"matrix": [1, 1], "x": 16, "y": 0}, - {"matrix": [1, 2], "x": 17, "y": 0}, - {"matrix": [1, 3], "x": 18, "y": 0}, - {"matrix": [1, 4], "x": 19, "y": 0}, - {"matrix": [1, 5], "x": 20, "y": 0}, - {"matrix": [1, 6], "x": 21, "y": 0}, - {"matrix": [1, 7], "x": 22, "y": 0}, - {"matrix": [1, 8], "x": 23, "y": 0}, - {"matrix": [1, 9], "x": 24, "y": 0}, - {"matrix": [1, 10], "x": 25, "y": 0}, - {"matrix": [1, 11], "x": 26, "y": 0}, - {"matrix": [1, 12], "x": 27, "y": 0}, - {"matrix": [1, 13], "x": 28, "y": 0}, - {"matrix": [1, 14], "x": 29, "y": 0}, - - {"matrix": [2, 0], "x": 30, "y": 0}, - {"matrix": [2, 1], "x": 31, "y": 0}, - {"matrix": [2, 2], "x": 32, "y": 0}, - {"matrix": [2, 3], "x": 33, "y": 0}, - {"matrix": [2, 4], "x": 34, "y": 0}, - {"matrix": [2, 5], "x": 35, "y": 0}, - {"matrix": [2, 6], "x": 36, "y": 0}, - {"matrix": [2, 7], "x": 37, "y": 0}, - {"matrix": [2, 8], "x": 38, "y": 0}, - {"matrix": [2, 9], "x": 39, "y": 0}, - {"matrix": [2, 10], "x": 40, "y": 0}, - {"matrix": [2, 11], "x": 41, "y": 0}, - {"matrix": [2, 12], "x": 42, "y": 0}, - {"matrix": [2, 13], "x": 43, "y": 0}, - {"matrix": [2, 14], "x": 44, "y": 0}, - - {"matrix": [3, 0], "x": 45, "y": 0}, - {"matrix": [3, 1], "x": 46, "y": 0}, - {"matrix": [3, 2], "x": 47, "y": 0}, - {"matrix": [3, 3], "x": 48, "y": 0}, - {"matrix": [3, 4], "x": 49, "y": 0}, - {"matrix": [3, 5], "x": 50, "y": 0}, - {"matrix": [3, 6], "x": 51, "y": 0}, - {"matrix": [3, 7], "x": 52, "y": 0}, - {"matrix": [3, 8], "x": 53, "y": 0}, - {"matrix": [3, 9], "x": 54, "y": 0}, - {"matrix": [3, 10], "x": 55, "y": 0}, - {"matrix": [3, 11], "x": 56, "y": 0}, - {"matrix": [3, 12], "x": 57, "y": 0}, - {"matrix": [3, 14], "x": 58, "y": 0}, - - {"matrix": [4, 0], "x": 59, "y": 0}, - {"matrix": [4, 1], "x": 60, "y": 0}, - {"matrix": [4, 2], "x": 61, "y": 0}, - {"matrix": [4, 3], "x": 62, "y": 0}, - {"matrix": [4, 4], "x": 63, "y": 0}, - {"matrix": [4, 5], "x": 64, "y": 0}, - {"matrix": [4, 6], "x": 65, "y": 0}, - {"matrix": [4, 7], "x": 66, "y": 0}, - {"matrix": [4, 8], "x": 67, "y": 0}, - {"matrix": [4, 9], "x": 68, "y": 0}, - {"matrix": [4, 10], "x": 69, "y": 0}, - {"matrix": [4, 11], "x": 70, "y": 0}, - {"matrix": [4, 12], "x": 71, "y": 0}, - {"matrix": [4, 14], "x": 72, "y": 0}, - - {"matrix": [5, 0], "x": 73, "y": 0}, - {"matrix": [5, 1], "x": 74, "y": 0}, - {"matrix": [5, 2], "x": 75, "y": 0}, - {"matrix": [5, 5], "x": 76, "y": 0}, - {"matrix": [5, 9], "x": 77, "y": 0}, - {"matrix": [5, 10], "x": 78, "y": 0}, - {"matrix": [5, 11], "x": 79, "y": 0}, - {"matrix": [5, 12], "x": 80, "y": 0}, - {"matrix": [5, 13], "x": 81, "y": 0} - ] } } } diff --git a/keyboards/tkc/portico75/keymaps/via/keymap.c b/keyboards/tkc/portico75/keymaps/via/keymap.c index befb3b88299..03e96a27066 100644 --- a/keyboards/tkc/portico75/keymaps/via/keymap.c +++ b/keyboards/tkc/portico75/keymaps/via/keymap.c @@ -27,47 +27,47 @@ along with this program. If not, see . // BR_INC, BR_DEC, // backlight brightness increase/decrease const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_75_via( + [0] = LAYOUT_75_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_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_VOLD, - 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_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_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_LEFT, KC_DOWN, KC_RGHT ), #ifdef RGB_BACKLIGHT_PORTICO75 - [1] = LAYOUT_75_via( + [1] = LAYOUT_75_ansi( _______, EF_INC, EF_DEC, H1_INC, H1_DEC, S1_INC, S1_DEC, H2_INC, H2_DEC, S2_INC, S2_DEC, BR_INC, BR_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), #else - [1] = LAYOUT_75_via( + [1] = LAYOUT_75_ansi( _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), #endif - [2] = LAYOUT_75_via( + [2] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT_75_via( + [3] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/tkc/tkc1800/config.h b/keyboards/tkc/tkc1800/config.h index dd6631f5456..03c8bceba02 100644 --- a/keyboards/tkc/tkc1800/config.h +++ b/keyboards/tkc/tkc1800/config.h @@ -29,10 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 30 // Number of LEDs -#define RGBLIGHT_HUE_STEP 5 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/tkc/tkc1800/info.json b/keyboards/tkc/tkc1800/info.json index 5cf8f83c808..50f471c08f0 100644 --- a/keyboards/tkc/tkc1800/info.json +++ b/keyboards/tkc/tkc1800/info.json @@ -27,6 +27,12 @@ "num_lock": "D2", "scroll_lock": "D4" }, + "rgblight": { + "hue_steps": 5, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 30 + }, "ws2812": { "pin": "D7" }, diff --git a/keyboards/tkc/tkl_ab87/config.h b/keyboards/tkc/tkl_ab87/config.h index 95ce321679b..0cfc6216fc2 100644 --- a/keyboards/tkc/tkl_ab87/config.h +++ b/keyboards/tkc/tkl_ab87/config.h @@ -20,11 +20,6 @@ along with this program. If not, see . #define DYNAMIC_KEYMAP_LAYER_COUNT 2 //Reduced layer count due to memory space considerations - #define RGBLED_NUM 22 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tkc/tkl_ab87/info.json b/keyboards/tkc/tkl_ab87/info.json index c0a178595b1..bd1ec85f191 100644 --- a/keyboards/tkc/tkl_ab87/info.json +++ b/keyboards/tkc/tkl_ab87/info.json @@ -25,7 +25,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 22, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/tkw/grandiceps/config.h b/keyboards/tkw/grandiceps/config.h index 02746f94a81..0e72e43a575 100644 --- a/keyboards/tkw/grandiceps/config.h +++ b/keyboards/tkw/grandiceps/config.h @@ -17,10 +17,6 @@ #define SELECT_SOFT_SERIAL_SPEED 1 -#define MATRIX_IO_DELAY 5 -#define TAP_CODE_DELAY 10 - -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tkw/grandiceps/info.json b/keyboards/tkw/grandiceps/info.json index d3f6256d462..c6f72f7823e 100644 --- a/keyboards/tkw/grandiceps/info.json +++ b/keyboards/tkw/grandiceps/info.json @@ -11,12 +11,14 @@ "driver": "pwm" }, "rgblight": { + "led_count": 16, "max_brightness": 120, "split_count": [8, 8] }, "matrix_pins": { "cols": ["B0", "A7", "A3", "A5", "A4", "A2"], - "rows": ["B12", "A6", "B13", "B9", "B8"] + "rows": ["B12", "A6", "B13", "B9", "B8"], + "io_delay": 5 }, "diode_direction": "COL2ROW", "encoder": { @@ -33,6 +35,9 @@ } } }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "STM32F411", "bootloader": "stm32-dfu", "board": "BLACKPILL_STM32_F411", diff --git a/keyboards/tkw/stoutgat/v1/config.h b/keyboards/tkw/stoutgat/v1/config.h deleted file mode 100644 index b168318aa02..00000000000 --- a/keyboards/tkw/stoutgat/v1/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/*Copyright 2020 Thys de Wet - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 TAP_CODE_DELAY 10 diff --git a/keyboards/tkw/stoutgat/v1/info.json b/keyboards/tkw/stoutgat/v1/info.json index 334ace4d3ac..9d7a60a4b97 100644 --- a/keyboards/tkw/stoutgat/v1/info.json +++ b/keyboards/tkw/stoutgat/v1/info.json @@ -19,6 +19,9 @@ {"pin_a": "B0", "pin_b": "B1"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "processor": "atmega32a", "bootloader": "usbasploader", "community_layouts": ["65_iso", "65_ansi"], diff --git a/keyboards/tkw/stoutgat/v2/config.h b/keyboards/tkw/stoutgat/v2/config.h index 3e5d5a452a3..5327f1644b6 100644 --- a/keyboards/tkw/stoutgat/v2/config.h +++ b/keyboards/tkw/stoutgat/v2/config.h @@ -15,10 +15,6 @@ */ #pragma once -#define MATRIX_IO_DELAY 5 -#define TAP_CODE_DELAY 10 - -#define RGBLED_NUM 13 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tkw/stoutgat/v2/info.json b/keyboards/tkw/stoutgat/v2/info.json index e0cc720365c..659d125d862 100644 --- a/keyboards/tkw/stoutgat/v2/info.json +++ b/keyboards/tkw/stoutgat/v2/info.json @@ -13,11 +13,13 @@ "driver": "pwm" }, "rgblight": { + "led_count": 13, "max_brightness": 120 }, "matrix_pins": { "cols": ["B0", "A7", "A6", "A5", "A4", "A3", "A1", "A0", "C15", "C14", "C13", "A15", "B3", "B4", "B5"], - "rows": ["B6", "A2", "B7", "B9", "B8"] + "rows": ["B6", "A2", "B7", "B9", "B8"], + "io_delay": 5 }, "diode_direction": "COL2ROW", "encoder": { @@ -26,6 +28,9 @@ {"pin_a": "B12", "pin_b": "B13"} ] }, + "qmk": { + "tap_keycode_delay": 10 + }, "community_layouts": ["65_iso", "65_ansi"], "layouts": { "LAYOUT_65_ansi": { diff --git a/keyboards/tmo50/config.h b/keyboards/tmo50/config.h index 29151c2a22b..23e4e1ff446 100644 --- a/keyboards/tmo50/config.h +++ b/keyboards/tmo50/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tmo50/info.json b/keyboards/tmo50/info.json index f4cb7b1aa8e..6db3743d263 100644 --- a/keyboards/tmo50/info.json +++ b/keyboards/tmo50/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/toffee_studio/blueberry/config.h b/keyboards/toffee_studio/blueberry/config.h index 07a4bae2be0..4708cd179b9 100644 --- a/keyboards/toffee_studio/blueberry/config.h +++ b/keyboards/toffee_studio/blueberry/config.h @@ -16,16 +16,6 @@ #pragma once -# define RGBLED_NUM 22 - -/* RGB LED logical order map */ -/* Top->Bottom, Right->Left */ -#define RGBLIGHT_LED_MAP { \ - 19, 18, 17, 16, 15, 14, 13, 12, 11, \ - 20, 10, \ - 21, 9, \ - 0, 1, 2, 3, 4, 5, 6, 7, 8 } - # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/toffee_studio/blueberry/info.json b/keyboards/toffee_studio/blueberry/info.json index 6acd8f4a589..f14afaaced5 100644 --- a/keyboards/toffee_studio/blueberry/info.json +++ b/keyboards/toffee_studio/blueberry/info.json @@ -12,7 +12,9 @@ "pin": "D0" }, "rgblight": { - "max_brightness": 192 + "led_count": 22, + "max_brightness": 192, + "led_map": [19, 18, 17, 16, 15, 14, 13, 12, 11, 20, 10, 21, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8] }, "matrix_pins": { "cols": ["B6", "D4", "D6", "D7", "B4", "B5", "C6", "C7"], diff --git a/keyboards/tokyokeyboard/alix40/config.h b/keyboards/tokyokeyboard/alix40/config.h index fad2d49c938..f2bc075790b 100644 --- a/keyboards/tokyokeyboard/alix40/config.h +++ b/keyboards/tokyokeyboard/alix40/config.h @@ -30,10 +30,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 /* Bluetooth */ #define BATTERY_LEVEL_PIN B6 diff --git a/keyboards/tokyokeyboard/alix40/info.json b/keyboards/tokyokeyboard/alix40/info.json index d71fb56f0bc..1c2c6fcd6af 100644 --- a/keyboards/tokyokeyboard/alix40/info.json +++ b/keyboards/tokyokeyboard/alix40/info.json @@ -18,6 +18,12 @@ "levels": 31, "breathing": true }, + "rgblight": { + "hue_steps": 10, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 12 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/tokyokeyboard/tokyo60/config.h b/keyboards/tokyokeyboard/tokyo60/config.h index dd58e34f08f..d702489ee7a 100644 --- a/keyboards/tokyokeyboard/tokyo60/config.h +++ b/keyboards/tokyokeyboard/tokyo60/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 12 -#define RGBLIGHT_SAT_STEP 12 -#define RGBLIGHT_VAL_STEP 12 diff --git a/keyboards/tokyokeyboard/tokyo60/info.json b/keyboards/tokyokeyboard/tokyo60/info.json index aae81a4a6b6..b0278c2541d 100644 --- a/keyboards/tokyokeyboard/tokyo60/info.json +++ b/keyboards/tokyokeyboard/tokyo60/info.json @@ -18,6 +18,12 @@ "pin": "B7", "levels": 6 }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 12, + "brightness_steps": 12, + "led_count": 10 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/tominabox1/bigboy/config.h b/keyboards/tominabox1/bigboy/config.h index 77d49adbec4..da07ff72516 100755 --- a/keyboards/tominabox1/bigboy/config.h +++ b/keyboards/tominabox1/bigboy/config.h @@ -16,12 +16,6 @@ #pragma once - #define RGBLED_NUM 5 - - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL #define RGBLIGHT_EFFECT_SNAKE diff --git a/keyboards/tominabox1/bigboy/info.json b/keyboards/tominabox1/bigboy/info.json index 87f8473bb8a..10b93b7a15d 100644 --- a/keyboards/tominabox1/bigboy/info.json +++ b/keyboards/tominabox1/bigboy/info.json @@ -8,6 +8,11 @@ "pid": "0x6262", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5 + }, "ws2812": { "pin": "B5" }, diff --git a/keyboards/tominabox1/le_chiffre/config.h b/keyboards/tominabox1/le_chiffre/config.h index fb3860b0eb7..c4ae5fc38b3 100644 --- a/keyboards/tominabox1/le_chiffre/config.h +++ b/keyboards/tominabox1/le_chiffre/config.h @@ -24,9 +24,7 @@ * WS2812 Underglow Matrix options */ -#define RGBLED_NUM 11 - -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT 11 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -44,8 +42,4 @@ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #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 #endif diff --git a/keyboards/tominabox1/le_chiffre/he/info.json b/keyboards/tominabox1/le_chiffre/he/info.json index bab0d5242c5..b4c02bf0e11 100644 --- a/keyboards/tominabox1/le_chiffre/he/info.json +++ b/keyboards/tominabox1/le_chiffre/he/info.json @@ -2,6 +2,9 @@ "usb": { "device_version": "0.0.3" }, + "rgblight": { + "led_count": 11 + }, "ws2812": { "pin": "F0" }, @@ -16,7 +19,10 @@ ] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/tominabox1/le_chiffre/rev1/info.json b/keyboards/tominabox1/le_chiffre/rev1/info.json index 5222f4ea514..73b6f435a74 100644 --- a/keyboards/tominabox1/le_chiffre/rev1/info.json +++ b/keyboards/tominabox1/le_chiffre/rev1/info.json @@ -2,6 +2,9 @@ "usb": { "device_version": "0.0.1" }, + "rgblight": { + "led_count": 11 + }, "ws2812": { "pin": "F0" }, @@ -16,7 +19,10 @@ ] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/tominabox1/le_chiffre/rev2/info.json b/keyboards/tominabox1/le_chiffre/rev2/info.json index f6773fb9bdf..44dcfdf7281 100644 --- a/keyboards/tominabox1/le_chiffre/rev2/info.json +++ b/keyboards/tominabox1/le_chiffre/rev2/info.json @@ -2,6 +2,9 @@ "usb": { "device_version": "0.0.2" }, + "rgblight": { + "led_count": 11 + }, "ws2812": { "pin": "B1" }, @@ -16,7 +19,10 @@ ] }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/tominabox1/qaz/config.h b/keyboards/tominabox1/qaz/config.h index a9b9df68157..85cbd30a423 100644 --- a/keyboards/tominabox1/qaz/config.h +++ b/keyboards/tominabox1/qaz/config.h @@ -15,7 +15,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 21 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/tominabox1/qaz/info.json b/keyboards/tominabox1/qaz/info.json index 99ae387af7b..73c5195cc71 100644 --- a/keyboards/tominabox1/qaz/info.json +++ b/keyboards/tominabox1/qaz/info.json @@ -8,6 +8,11 @@ "pid": "0x0001", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 21 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/tominabox1/underscore33/rev2/config.h b/keyboards/tominabox1/underscore33/rev2/config.h index eac1807676e..1ea0b6598d2 100644 --- a/keyboards/tominabox1/underscore33/rev2/config.h +++ b/keyboards/tominabox1/underscore33/rev2/config.h @@ -21,7 +21,6 @@ #define LOCKING_RESYNC_ENABLE #ifdef RGBLIGHT_ENABLE - #define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tominabox1/underscore33/rev2/info.json b/keyboards/tominabox1/underscore33/rev2/info.json index 2b93047d410..5553a11d9a9 100644 --- a/keyboards/tominabox1/underscore33/rev2/info.json +++ b/keyboards/tominabox1/underscore33/rev2/info.json @@ -8,6 +8,9 @@ "pid": "0x3302", "device_version": "0.0.2" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/tr60w/config.h b/keyboards/tr60w/config.h index a6dfefb6b90..d702489ee7a 100644 --- a/keyboards/tr60w/config.h +++ b/keyboards/tr60w/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/tr60w/info.json b/keyboards/tr60w/info.json index 62e5fae73b0..6dbaeb8c497 100644 --- a/keyboards/tr60w/info.json +++ b/keyboards/tr60w/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "B7" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/trashman/ketch/config.h b/keyboards/trashman/ketch/config.h index 0f391f70ba5..ff4749b2902 100644 --- a/keyboards/trashman/ketch/config.h +++ b/keyboards/trashman/ketch/config.h @@ -22,7 +22,6 @@ SOFTWARE. #pragma once -#define RGBLED_NUM 10 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,5 +32,4 @@ SOFTWARE. #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP #define NO_USB_STARTUP_CHECK diff --git a/keyboards/trashman/ketch/info.json b/keyboards/trashman/ketch/info.json index 21f3bb7ec3a..75bfb0b0736 100644 --- a/keyboards/trashman/ketch/info.json +++ b/keyboards/trashman/ketch/info.json @@ -9,6 +9,10 @@ "device_version": "0.0.1", "max_power": 100 }, + "rgblight": { + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/tszaboo/ortho4exent/config.h b/keyboards/tszaboo/ortho4exent/config.h index d04509a30de..30b34af59d2 100644 --- a/keyboards/tszaboo/ortho4exent/config.h +++ b/keyboards/tszaboo/ortho4exent/config.h @@ -17,12 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 18 - - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tszaboo/ortho4exent/info.json b/keyboards/tszaboo/ortho4exent/info.json index 21c69b1eb07..85b835b20c8 100644 --- a/keyboards/tszaboo/ortho4exent/info.json +++ b/keyboards/tszaboo/ortho4exent/info.json @@ -8,6 +8,12 @@ "pid": "0x7934", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/tunks/ergo33/config.h b/keyboards/tunks/ergo33/config.h index 5ab6f8a3475..edfd0825c6e 100644 --- a/keyboards/tunks/ergo33/config.h +++ b/keyboards/tunks/ergo33/config.h @@ -28,14 +28,6 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#if !defined(RGBLED_NUM) -/* RGB LED count - * No external LED PCB: 10 - * External LED PCB: 14 - */ -# define RGBLED_NUM 14 -#endif - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/tunks/ergo33/info.json b/keyboards/tunks/ergo33/info.json index afca170abd8..e5b1e6f5193 100644 --- a/keyboards/tunks/ergo33/info.json +++ b/keyboards/tunks/ergo33/info.json @@ -7,6 +7,9 @@ "pid": "0xA0A1", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "D4" }, diff --git a/keyboards/tw40/config.h b/keyboards/tw40/config.h index 7c938233140..c335ed5cca3 100644 --- a/keyboards/tw40/config.h +++ b/keyboards/tw40/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 15 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/tw40/info.json b/keyboards/tw40/info.json index d57206cbc5e..b09acc66d15 100644 --- a/keyboards/tw40/info.json +++ b/keyboards/tw40/info.json @@ -8,6 +8,9 @@ "pid": "0x5457", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 15 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/tzarc/djinn/rev1/config.h b/keyboards/tzarc/djinn/rev1/config.h index 5ced7003233..5dffc00141f 100644 --- a/keyboards/tzarc/djinn/rev1/config.h +++ b/keyboards/tzarc/djinn/rev1/config.h @@ -14,7 +14,6 @@ #endif // SERIAL_USART_SPEED // RGB configuration -#define RGBLED_NUM 84 #define RGB_MATRIX_LED_COUNT 84 #define RGB_MATRIX_SPLIT \ { 42, 42 } diff --git a/keyboards/tzarc/djinn/rev2/config.h b/keyboards/tzarc/djinn/rev2/config.h index 02224e4fc61..12a63724057 100644 --- a/keyboards/tzarc/djinn/rev2/config.h +++ b/keyboards/tzarc/djinn/rev2/config.h @@ -17,7 +17,6 @@ #define SERIAL_USART_FULL_DUPLEX // RGB configuration -#define RGBLED_NUM 86 #define RGB_MATRIX_LED_COUNT 86 #define RGB_MATRIX_SPLIT \ { 43, 43 } diff --git a/keyboards/tzarc/ghoul/config.h b/keyboards/tzarc/ghoul/config.h index c027b77565d..932ea8eb50d 100644 --- a/keyboards/tzarc/ghoul/config.h +++ b/keyboards/tzarc/ghoul/config.h @@ -13,4 +13,3 @@ // RGB configuration #define RGB_MATRIX_LED_COUNT 40 -#define RGBLED_NUM 40 diff --git a/keyboards/tzarc/ghoul/rules.mk b/keyboards/tzarc/ghoul/rules.mk index 10630d80cf2..9590c52217a 100644 --- a/keyboards/tzarc/ghoul/rules.mk +++ b/keyboards/tzarc/ghoul/rules.mk @@ -1,7 +1,6 @@ CUSTOM_MATRIX = lite EEPROM_DRIVER = spi QUANTUM_PAINTER_DRIVERS = ssd1351_spi -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE DEFAULT_FOLDER = tzarc/ghoul/rev1/stm32 diff --git a/keyboards/ubest/vn/config.h b/keyboards/ubest/vn/config.h deleted file mode 100644 index fd3c59f509a..00000000000 --- a/keyboards/ubest/vn/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2022 water - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General 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 RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// #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 diff --git a/keyboards/ubest/vn/info.json b/keyboards/ubest/vn/info.json index 4180f6f5ecb..87afc573d5e 100644 --- a/keyboards/ubest/vn/info.json +++ b/keyboards/ubest/vn/info.json @@ -20,7 +20,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 240 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "max_brightness": 240, + "sleep": true }, "indicators": { "caps_lock": "B3", diff --git a/keyboards/uk78/config.h b/keyboards/uk78/config.h index ab971a55ad8..356b578ee0d 100644 --- a/keyboards/uk78/config.h +++ b/keyboards/uk78/config.h @@ -34,7 +34,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/uk78/info.json b/keyboards/uk78/info.json index f166936a9a2..87d58e1b832 100644 --- a/keyboards/uk78/info.json +++ b/keyboards/uk78/info.json @@ -16,6 +16,11 @@ "backlight": { "pin": "B6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/uk78/keymaps/default/keymap.c b/keyboards/uk78/keymaps/default/keymap.c index 2fa09f7d6da..e4bdf905085 100644 --- a/keyboards/uk78/keymaps/default/keymap.c +++ b/keyboards/uk78/keymaps/default/keymap.c @@ -75,12 +75,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { setPinOutput(A3); writePinHigh(A3); } else { setPinInput(A3); writePinLow(A3); } + return false; } diff --git a/keyboards/uk78/keymaps/rask/keymap.c b/keyboards/uk78/keymaps/rask/keymap.c index 97b1853aaec..01220a775ea 100644 --- a/keyboards/uk78/keymaps/rask/keymap.c +++ b/keyboards/uk78/keymaps/rask/keymap.c @@ -74,47 +74,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { DDRA |= (1 << 3); PORTA |= (1 << 3); } else { DDRA &= ~(1 << 3); PORTA &= ~(1 << 3); } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - + return false; } diff --git a/keyboards/ungodly/launch_pad/config.h b/keyboards/ungodly/launch_pad/config.h index 9c6459abbda..f3431bd412f 100644 --- a/keyboards/ungodly/launch_pad/config.h +++ b/keyboards/ungodly/launch_pad/config.h @@ -21,8 +21,7 @@ /* RGB Matrix configuration */ #ifdef RGB_MATRIX_ENABLE -# define RGBLED_NUM 22 -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 22 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended @@ -30,10 +29,6 @@ // # 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 50 // 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 RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // default mode // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/ungodly/launch_pad/info.json b/keyboards/ungodly/launch_pad/info.json index 97f3d10407f..c94b2eb1c90 100644 --- a/keyboards/ungodly/launch_pad/info.json +++ b/keyboards/ungodly/launch_pad/info.json @@ -9,7 +9,10 @@ "device_version": "99.9.9" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3"], diff --git a/keyboards/unikorn/config.h b/keyboards/unikorn/config.h index 4c3789155ee..d0153fcff02 100644 --- a/keyboards/unikorn/config.h +++ b/keyboards/unikorn/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once #ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 17 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/unikorn/info.json b/keyboards/unikorn/info.json index 02202bef077..5bd23e612ec 100644 --- a/keyboards/unikorn/info.json +++ b/keyboards/unikorn/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 17 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/unison/v04/config.h b/keyboards/unison/v04/config.h index d80dc827f6b..93e7e6a90cc 100644 --- a/keyboards/unison/v04/config.h +++ b/keyboards/unison/v04/config.h @@ -26,12 +26,6 @@ along with this program. If not, see . #endif /* RGB Lighting */ - #define RGBLED_NUM 7 // Layer Indicator(2) + Rotary Encoder(5) - #define RGBLIGHT_LED_MAP {1, 2, 0, 3, 4, 5, 6} // align LEDs from Left to Right - #define RGBLIGHT_HUE_STEP 4 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== Lighting Layers ==*/ #define RGBLIGHT_LAYERS // #define RGBLIGHT_MAX_LAYERS 2 diff --git a/keyboards/unison/v04/info.json b/keyboards/unison/v04/info.json index 481c07f7a9a..291c10f37b7 100644 --- a/keyboards/unison/v04/info.json +++ b/keyboards/unison/v04/info.json @@ -12,6 +12,13 @@ "cols": ["B3", "E6", "F1", "F5", "F7", "B2", "F0", "F4", "F6", "C7"], "rows": ["B3", "E6", "F1", "F5", "F7", "B2", "F0", "F4", "F6", "C7"] }, + "rgblight": { + "hue_steps": 4, + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "led_map": [1, 2, 0, 3, 4, 5, 6] + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/utd80/config.h b/keyboards/utd80/config.h index 5d33e9e99cb..48ae5adb5b8 100644 --- a/keyboards/utd80/config.h +++ b/keyboards/utd80/config.h @@ -31,7 +31,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/utd80/info.json b/keyboards/utd80/info.json index 5a7bde1da1c..6e962fb8693 100644 --- a/keyboards/utd80/info.json +++ b/keyboards/utd80/info.json @@ -21,6 +21,11 @@ "caps_lock": "B6", "scroll_lock": "B5" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/uzu42/rev1/config.h b/keyboards/uzu42/rev1/config.h index 033d1ab111d..24bf7e6df41 100644 --- a/keyboards/uzu42/rev1/config.h +++ b/keyboards/uzu42/rev1/config.h @@ -18,8 +18,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 54 // Number of LEDs - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -31,10 +29,6 @@ along with this program. If not, see . // #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/uzu42/rev1/info.json b/keyboards/uzu42/rev1/info.json index a9e0b278264..412b3abf563 100644 --- a/keyboards/uzu42/rev1/info.json +++ b/keyboards/uzu42/rev1/info.json @@ -20,6 +20,8 @@ "pin": "D3" }, "rgblight": { + "hue_steps": 10, + "led_count": 54, "max_brightness": 120, "split_count": [27, 27] }, diff --git a/keyboards/v60_type_r/config.h b/keyboards/v60_type_r/config.h index 8eafa8d7b51..34403d0c97d 100644 --- a/keyboards/v60_type_r/config.h +++ b/keyboards/v60_type_r/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 1 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/v60_type_r/info.json b/keyboards/v60_type_r/info.json index f219dd1727a..8a2b7827ceb 100644 --- a/keyboards/v60_type_r/info.json +++ b/keyboards/v60_type_r/info.json @@ -17,6 +17,9 @@ "pin": "F7", "on_state": 0 }, + "rgblight": { + "led_count": 1 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["60_ansi", "60_iso"], diff --git a/keyboards/v60_type_r/keymaps/followingghosts/keymap.c b/keyboards/v60_type_r/keymaps/followingghosts/keymap.c index ab1fbd70d9f..419c9ad5a72 100644 --- a/keyboards/v60_type_r/keymaps/followingghosts/keymap.c +++ b/keyboards/v60_type_r/keymaps/followingghosts/keymap.c @@ -95,8 +95,8 @@ WASD are Up Left Right Down respectively }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<. + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ansi( + KC_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_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_F20, KC_F21, KC_F22, KC_F23, KC_F24, 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_PSLS, KC_P7, KC_P8, KC_P9, 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_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, 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_PMNS, KC_P1, KC_P2, KC_P3, 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_PPLS, KC_P0, KC_PDOT, KC_PENT, KC_PGDN, KC_LWIN, KC_LCTL, KC_PSCR, KC_INT5, KC_SPC, KC_INT4, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } +}; +#endif diff --git a/keyboards/varanidae/keymaps/ansi/rules.mk b/keyboards/varanidae/keymaps/ansi/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/varanidae/keymaps/ansi/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/varanidae/keymaps/ansi_split_bs_rshift/keymap.c b/keyboards/varanidae/keymaps/ansi_split_bs_rshift/keymap.c new file mode 100644 index 00000000000..becb8120711 --- /dev/null +++ b/keyboards/varanidae/keymaps/ansi_split_bs_rshift/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2023 QMK + * Copyright 2023 Silc Renew / Tokage IT Lab. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_split_bs_rshift( + KC_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_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_F20, KC_F21, KC_F22, KC_F23, KC_F24, 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_PSLS, KC_P7, KC_P8, KC_P9, 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_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, 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_PMNS, KC_P1, KC_P2, KC_P3, 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_GRV, KC_RSFT, + KC_PPLS, KC_P0, KC_PDOT, KC_PENT, KC_PGDN, KC_LWIN, KC_LCTL, KC_PSCR, KC_INT5, KC_SPC, KC_INT4, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } +}; +#endif diff --git a/keyboards/varanidae/keymaps/ansi_split_bs_rshift/rules.mk b/keyboards/varanidae/keymaps/ansi_split_bs_rshift/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/varanidae/keymaps/ansi_split_bs_rshift/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/varanidae/keymaps/default/keymap.c b/keyboards/varanidae/keymaps/default/keymap.c new file mode 100644 index 00000000000..4c43532108b --- /dev/null +++ b/keyboards/varanidae/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2023 QMK + * Copyright 2023 Silc Renew / Tokage IT Lab. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_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_F20, KC_F21, KC_F22, KC_F23, KC_F24, 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_PSLS, KC_P7, KC_P8, KC_P9, 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_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, 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_PMNS, KC_P1, KC_P2, KC_P3, 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_GRV, KC_RSFT, + KC_PPLS, KC_P0, KC_PDOT, KC_PENT, KC_PGDN, KC_LWIN, KC_LCTL, KC_PSCR, KC_INT5, KC_SPC, KC_INT4, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } +}; +#endif diff --git a/keyboards/varanidae/keymaps/default/rules.mk b/keyboards/varanidae/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/varanidae/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/varanidae/keymaps/iso/keymap.c b/keyboards/varanidae/keymaps/iso/keymap.c new file mode 100644 index 00000000000..b1f1b0c9a4d --- /dev/null +++ b/keyboards/varanidae/keymaps/iso/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2023 QMK + * Copyright 2023 Silc Renew / Tokage IT Lab. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_iso( + KC_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_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_F20, KC_F21, KC_F22, KC_F23, KC_F24, 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_PSLS, KC_P7, KC_P8, KC_P9, 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_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, 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_PMNS, KC_P1, KC_P2, KC_P3, 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_PPLS, KC_P0, KC_PDOT, KC_PENT, KC_PGDN, KC_LWIN, KC_LCTL, KC_PSCR, KC_INT5, KC_SPC, KC_INT4, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } +}; +#endif diff --git a/keyboards/varanidae/keymaps/iso/rules.mk b/keyboards/varanidae/keymaps/iso/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/varanidae/keymaps/iso/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/varanidae/keymaps/iso_split_bs_rshift/keymap.c b/keyboards/varanidae/keymaps/iso_split_bs_rshift/keymap.c new file mode 100644 index 00000000000..7324f628772 --- /dev/null +++ b/keyboards/varanidae/keymaps/iso_split_bs_rshift/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2023 QMK + * Copyright 2023 Silc Renew / Tokage IT Lab. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_iso_split_bs_rshift( + KC_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_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_F20, KC_F21, KC_F22, KC_F23, KC_F24, 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_PSLS, KC_P7, KC_P8, KC_P9, 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_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, 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_PMNS, KC_P1, KC_P2, KC_P3, 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_GRV, KC_RSFT, + KC_PPLS, KC_P0, KC_PDOT, KC_PENT, KC_PGDN, KC_LWIN, KC_LCTL, KC_PSCR, KC_INT5, KC_SPC, KC_INT4, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } +}; +#endif diff --git a/keyboards/varanidae/keymaps/iso_split_bs_rshift/rules.mk b/keyboards/varanidae/keymaps/iso_split_bs_rshift/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/varanidae/keymaps/iso_split_bs_rshift/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/varanidae/keymaps/via/keymap.c b/keyboards/varanidae/keymaps/via/keymap.c new file mode 100644 index 00000000000..20e942e455a --- /dev/null +++ b/keyboards/varanidae/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2023 QMK + * Copyright 2023 Silc Renew / Tokage IT Lab. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more 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_BTN3, KC_F16, KC_F17, KC_F18, KC_F19, KC_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_F20, KC_F21, KC_F22, KC_F23, KC_F24, 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_PSLS, KC_P7, KC_P8, KC_P9, 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_PAST, KC_P4, KC_P5, KC_P6, KC_END, KC_LALT, 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_PMNS, KC_P1, KC_P2, KC_P3, 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_GRV, KC_RSFT, + KC_PPLS, KC_P0, KC_PDOT, KC_PENT, KC_PGDN, KC_LWIN, KC_LCTL, KC_PSCR, KC_INT5, KC_SPC, KC_INT4, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT + ) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) } +}; +#endif diff --git a/keyboards/varanidae/keymaps/via/rules.mk b/keyboards/varanidae/keymaps/via/rules.mk new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/varanidae/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/varanidae/readme.md b/keyboards/varanidae/readme.md new file mode 100644 index 00000000000..fbaaa77d640 --- /dev/null +++ b/keyboards/varanidae/readme.md @@ -0,0 +1,24 @@ +# Varanidae + +![Varanidae](https://i.imgur.com/0wWfmE1h.png) + +Varanidae the left-side pad 110 keys keyboard for creators powered by Elite-C. + +* Keyboard Maintainer: [Silc Renew](https://github.com/TokageItLab) +* Hardware Supported: Varanidae +* Hardware Availability: [TokageItLab / Varanidae](https://github.com/TokageItLab/Varanidae) + +Make example for this keyboard (after setting up your build environment): + + make varanidae:default + make varanidae:via + +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 switch at (0,0) in the matrix (usually the encoder push switch) and plug in the keyboard +* **Physical reset button**: Briefly press the reset switch on the Elite-C +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/varanidae/rules.mk b/keyboards/varanidae/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/varanidae/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/vertex/angle65/config.h b/keyboards/vertex/angle65/config.h index 4db0deb111f..74731dd4c93 100644 --- a/keyboards/vertex/angle65/config.h +++ b/keyboards/vertex/angle65/config.h @@ -28,6 +28,5 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 9 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 5 diff --git a/keyboards/vertex/angle65/info.json b/keyboards/vertex/angle65/info.json index 03649ab0725..2ad59e06429 100644 --- a/keyboards/vertex/angle65/info.json +++ b/keyboards/vertex/angle65/info.json @@ -20,6 +20,9 @@ "caps_lock": "C13", "on_state": 0 }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/vertex/angle65/rules.mk b/keyboards/vertex/angle65/rules.mk index 87d50360410..2849e086e8f 100644 --- a/keyboards/vertex/angle65/rules.mk +++ b/keyboards/vertex/angle65/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output HAPTIC_ENABLE = yes HAPTIC_DRIVER += SOLENOID - -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/vertex/angler2/config.h b/keyboards/vertex/angler2/config.h index 79cb6d6aaed..5f059796c8a 100644 --- a/keyboards/vertex/angler2/config.h +++ b/keyboards/vertex/angler2/config.h @@ -26,7 +26,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/vertex/angler2/info.json b/keyboards/vertex/angler2/info.json index 705af3fb092..b0d6f8d12c4 100644 --- a/keyboards/vertex/angler2/info.json +++ b/keyboards/vertex/angler2/info.json @@ -21,6 +21,11 @@ "ws2812": { "pin": "E6" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 6 + }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": [ diff --git a/keyboards/vertex/arc60/config.h b/keyboards/vertex/arc60/config.h index 791368b5b2c..3cd8a8c9380 100644 --- a/keyboards/vertex/arc60/config.h +++ b/keyboards/vertex/arc60/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 9 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 5 diff --git a/keyboards/vertex/arc60/info.json b/keyboards/vertex/arc60/info.json index 8aa5a709d50..5564b0d3c7e 100644 --- a/keyboards/vertex/arc60/info.json +++ b/keyboards/vertex/arc60/info.json @@ -18,6 +18,9 @@ "caps_lock": "C13", "on_state": 0 }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/vertex/arc60/rules.mk b/keyboards/vertex/arc60/rules.mk index 5a90b0d7fe0..0c92de19187 100644 --- a/keyboards/vertex/arc60/rules.mk +++ b/keyboards/vertex/arc60/rules.mk @@ -17,5 +17,3 @@ DEFAULT_FOLDER = vertex/arc60 -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/vertex/arc60h/config.h b/keyboards/vertex/arc60h/config.h index e4cb0453537..3cd8a8c9380 100644 --- a/keyboards/vertex/arc60h/config.h +++ b/keyboards/vertex/arc60h/config.h @@ -16,9 +16,6 @@ along with this program. If not, see . #pragma once -#define LED_CAPS_LOCK_PIN C13 -#define LED_PIN_ON_STATE 0 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -29,7 +26,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 9 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 5 diff --git a/keyboards/vertex/arc60h/info.json b/keyboards/vertex/arc60h/info.json index 831190a516b..3c6efb75ece 100644 --- a/keyboards/vertex/arc60h/info.json +++ b/keyboards/vertex/arc60h/info.json @@ -9,6 +9,13 @@ "device_version": "0.0.1", "force_nkro": true }, + "indicators": { + "caps_lock": "C13", + "on_state": 0 + }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/vertex/arc60h/rules.mk b/keyboards/vertex/arc60h/rules.mk index 8e6bc896a65..e86dfab3272 100644 --- a/keyboards/vertex/arc60h/rules.mk +++ b/keyboards/vertex/arc60h/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SLEEP_LED_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/viendi8l/config.h b/keyboards/viendi8l/config.h index 825ceabbd31..0538906eccc 100644 --- a/keyboards/viendi8l/config.h +++ b/keyboards/viendi8l/config.h @@ -22,8 +22,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define TAPPING_TERM 200 - #define I2C_DRIVER I2CD1 #define I2C_SCL_PIN B6 #define I2C_SDA_PIN B7 @@ -35,7 +33,6 @@ along with this program. If not, see . #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE -#define RGBLED_NUM 4 #define RGBLIGHT_DEFAULT_VAL 0 #define WS2812_PWM_COMPLEMENTARY_OUTPUT diff --git a/keyboards/viendi8l/info.json b/keyboards/viendi8l/info.json index 301b5cc7565..17449f406c8 100644 --- a/keyboards/viendi8l/info.json +++ b/keyboards/viendi8l/info.json @@ -8,6 +8,9 @@ "pid": "0x0877", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "B15", "driver": "pwm" diff --git a/keyboards/viendi8l/rules.mk b/keyboards/viendi8l/rules.mk index dfa900c7924..da10e34d1c7 100644 --- a/keyboards/viendi8l/rules.mk +++ b/keyboards/viendi8l/rules.mk @@ -15,5 +15,3 @@ LTO_ENABLE = no EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE diff --git a/keyboards/viktus/at101_bh/keymaps/default/keymap.c b/keyboards/viktus/at101_bh/keymaps/default/keymap.c index 692c30ac611..d05e549d21e 100644 --- a/keyboards/viktus/at101_bh/keymaps/default/keymap.c +++ b/keyboards/viktus/at101_bh/keymaps/default/keymap.c @@ -19,26 +19,27 @@ 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { setPinOutput(B4); setPinOutput(D6); setPinOutput(D7); - if (usb_led & (1 << USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { writePinHigh(D7); } else { writePinLow(D7); } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { writePinHigh(B4); } else { writePinLow(B4); } - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { writePinHigh(D6); } else { writePinLow(D6); } + return false; } diff --git a/keyboards/viktus/omnikey_bh/keymaps/default/keymap.c b/keyboards/viktus/omnikey_bh/keymaps/default/keymap.c index 96976ba2a35..e5fb6bf9025 100644 --- a/keyboards/viktus/omnikey_bh/keymaps/default/keymap.c +++ b/keyboards/viktus/omnikey_bh/keymaps/default/keymap.c @@ -22,24 +22,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { DDRB |= (1 << 4) | (1 << 5) | (1 << 6); - if (usb_led & (1 << USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { PORTB |= (1 << 4); } else { PORTB &= ~(1 << 4); } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { PORTB |= (1 << 5); } else { PORTB &= ~(1 << 5); } - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { + if (led_state.scroll_lock) { PORTB |= (1 << 6); } else { PORTB &= ~(1 << 6); } + return false; } diff --git a/keyboards/viktus/osav2_numpad/info.json b/keyboards/viktus/osav2_numpad/info.json index d347631ccc9..941d65f3678 100644 --- a/keyboards/viktus/osav2_numpad/info.json +++ b/keyboards/viktus/osav2_numpad/info.json @@ -39,8 +39,16 @@ "twinkle": true } }, + "layout_aliases": { + "LAYOUT_all_split": "LAYOUT_ortho_5x4", + "LAYOUT_2u_plus_2u_enter_2u_zero": "LAYOUT_numpad_5x4" + }, + "community_layouts": [ + "ortho_5x4", + "numpad_5x4" + ], "layouts": { - "LAYOUT_all_split": { + "LAYOUT_ortho_5x4": { "layout": [ {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "K01", "matrix": [0, 1], "x": 1, "y": 0}, @@ -84,7 +92,7 @@ {"label": "K40", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "K41", "matrix": [4, 1], "x": 1, "y": 4}, {"label": "K42", "matrix": [4, 2], "x": 2, "y": 4}, - {"label": "K43", "matrix": [4, 3], "h": 2, "x": 3, "y": 3} + {"label": "K43", "matrix": [4, 3], "x": 3, "y": 3, "h": 2} ] }, "LAYOUT_2u_plus_2u_enter": { @@ -99,14 +107,14 @@ {"label": "K20", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "K21", "matrix": [2, 1], "x": 1, "y": 2}, {"label": "K22", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "K23", "matrix": [2, 3], "h": 2, "x": 3, "y": 1}, + {"label": "K23", "matrix": [2, 3], "x": 3, "y": 1, "h": 2}, {"label": "K30", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "K31", "matrix": [3, 1], "x": 1, "y": 3}, {"label": "K32", "matrix": [3, 2], "x": 2, "y": 3}, {"label": "K40", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "K41", "matrix": [4, 1], "x": 1, "y": 4}, {"label": "K42", "matrix": [4, 2], "x": 2, "y": 4}, - {"label": "K43", "matrix": [4, 3], "h": 2, "x": 3, "y": 3} + {"label": "K43", "matrix": [4, 3], "x": 3, "y": 3, "h": 2} ] }, "LAYOUT_2u_enter_2u_zero": { @@ -126,12 +134,12 @@ {"label": "K30", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "K31", "matrix": [3, 1], "x": 1, "y": 3}, {"label": "K32", "matrix": [3, 2], "x": 2, "y": 3}, - {"label": "K41", "matrix": [4, 1], "h": 2, "x": 0, "y": 4}, + {"label": "K41", "matrix": [4, 1], "x": 0, "y": 4, "w": 2}, {"label": "K42", "matrix": [4, 2], "x": 2, "y": 4}, - {"label": "K43", "matrix": [4, 3], "h": 2, "x": 3, "y": 3} + {"label": "K43", "matrix": [4, 3], "x": 3, "y": 3, "h": 2} ] }, - "LAYOUT_2u_plus_2u_enter_2u_zero": { + "LAYOUT_numpad_5x4": { "layout": [ {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "K01", "matrix": [0, 1], "x": 1, "y": 0}, @@ -143,13 +151,13 @@ {"label": "K20", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "K21", "matrix": [2, 1], "x": 1, "y": 2}, {"label": "K22", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "K23", "matrix": [2, 3], "h": 2, "x": 3, "y": 1}, + {"label": "K23", "matrix": [2, 3], "x": 3, "y": 1, "h": 2}, {"label": "K30", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "K31", "matrix": [3, 1], "x": 1, "y": 3}, {"label": "K32", "matrix": [3, 2], "x": 2, "y": 3}, - {"label": "K41", "matrix": [4, 1], "h": 2, "x": 0, "y": 4}, + {"label": "K41", "matrix": [4, 1], "x": 0, "y": 4, "w": 2}, {"label": "K42", "matrix": [4, 2], "x": 2, "y": 4}, - {"label": "K43", "matrix": [4, 3], "h": 2, "x": 3, "y": 3} + {"label": "K43", "matrix": [4, 3], "x": 3, "y": 3, "h": 2} ] }, "LAYOUT_mirrored_2u_enter": { @@ -169,7 +177,7 @@ {"label": "K31", "matrix": [3, 1], "x": 1, "y": 3}, {"label": "K32", "matrix": [3, 2], "x": 2, "y": 3}, {"label": "K33", "matrix": [3, 3], "x": 3, "y": 3}, - {"label": "K40", "matrix": [4, 0], "h": 2, "x": 0, "y": 3}, + {"label": "K40", "matrix": [4, 0], "x": 0, "y": 3, "h": 2}, {"label": "K41", "matrix": [4, 1], "x": 1, "y": 4}, {"label": "K42", "matrix": [4, 2], "x": 2, "y": 4}, {"label": "K43", "matrix": [4, 3], "x": 3, "y": 4} @@ -184,14 +192,14 @@ {"label": "K11", "matrix": [1, 1], "x": 1, "y": 1}, {"label": "K12", "matrix": [1, 2], "x": 2, "y": 1}, {"label": "K13", "matrix": [1, 3], "x": 3, "y": 1}, - {"label": "K20", "matrix": [2, 0], "h": 2, "x": 0, "y": 1}, + {"label": "K20", "matrix": [2, 0], "x": 0, "y": 1, "h": 2}, {"label": "K21", "matrix": [2, 1], "x": 1, "y": 2}, {"label": "K22", "matrix": [2, 2], "x": 2, "y": 2}, {"label": "K23", "matrix": [2, 3], "x": 3, "y": 2}, {"label": "K31", "matrix": [3, 1], "x": 1, "y": 3}, {"label": "K32", "matrix": [3, 2], "x": 2, "y": 3}, {"label": "K33", "matrix": [3, 3], "x": 3, "y": 3}, - {"label": "K40", "matrix": [4, 0], "h": 2, "x": 0, "y": 3}, + {"label": "K40", "matrix": [4, 0], "x": 0, "y": 3, "h": 2}, {"label": "K41", "matrix": [4, 1], "x": 1, "y": 4}, {"label": "K42", "matrix": [4, 2], "x": 2, "y": 4}, {"label": "K43", "matrix": [4, 3], "x": 3, "y": 4} @@ -214,9 +222,9 @@ {"label": "K31", "matrix": [3, 1], "x": 1, "y": 3}, {"label": "K32", "matrix": [3, 2], "x": 2, "y": 3}, {"label": "K33", "matrix": [3, 3], "x": 3, "y": 3}, - {"label": "K40", "matrix": [4, 0], "h": 2, "x": 0, "y": 3}, + {"label": "K40", "matrix": [4, 0], "x": 0, "y": 3, "h": 2}, {"label": "K41", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "K42", "matrix": [4, 2], "w": 2, "x": 2, "y": 4} + {"label": "K42", "matrix": [4, 2], "x": 2, "y": 4, "w": 2} ] }, "LAYOUT_mirrored_2u_plus_2u_enter_2u_zero": { @@ -228,16 +236,16 @@ {"label": "K11", "matrix": [1, 1], "x": 1, "y": 1}, {"label": "K12", "matrix": [1, 2], "x": 2, "y": 1}, {"label": "K13", "matrix": [1, 3], "x": 3, "y": 1}, - {"label": "K20", "matrix": [2, 0], "h": 2, "x": 0, "y": 1}, + {"label": "K20", "matrix": [2, 0], "x": 0, "y": 1, "h": 2}, {"label": "K21", "matrix": [2, 1], "x": 1, "y": 2}, {"label": "K22", "matrix": [2, 2], "x": 2, "y": 2}, {"label": "K23", "matrix": [2, 3], "x": 3, "y": 2}, {"label": "K31", "matrix": [3, 1], "x": 1, "y": 3}, {"label": "K32", "matrix": [3, 2], "x": 2, "y": 3}, {"label": "K33", "matrix": [3, 3], "x": 3, "y": 3}, - {"label": "K40", "matrix": [4, 0], "h": 2, "x": 0, "y": 3}, + {"label": "K40", "matrix": [4, 0], "x": 0, "y": 3, "h": 2}, {"label": "K41", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "K42", "matrix": [4, 2], "w": 2, "x": 2, "y": 4} + {"label": "K42", "matrix": [4, 2], "x": 2, "y": 4, "w": 2} ] } } diff --git a/keyboards/viktus/osav2_numpad/keymaps/default/keymap.c b/keyboards/viktus/osav2_numpad/keymaps/default/keymap.c index ce8a1d27741..ac99f1d8c7c 100644 --- a/keyboards/viktus/osav2_numpad/keymaps/default/keymap.c +++ b/keyboards/viktus/osav2_numpad/keymaps/default/keymap.c @@ -17,7 +17,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all_split( + [0] = 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_PEQL, diff --git a/keyboards/viktus/osav2_numpad/keymaps/via/keymap.c b/keyboards/viktus/osav2_numpad/keymaps/via/keymap.c index ce8a1d27741..ac99f1d8c7c 100644 --- a/keyboards/viktus/osav2_numpad/keymaps/via/keymap.c +++ b/keyboards/viktus/osav2_numpad/keymaps/via/keymap.c @@ -17,7 +17,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all_split( + [0] = 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_PEQL, diff --git a/keyboards/viktus/osav2_numpad_topre/ec.c b/keyboards/viktus/osav2_numpad_topre/ec.c new file mode 100644 index 00000000000..e4f59c3b6bf --- /dev/null +++ b/keyboards/viktus/osav2_numpad_topre/ec.c @@ -0,0 +1,181 @@ +/* Copyright 2023 Viktus Design 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 "quantum.h" +#include "ec.h" +#include "analog.h" +//#include "debug.h" // needed for debugging + +// sensing channel definitions +#define A0 0 +#define A1 1 +#define A2 2 +#define A3 3 +#define A4 4 +#define A5 5 +#define A6 6 +#define A7 7 + +// analog connection settings +#define DISCHARGE_PIN B5 +#define ANALOG_PORT B6 + +#ifndef MUX_SEL_PIN +# define MUX_SEL_PINS \ + { D6, D7, B4 } +#endif + +// pin connections +const uint8_t row_channels[] = MATRIX_ROW_PINS; +const uint8_t col_pins[] = MATRIX_COL_PINS; +const uint8_t mux_sel_pins[] = MUX_SEL_PINS; + +_Static_assert(sizeof(mux_sel_pins) == 3, "invalid MUX_SEL_PINS"); + +static ec_config_t config; +static uint16_t ec_sw_value[MATRIX_COLS][MATRIX_ROWS]; + +static inline void discharge_capacitor(void) { setPinOutput(DISCHARGE_PIN); } +static inline void charge_capacitor(uint8_t col) { + setPinInput(DISCHARGE_PIN); + writePinHigh(col_pins[col]); +} + +static inline void clear_all_col_pins(void) { + for (int col = 0; col < sizeof(col_pins); col++) { + writePinLow(col_pins[col]); + } +} + +void init_mux_sel(void) { + for (int idx = 0; idx < sizeof(mux_sel_pins); idx++) { + setPinOutput(mux_sel_pins[idx]); + } +} + +void select_mux(uint8_t row) { + uint8_t ch = row_channels[row]; + writePin(mux_sel_pins[0], ch & 1); + writePin(mux_sel_pins[1], ch & 2); + writePin(mux_sel_pins[2], ch & 4); +} + +void init_col(void) { + for (int idx = 0; idx < sizeof(col_pins); idx++) { + setPinOutput(col_pins[idx]); + writePinLow(col_pins[idx]); + } +} + +void ec_init(ec_config_t const* const ec_config) { + // save config + config = *ec_config; + + // initialize discharge pin as discharge mode + writePinLow(DISCHARGE_PIN); + setPinOutput(DISCHARGE_PIN); + + // set analog reference + analogReference(ADC_REF_POWER); + + // initialize drive lines + init_col(); + + // initialize multiplexer select pin + init_mux_sel(); + + // set discharge pin to charge mode + setPinInput(DISCHARGE_PIN); +} + +uint16_t ec_readkey_raw(uint8_t col, uint8_t row) { + uint16_t sw_value = 0; + + discharge_capacitor(); + + select_mux(row); + + clear_all_col_pins(); + + cli(); + + charge_capacitor(col); + + sw_value = analogReadPin(ANALOG_PORT); + + sei(); + + return sw_value; +} + +bool ec_update_key(matrix_row_t* current_row, matrix_row_t col, uint16_t sw_value, uint16_t reset_pt, uint16_t actuation_pt) { + bool current_state = (*current_row >> col) & 1; + + // press to release + if (current_state && sw_value < reset_pt) { + *current_row &= ~(MATRIX_ROW_SHIFTER << col); + return true; + } + + // rest to press + if ((!current_state) && sw_value > actuation_pt) { + *current_row |= (MATRIX_ROW_SHIFTER << col); + return true; + } + + return false; +} + +bool ec_matrix_scan(matrix_row_t current_matrix[]) { + bool updated = false; + + for (int row = 0; row < sizeof(row_channels); row++) { + for (int col = 0; col < sizeof(col_pins); col++) { + uint16_t reset_pt = config.reset_pt; + uint16_t actuation_pt = config.actuation_pt; + + //Modifying threshold values for overlapping pads + switch(row) { + case 1: + case 2: + case 3: + case 4: + switch(col) { + case 3: // lower threshold for plus and enter: (37 rest, 61 btm) + reset_pt = 45; + actuation_pt = 50; + break; + } + break; + } + + ec_sw_value[col][row] = ec_readkey_raw(col, row); + updated |= ec_update_key(¤t_matrix[row], col, ec_sw_value[col][row], reset_pt, actuation_pt); + } + } + + return updated; +} + +// console debugging for pad values +/*void ec_dprint_matrix(void) { + for (int row = 0; row < sizeof(row_channels); row++) { + for (int col = 0; col < sizeof(col_pins); col++) { + dprintf("%5d", ec_sw_value[col][row]); + } + dprintf("\n"); + } +}*/ diff --git a/keyboards/viktus/osav2_numpad_topre/ec.h b/keyboards/viktus/osav2_numpad_topre/ec.h new file mode 100644 index 00000000000..33bdb2d5eff --- /dev/null +++ b/keyboards/viktus/osav2_numpad_topre/ec.h @@ -0,0 +1,31 @@ +/* Copyright 2023 Viktus Design 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 +#include + +#include "matrix.h" + +typedef struct { + uint16_t reset_pt; + uint16_t actuation_pt; +} ec_config_t; + +void ec_init(ec_config_t const* const ec_config); +bool ec_matrix_scan(matrix_row_t current_matrix[]); +//void ec_dprint_matrix(void); // needed for debugging +uint16_t ec_readkey_raw(uint8_t col, uint8_t row); +bool ec_update_key(matrix_row_t* current_row, uint8_t col, uint16_t sw_value, uint16_t reset_pt, uint16_t actuation_pt); diff --git a/keyboards/viktus/osav2_numpad_topre/info.json b/keyboards/viktus/osav2_numpad_topre/info.json new file mode 100644 index 00000000000..55ca939e3f4 --- /dev/null +++ b/keyboards/viktus/osav2_numpad_topre/info.json @@ -0,0 +1,100 @@ +{ + "manufacturer": "Viktus Design LLC", + "keyboard_name": "OSAv2 Numpad - Topre", + "maintainer": "BlindAssassin111", + "url": "https://viktus.design", + "usb": { + "device_version": "1.1.0", + "vid": "0x5644", + "pid": "0x4E54" + }, + "bootloader": "atmel-dfu", + "processor": "atmega32u4", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["F5", "F6", "D3", "D2"], + "rows": ["A1", "A0", "A3", "A2", "A4"] + }, + "layouts": { + "LAYOUT_ortho_5x4": { + "layout": [ + { "label": "K00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "K01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "K02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "K03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "K10", "matrix": [1, 0], "x": 0, "y": 1 }, + { "label": "K11", "matrix": [1, 1], "x": 1, "y": 1 }, + { "label": "K12", "matrix": [1, 2], "x": 2, "y": 1 }, + { "label": "K13", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "K20", "matrix": [2, 0], "x": 0, "y": 2 }, + { "label": "K21", "matrix": [2, 1], "x": 1, "y": 2 }, + { "label": "K22", "matrix": [2, 2], "x": 2, "y": 2 }, + { "label": "K23", "matrix": [2, 3], "x": 3, "y": 2 }, + { "label": "K30", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "K31", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "K32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "K33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "K40", "matrix": [4, 0], "x": 0, "y": 4 }, + { "label": "K41", "matrix": [4, 1], "x": 1, "y": 4 }, + { "label": "K42", "matrix": [4, 2], "x": 2, "y": 4 }, + { "label": "K43", "matrix": [4, 3], "x": 3, "y": 4 } + ] + }, + "LAYOUT_split_plus_2u_enter": { + "layout": [ + { "label": "K00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "K01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "K02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "K03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "K10", "matrix": [1, 0], "x": 0, "y": 1 }, + { "label": "K11", "matrix": [1, 1], "x": 1, "y": 1 }, + { "label": "K12", "matrix": [1, 2], "x": 2, "y": 1 }, + { "label": "K13", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "K20", "matrix": [2, 0], "x": 0, "y": 2 }, + { "label": "K21", "matrix": [2, 1], "x": 1, "y": 2 }, + { "label": "K22", "matrix": [2, 2], "x": 2, "y": 2 }, + { "label": "K23", "matrix": [2, 3], "x": 3, "y": 2 }, + { "label": "K30", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "K31", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "K32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "K33", "matrix": [3, 3], "h": 2, "x": 3, "y": 3 }, + { "label": "K40", "matrix": [4, 0], "x": 0, "y": 4 }, + { "label": "K41", "matrix": [4, 1], "x": 1, "y": 4 }, + { "label": "K42", "matrix": [4, 2], "x": 2, "y": 4 } + ] + }, + "LAYOUT_2u_plus_2u_enter": { + "layout": [ + { "label": "K00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "K01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "K02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "K03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "K10", "matrix": [1, 0], "x": 0, "y": 1 }, + { "label": "K11", "matrix": [1, 1], "x": 1, "y": 1 }, + { "label": "K12", "matrix": [1, 2], "x": 2, "y": 1 }, + { "label": "K20", "matrix": [2, 0], "x": 0, "y": 2 }, + { "label": "K21", "matrix": [2, 1], "x": 1, "y": 2 }, + { "label": "K22", "matrix": [2, 2], "x": 2, "y": 2 }, + { "label": "K23", "matrix": [2, 3], "h": 2, "x": 3, "y": 1 }, + { "label": "K30", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "K31", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "K32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "K33", "matrix": [3, 3], "h": 2, "x": 3, "y": 3 }, + { "label": "K40", "matrix": [4, 0], "x": 0, "y": 4 }, + { "label": "K41", "matrix": [4, 1], "x": 1, "y": 4 }, + { "label": "K42", "matrix": [4, 2], "x": 2, "y": 4 } + ] + } + } +} diff --git a/keyboards/nightly_boards/adellein/adellein.c b/keyboards/viktus/osav2_numpad_topre/keymaps/default/keymap.c similarity index 64% rename from keyboards/nightly_boards/adellein/adellein.c rename to keyboards/viktus/osav2_numpad_topre/keymaps/default/keymap.c index 8ae826d49ec..7545c946c3f 100644 --- a/keyboards/nightly_boards/adellein/adellein.c +++ b/keyboards/viktus/osav2_numpad_topre/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2020 Neil Brian Ramirez +/* Copyright 2023 Viktus Design 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 @@ -14,15 +14,14 @@ * along with this program. If not, see . */ -#include "adellein.h" +#include QMK_KEYBOARD_H -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { -// if (!encoder_update_user(index, clockwise)) return false; - encoder_action_register(index, clockwise); - return true; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_5x4( + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PEQL, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_P0, KC_PDOT, KC_DEL + ) }; diff --git a/keyboards/nightly_boards/n40_o/n40_o.c b/keyboards/viktus/osav2_numpad_topre/keymaps/via/keymap.c similarity index 64% rename from keyboards/nightly_boards/n40_o/n40_o.c rename to keyboards/viktus/osav2_numpad_topre/keymaps/via/keymap.c index 643803f9034..7545c946c3f 100644 --- a/keyboards/nightly_boards/n40_o/n40_o.c +++ b/keyboards/viktus/osav2_numpad_topre/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2020 Neil Brian Ramirez +/* Copyright 2023 Viktus Design 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 @@ -14,16 +14,14 @@ * along with this program. If not, see . */ -#include "quantum.h" -#include "encoder_action.h" +#include QMK_KEYBOARD_H -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { -// if (!encoder_update_user(index, clockwise)) return false; - encoder_action_register(index, clockwise); - return true; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_5x4( + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PEQL, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_P0, KC_PDOT, KC_DEL + ) }; diff --git a/keyboards/viktus/osav2_numpad_topre/keymaps/via/rules.mk b/keyboards/viktus/osav2_numpad_topre/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/viktus/osav2_numpad_topre/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/viktus/osav2_numpad_topre/osav2_numpad_topre.c b/keyboards/viktus/osav2_numpad_topre/osav2_numpad_topre.c new file mode 100644 index 00000000000..2337fc55f39 --- /dev/null +++ b/keyboards/viktus/osav2_numpad_topre/osav2_numpad_topre.c @@ -0,0 +1,49 @@ +/* Copyright 2023 Viktus Design 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 "quantum.h" +#include "ec.h" +#include "matrix.h" +//#include "debug.h" // needed for debugging + +#define RESET_PT 55 +#define ACTUATION_PT 65 + +// console debugging for pad values +void keyboard_post_init_kb() { + debug_enable = true; + debug_matrix = true; +} + +void matrix_init_custom(void) { + ec_config_t ec_config = {.reset_pt = RESET_PT, .actuation_pt = ACTUATION_PT}; + + ec_init(&ec_config); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool updated = ec_matrix_scan(current_matrix); + + // console debugging for pad values + /*static int cnt = 0; + if (cnt++ == 1000) { + cnt = 0; + ec_dprint_matrix(); + dprintf("\n"); + }*/ + + return updated; +} diff --git a/keyboards/viktus/osav2_numpad_topre/readme.md b/keyboards/viktus/osav2_numpad_topre/readme.md new file mode 100644 index 00000000000..990bfe04fe7 --- /dev/null +++ b/keyboards/viktus/osav2_numpad_topre/readme.md @@ -0,0 +1,27 @@ +# OSAv2 Numpad - Topre + +![osav2_numpad_topre](https://i.imgur.com/G6yNtJMh.png) + +An OSAv2 Numpad in topre flavor. + +- Keyboard Maintainer: BlindAssassin111 +- Hardware Supported: OSAv2 Numpad Topre PCB +- Hardware Availability: Viktus Design LLC + +Make example for this keyboard (after setting up your build environment): + + make viktus/osav2_numpad_topre:default + +Flashing example for this keyboard: + + make viktus/osav2_numpad_topre: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/viktus/osav2_numpad_topre/rules.mk b/keyboards/viktus/osav2_numpad_topre/rules.mk new file mode 100644 index 00000000000..037e26c530c --- /dev/null +++ b/keyboards/viktus/osav2_numpad_topre/rules.mk @@ -0,0 +1,3 @@ +CUSTOM_MATRIX = lite +QUANTUM_LIB_SRC += analog.c +SRC += ec.c diff --git a/keyboards/viktus/sp_mini/config.h b/keyboards/viktus/sp_mini/config.h index a5d99eb834f..d83026859dc 100644 --- a/keyboards/viktus/sp_mini/config.h +++ b/keyboards/viktus/sp_mini/config.h @@ -35,9 +35,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -//#define RGBLIGHT_SPLIT -#define RGBLED_NUM 24 // Number of LEDs - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/viktus/sp_mini/info.json b/keyboards/viktus/sp_mini/info.json index 6c6a5a8d2dc..60b4d1996b1 100644 --- a/keyboards/viktus/sp_mini/info.json +++ b/keyboards/viktus/sp_mini/info.json @@ -27,6 +27,7 @@ } }, "rgblight": { + "led_count": 24, "split_count": [12, 12] }, "ws2812": { diff --git a/keyboards/viktus/styrka_topre/ec.c b/keyboards/viktus/styrka_topre/ec.c new file mode 100644 index 00000000000..c9980461afb --- /dev/null +++ b/keyboards/viktus/styrka_topre/ec.c @@ -0,0 +1,191 @@ +/* Copyright 2023 Viktus Design 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 "ec.h" + +#include "quantum.h" +#include "analog.h" +//#include "debug.h" + +// sensing channel definitions +#define A0 0 +#define A1 1 +#define A2 2 +#define A3 3 +#define A4 4 +#define A5 5 +#define A6 6 +#define A7 7 + +// analog connection settings +#define DISCHARGE_PIN D3 +#define ANALOG_PORT D4 + +#ifndef MUX_SEL_PIN +# define MUX_SEL_PINS \ + { D0, D1, D2 } +#endif + +// pin connections +const uint8_t row_channels[] = MATRIX_ROW_PINS; +const uint8_t col_pins[] = MATRIX_COL_PINS; +const uint8_t mux_sel_pins[] = MUX_SEL_PINS; + +_Static_assert(sizeof(mux_sel_pins) == 3, "invalid MUX_SEL_PINS"); + +static ec_config_t config; +static uint16_t ec_sw_value[MATRIX_COLS][MATRIX_ROWS]; + +static inline void discharge_capacitor(void) { setPinOutput(DISCHARGE_PIN); } +static inline void charge_capacitor(uint8_t col) { + setPinInput(DISCHARGE_PIN); + writePinHigh(col_pins[col]); +} + +static inline void clear_all_col_pins(void) { + for (int col = 0; col < sizeof(col_pins); col++) { + writePinLow(col_pins[col]); + } +} + +void init_mux_sel(void) { + for (int idx = 0; idx < sizeof(mux_sel_pins); idx++) { + setPinOutput(mux_sel_pins[idx]); + } +} + +void select_mux(uint8_t row) { + uint8_t ch = row_channels[row]; + writePin(mux_sel_pins[0], ch & 1); + writePin(mux_sel_pins[1], ch & 2); + writePin(mux_sel_pins[2], ch & 4); +} + +void init_col(void) { + for (int idx = 0; idx < sizeof(col_pins); idx++) { + setPinOutput(col_pins[idx]); + writePinLow(col_pins[idx]); + } +} + +void ec_init(ec_config_t const* const ec_config) { + // save config + config = *ec_config; + + // initialize discharge pin as discharge mode + writePinLow(DISCHARGE_PIN); + setPinOutput(DISCHARGE_PIN); + + // set analog reference + analogReference(ADC_REF_POWER); + + // initialize drive lines + init_col(); + + // initialize multiplexer select pin + init_mux_sel(); + + // set discharge pin to charge mode + setPinInput(DISCHARGE_PIN); +} + +uint16_t ec_readkey_raw(uint8_t col, uint8_t row) { + uint16_t sw_value = 0; + + discharge_capacitor(); + + select_mux(row); + + clear_all_col_pins(); + + cli(); + + charge_capacitor(col); + + sw_value = analogReadPin(ANALOG_PORT); + + sei(); + + return sw_value; +} + +bool ec_update_key(matrix_row_t* current_row, matrix_row_t col, uint16_t sw_value, uint16_t reset_pt, uint16_t actuation_pt) { + bool current_state = (*current_row >> col) & 1; + + // press to release + if (current_state && sw_value < reset_pt) { + *current_row &= ~(MATRIX_ROW_SHIFTER << col); + return true; + } + + // release to press + if ((!current_state) && sw_value > actuation_pt) { + *current_row |= (MATRIX_ROW_SHIFTER << col); + return true; + } + + return false; +} + +bool ec_matrix_scan(matrix_row_t current_matrix[]) { + bool updated = false; + + for (int row = 0; row < sizeof(row_channels); row++) { + for (int col = 0; col < sizeof(col_pins); col++) { + uint16_t reset_pt = config.reset_pt; + uint16_t actuation_pt = config.actuation_pt; + + switch(row) { + case 0: + switch(col) { + case 15: // lower threshold for split backspace: + case 16: // lower threshold for 2U backspace: 2U(37 rest, 62 btm) + reset_pt = 45; + actuation_pt = 50; + break; + } + break; + case 4: + switch(col) { + case 8: // Lower threshold for spacebar: 7U(37 rest, 63 btm) + reset_pt = 55; + actuation_pt = 60; + break; + case 13: // Lower threshold for right bottom mods: 1.5U(40 rest, 65 btm) + reset_pt = 47; + actuation_pt = 53; + break; + } + break; + } + + ec_sw_value[col][row] = ec_readkey_raw(col, row); + updated |= ec_update_key(¤t_matrix[row], col, ec_sw_value[col][row], reset_pt, actuation_pt); + } + } + + return updated; +} + +// console debugging for pad values +/*void ec_dprint_matrix(void) { + for (int row = 0; row < sizeof(row_channels); row++) { + for (int col = 0; col < sizeof(col_pins); col++) { + dprintf("%5d", ec_sw_value[col][row]); + } + dprintf("\n"); + } +}*/ diff --git a/keyboards/clickety_split/leeloo/rev1/config.h b/keyboards/viktus/styrka_topre/ec.h similarity index 56% rename from keyboards/clickety_split/leeloo/rev1/config.h rename to keyboards/viktus/styrka_topre/ec.h index 96c6b71d374..ace8d092b5f 100644 --- a/keyboards/clickety_split/leeloo/rev1/config.h +++ b/keyboards/viktus/styrka_topre/ec.h @@ -1,5 +1,4 @@ -/* Copyright 2022 Clickety Split Ltd. - * https://clicketysplit.ca +/* Copyright 2023 Viktus Design 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 @@ -15,23 +14,18 @@ * along with this program. If not, see . */ -#pragma once +#include +#include -/* define tapping term */ -#define TAPPING_TERM 100 +#include "matrix.h" -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT +typedef struct { + uint16_t reset_pt; + uint16_t actuation_pt; +} ec_config_t; -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT +void ec_init(ec_config_t const* const ec_config); +bool ec_matrix_scan(matrix_row_t current_matrix[]); +//void ec_dprint_matrix(void); +uint16_t ec_readkey_raw(uint8_t col, uint8_t row); +bool ec_update_key(matrix_row_t* current_row, matrix_row_t col, uint16_t sw_value, uint16_t reset_pt, uint16_t actuation_pt); diff --git a/keyboards/viktus/styrka_topre/info.json b/keyboards/viktus/styrka_topre/info.json new file mode 100644 index 00000000000..f6d3560985f --- /dev/null +++ b/keyboards/viktus/styrka_topre/info.json @@ -0,0 +1,438 @@ +{ + "manufacturer": "Viktus Design LLC", + "keyboard_name": "Viktus Styrka - Topre", + "maintainer": "BlindAssassin111", + "url": "https://viktus.design", + "usb": { + "device_version": "1.3.0", + "vid": "0x5644", + "pid": "0x5354" + }, + "bootloader": "atmel-dfu", + "processor": "atmega32u4", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["B5", "B4", "D7", "D6", "F6", "F5", "F4", "C7", "C6", "B6", "F7", "B1", "B2", "B3", "B7", "F1", "F0", "E6"], + "rows": ["A7", "A6", "A4", "A5", "A3"] + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K002", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K003", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K004", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K005", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K006", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "K007", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "K008", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "K009", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "K00A", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "K00B", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K00C", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K00D", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K00E", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "K00F", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "K010", "matrix": [0, 16], "x": 16, "y": 0}, + {"label": "K011", "matrix": [0, 17], "x": 17, "y": 0}, + {"label": "K100", "matrix": [1, 0], "x": 18, "y": 0}, + {"label": "K101", "matrix": [1, 1], "x": 19, "y": 0}, + {"label": "K102", "matrix": [1, 2], "x": 20, "y": 0}, + {"label": "K103", "matrix": [1, 3], "x": 21, "y": 0}, + {"label": "K104", "matrix": [1, 4], "x": 22, "y": 0}, + {"label": "K105", "matrix": [1, 5], "x": 23, "y": 0}, + {"label": "K106", "matrix": [1, 6], "x": 24, "y": 0}, + {"label": "K107", "matrix": [1, 7], "x": 25, "y": 0}, + {"label": "K108", "matrix": [1, 8], "x": 26, "y": 0}, + {"label": "K109", "matrix": [1, 9], "x": 27, "y": 0}, + {"label": "K10A", "matrix": [1, 10], "x": 28, "y": 0}, + {"label": "K10B", "matrix": [1, 11], "x": 29, "y": 0}, + {"label": "K10C", "matrix": [1, 12], "x": 30, "y": 0}, + {"label": "K10D", "matrix": [1, 13], "x": 31, "y": 0}, + {"label": "K10E", "matrix": [1, 14], "x": 32, "y": 0}, + {"label": "K110", "matrix": [1, 16], "x": 33, "y": 0}, + {"label": "K111", "matrix": [1, 17], "x": 34, "y": 0}, + {"label": "K200", "matrix": [2, 0], "x": 35, "y": 0}, + {"label": "K201", "matrix": [2, 1], "x": 36, "y": 0}, + {"label": "K202", "matrix": [2, 2], "x": 37, "y": 0}, + {"label": "K203", "matrix": [2, 3], "x": 38, "y": 0}, + {"label": "K204", "matrix": [2, 4], "x": 39, "y": 0}, + {"label": "K205", "matrix": [2, 5], "x": 40, "y": 0}, + {"label": "K206", "matrix": [2, 6], "x": 41, "y": 0}, + {"label": "K207", "matrix": [2, 7], "x": 42, "y": 0}, + {"label": "K208", "matrix": [2, 8], "x": 43, "y": 0}, + {"label": "K209", "matrix": [2, 9], "x": 44, "y": 0}, + {"label": "K20A", "matrix": [2, 10], "x": 45, "y": 0}, + {"label": "K20B", "matrix": [2, 11], "x": 46, "y": 0}, + {"label": "K20C", "matrix": [2, 12], "x": 47, "y": 0}, + {"label": "K20D", "matrix": [2, 13], "x": 48, "y": 0}, + {"label": "K20F", "matrix": [2, 15], "x": 49, "y": 0}, + {"label": "K211", "matrix": [2, 17], "x": 50, "y": 0}, + {"label": "K300", "matrix": [3, 0], "x": 51, "y": 0}, + {"label": "K301", "matrix": [3, 1], "x": 52, "y": 0}, + {"label": "K302", "matrix": [3, 2], "x": 53, "y": 0}, + {"label": "K304", "matrix": [3, 4], "x": 54, "y": 0}, + {"label": "K305", "matrix": [3, 5], "x": 55, "y": 0}, + {"label": "K306", "matrix": [3, 6], "x": 56, "y": 0}, + {"label": "K307", "matrix": [3, 7], "x": 57, "y": 0}, + {"label": "K308", "matrix": [3, 8], "x": 58, "y": 0}, + {"label": "K309", "matrix": [3, 9], "x": 59, "y": 0}, + {"label": "K30A", "matrix": [3, 10], "x": 60, "y": 0}, + {"label": "K30B", "matrix": [3, 11], "x": 61, "y": 0}, + {"label": "K30C", "matrix": [3, 12], "x": 62, "y": 0}, + {"label": "K30D", "matrix": [3, 13], "x": 63, "y": 0}, + {"label": "K30E", "matrix": [3, 14], "x": 64, "y": 0}, + {"label": "K310", "matrix": [3, 16], "x": 65, "y": 0}, + {"label": "K311", "matrix": [3, 17], "x": 66, "y": 0}, + {"label": "K400", "matrix": [4, 0], "x": 67, "y": 0}, + {"label": "K401", "matrix": [4, 1], "x": 68, "y": 0}, + {"label": "K402", "matrix": [4, 2], "x": 69, "y": 0}, + {"label": "K403", "matrix": [4, 3], "x": 70, "y": 0}, + {"label": "K404", "matrix": [4, 4], "x": 71, "y": 0}, + {"label": "K408", "matrix": [4, 8], "x": 72, "y": 0}, + {"label": "K40C", "matrix": [4, 12], "x": 73, "y": 0}, + {"label": "K40D", "matrix": [4, 13], "x": 74, "y": 0}, + {"label": "K40E", "matrix": [4, 14], "x": 75, "y": 0}, + {"label": "K410", "matrix": [4, 16], "x": 76, "y": 0}, + {"label": "K411", "matrix": [4, 17], "x": 77, "y": 0} + ] + }, + "LAYOUT_2u_6u": { + "layout": [ + {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K002", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "K003", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "K004", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "K005", "matrix": [0, 5], "x": 5.25, "y": 0}, + {"label": "K006", "matrix": [0, 6], "x": 6.25, "y": 0}, + {"label": "K007", "matrix": [0, 7], "x": 7.25, "y": 0}, + {"label": "K008", "matrix": [0, 8], "x": 8.25, "y": 0}, + {"label": "K009", "matrix": [0, 9], "x": 9.25, "y": 0}, + {"label": "K00A", "matrix": [0, 10], "x": 10.25, "y": 0}, + {"label": "K00B", "matrix": [0, 11], "x": 11.25, "y": 0}, + {"label": "K00C", "matrix": [0, 12], "x": 12.25, "y": 0}, + {"label": "K00D", "matrix": [0, 13], "x": 13.25, "y": 0}, + {"label": "K00E", "matrix": [0, 14], "x": 14.25, "y": 0}, + {"label": "K010", "matrix": [0, 16], "x": 15.25, "y": 0, "w": 2}, + {"label": "K011", "matrix": [0, 17], "x": 17.25, "y": 0}, + {"label": "K100", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "K101", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K102", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "K103", "matrix": [1, 3], "x": 3.75, "y": 1}, + {"label": "K104", "matrix": [1, 4], "x": 4.75, "y": 1}, + {"label": "K105", "matrix": [1, 5], "x": 5.75, "y": 1}, + {"label": "K106", "matrix": [1, 6], "x": 6.75, "y": 1}, + {"label": "K107", "matrix": [1, 7], "x": 7.75, "y": 1}, + {"label": "K108", "matrix": [1, 8], "x": 8.75, "y": 1}, + {"label": "K109", "matrix": [1, 9], "x": 9.75, "y": 1}, + {"label": "K10A", "matrix": [1, 10], "x": 10.75, "y": 1}, + {"label": "K10B", "matrix": [1, 11], "x": 11.75, "y": 1}, + {"label": "K10C", "matrix": [1, 12], "x": 12.75, "y": 1}, + {"label": "K10D", "matrix": [1, 13], "x": 13.75, "y": 1}, + {"label": "K10E", "matrix": [1, 14], "x": 14.75, "y": 1}, + {"label": "K110", "matrix": [1, 16], "x": 15.75, "y": 1, "w": 1.5}, + {"label": "K111", "matrix": [1, 17], "x": 17.25, "y": 1}, + {"label": "K200", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "K201", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K202", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"label": "K203", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "K204", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "K205", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "K206", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "K207", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "K208", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "K209", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K20A", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "K20B", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": "K20C", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "K20D", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "K20F", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, + {"label": "K211", "matrix": [2, 17], "x": 17.25, "y": 2}, + {"label": "K300", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "K301", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K302", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"label": "K304", "matrix": [3, 4], "x": 4.5, "y": 3}, + {"label": "K305", "matrix": [3, 5], "x": 5.5, "y": 3}, + {"label": "K306", "matrix": [3, 6], "x": 6.5, "y": 3}, + {"label": "K307", "matrix": [3, 7], "x": 7.5, "y": 3}, + {"label": "K308", "matrix": [3, 8], "x": 8.5, "y": 3}, + {"label": "K309", "matrix": [3, 9], "x": 9.5, "y": 3}, + {"label": "K30A", "matrix": [3, 10], "x": 10.5, "y": 3}, + {"label": "K30B", "matrix": [3, 11], "x": 11.5, "y": 3}, + {"label": "K30C", "matrix": [3, 12], "x": 12.5, "y": 3}, + {"label": "K30D", "matrix": [3, 13], "x": 13.5, "y": 3}, + {"label": "K30E", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "K310", "matrix": [3, 16], "x": 16.25, "y": 3}, + {"label": "K311", "matrix": [3, 17], "x": 17.25, "y": 3}, + {"label": "K400", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "K401", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "K403", "matrix": [4, 3], "x": 3.5, "y": 4, "w": 1.25}, + {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"label": "K408", "matrix": [4, 8], "x": 6, "y": 4, "w": 6.25}, + {"label": "K40C", "matrix": [4, 12], "x": 12.25, "y": 4}, + {"label": "K40D", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + {"label": "K40E", "matrix": [4, 14], "x": 15.25, "y": 4}, + {"label": "K410", "matrix": [4, 16], "x": 16.25, "y": 4}, + {"label": "K411", "matrix": [4, 17], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_2u_7u": { + "layout": [ + {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K002", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "K003", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "K004", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "K005", "matrix": [0, 5], "x": 5.25, "y": 0}, + {"label": "K006", "matrix": [0, 6], "x": 6.25, "y": 0}, + {"label": "K007", "matrix": [0, 7], "x": 7.25, "y": 0}, + {"label": "K008", "matrix": [0, 8], "x": 8.25, "y": 0}, + {"label": "K009", "matrix": [0, 9], "x": 9.25, "y": 0}, + {"label": "K00A", "matrix": [0, 10], "x": 10.25, "y": 0}, + {"label": "K00B", "matrix": [0, 11], "x": 11.25, "y": 0}, + {"label": "K00C", "matrix": [0, 12], "x": 12.25, "y": 0}, + {"label": "K00D", "matrix": [0, 13], "x": 13.25, "y": 0}, + {"label": "K00E", "matrix": [0, 14], "x": 14.25, "y": 0}, + {"label": "K010", "matrix": [0, 16], "x": 15.25, "y": 0, "w": 2}, + {"label": "K011", "matrix": [0, 17], "x": 17.25, "y": 0}, + {"label": "K100", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "K101", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K102", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "K103", "matrix": [1, 3], "x": 3.75, "y": 1}, + {"label": "K104", "matrix": [1, 4], "x": 4.75, "y": 1}, + {"label": "K105", "matrix": [1, 5], "x": 5.75, "y": 1}, + {"label": "K106", "matrix": [1, 6], "x": 6.75, "y": 1}, + {"label": "K107", "matrix": [1, 7], "x": 7.75, "y": 1}, + {"label": "K108", "matrix": [1, 8], "x": 8.75, "y": 1}, + {"label": "K109", "matrix": [1, 9], "x": 9.75, "y": 1}, + {"label": "K10A", "matrix": [1, 10], "x": 10.75, "y": 1}, + {"label": "K10B", "matrix": [1, 11], "x": 11.75, "y": 1}, + {"label": "K10C", "matrix": [1, 12], "x": 12.75, "y": 1}, + {"label": "K10D", "matrix": [1, 13], "x": 13.75, "y": 1}, + {"label": "K10E", "matrix": [1, 14], "x": 14.75, "y": 1}, + {"label": "K110", "matrix": [1, 16], "x": 15.75, "y": 1, "w": 1.5}, + {"label": "K111", "matrix": [1, 17], "x": 17.25, "y": 1}, + {"label": "K200", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "K201", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K202", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"label": "K203", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "K204", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "K205", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "K206", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "K207", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "K208", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "K209", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K20A", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "K20B", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": "K20C", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "K20D", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "K20F", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, + {"label": "K211", "matrix": [2, 17], "x": 17.25, "y": 2}, + {"label": "K300", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "K301", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K302", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"label": "K304", "matrix": [3, 4], "x": 4.5, "y": 3}, + {"label": "K305", "matrix": [3, 5], "x": 5.5, "y": 3}, + {"label": "K306", "matrix": [3, 6], "x": 6.5, "y": 3}, + {"label": "K307", "matrix": [3, 7], "x": 7.5, "y": 3}, + {"label": "K308", "matrix": [3, 8], "x": 8.5, "y": 3}, + {"label": "K309", "matrix": [3, 9], "x": 9.5, "y": 3}, + {"label": "K30A", "matrix": [3, 10], "x": 10.5, "y": 3}, + {"label": "K30B", "matrix": [3, 11], "x": 11.5, "y": 3}, + {"label": "K30C", "matrix": [3, 12], "x": 12.5, "y": 3}, + {"label": "K30D", "matrix": [3, 13], "x": 13.5, "y": 3}, + {"label": "K30E", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "K310", "matrix": [3, 16], "x": 16.25, "y": 3}, + {"label": "K311", "matrix": [3, 17], "x": 17.25, "y": 3}, + {"label": "K400", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "K401", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"label": "K403", "matrix": [4, 3], "x": 3.75, "y": 4}, + {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"label": "K408", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, + {"label": "K40D", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + {"label": "K40E", "matrix": [4, 14], "x": 15.25, "y": 4}, + {"label": "K410", "matrix": [4, 16], "x": 16.25, "y": 4}, + {"label": "K411", "matrix": [4, 17], "x": 17.25, "y": 4} + ] + }, + + "LAYOUT_split_6u": { + "layout": [ + {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K002", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "K003", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "K004", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "K005", "matrix": [0, 5], "x": 5.25, "y": 0}, + {"label": "K006", "matrix": [0, 6], "x": 6.25, "y": 0}, + {"label": "K007", "matrix": [0, 7], "x": 7.25, "y": 0}, + {"label": "K008", "matrix": [0, 8], "x": 8.25, "y": 0}, + {"label": "K009", "matrix": [0, 9], "x": 9.25, "y": 0}, + {"label": "K00A", "matrix": [0, 10], "x": 10.25, "y": 0}, + {"label": "K00B", "matrix": [0, 11], "x": 11.25, "y": 0}, + {"label": "K00C", "matrix": [0, 12], "x": 12.25, "y": 0}, + {"label": "K00D", "matrix": [0, 13], "x": 13.25, "y": 0}, + {"label": "K00E", "matrix": [0, 14], "x": 14.25, "y": 0}, + {"label": "K00F", "matrix": [0, 15], "x": 15.25, "y": 0}, + {"label": "K010", "matrix": [0, 16], "x": 16.25, "y": 0}, + {"label": "K011", "matrix": [0, 17], "x": 17.25, "y": 0}, + {"label": "K100", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "K101", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K102", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "K103", "matrix": [1, 3], "x": 3.75, "y": 1}, + {"label": "K104", "matrix": [1, 4], "x": 4.75, "y": 1}, + {"label": "K105", "matrix": [1, 5], "x": 5.75, "y": 1}, + {"label": "K106", "matrix": [1, 6], "x": 6.75, "y": 1}, + {"label": "K107", "matrix": [1, 7], "x": 7.75, "y": 1}, + {"label": "K108", "matrix": [1, 8], "x": 8.75, "y": 1}, + {"label": "K109", "matrix": [1, 9], "x": 9.75, "y": 1}, + {"label": "K10A", "matrix": [1, 10], "x": 10.75, "y": 1}, + {"label": "K10B", "matrix": [1, 11], "x": 11.75, "y": 1}, + {"label": "K10C", "matrix": [1, 12], "x": 12.75, "y": 1}, + {"label": "K10D", "matrix": [1, 13], "x": 13.75, "y": 1}, + {"label": "K10E", "matrix": [1, 14], "x": 14.75, "y": 1}, + {"label": "K110", "matrix": [1, 16], "x": 15.75, "y": 1, "w": 1.5}, + {"label": "K111", "matrix": [1, 17], "x": 17.25, "y": 1}, + {"label": "K200", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "K201", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K202", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"label": "K203", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "K204", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "K205", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "K206", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "K207", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "K208", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "K209", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K20A", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "K20B", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": "K20C", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "K20D", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "K20F", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, + {"label": "K211", "matrix": [2, 17], "x": 17.25, "y": 2}, + {"label": "K300", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "K301", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K302", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"label": "K304", "matrix": [3, 4], "x": 4.5, "y": 3}, + {"label": "K305", "matrix": [3, 5], "x": 5.5, "y": 3}, + {"label": "K306", "matrix": [3, 6], "x": 6.5, "y": 3}, + {"label": "K307", "matrix": [3, 7], "x": 7.5, "y": 3}, + {"label": "K308", "matrix": [3, 8], "x": 8.5, "y": 3}, + {"label": "K309", "matrix": [3, 9], "x": 9.5, "y": 3}, + {"label": "K30A", "matrix": [3, 10], "x": 10.5, "y": 3}, + {"label": "K30B", "matrix": [3, 11], "x": 11.5, "y": 3}, + {"label": "K30C", "matrix": [3, 12], "x": 12.5, "y": 3}, + {"label": "K30D", "matrix": [3, 13], "x": 13.5, "y": 3}, + {"label": "K30E", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "K310", "matrix": [3, 16], "x": 16.25, "y": 3}, + {"label": "K311", "matrix": [3, 17], "x": 17.25, "y": 3}, + {"label": "K400", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "K401", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "K403", "matrix": [4, 3], "x": 3.5, "y": 4, "w": 1.25}, + {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"label": "K408", "matrix": [4, 8], "x": 6, "y": 4, "w": 6.25}, + {"label": "K40C", "matrix": [4, 12], "x": 12.25, "y": 4}, + {"label": "K40D", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + {"label": "K40E", "matrix": [4, 14], "x": 15.25, "y": 4}, + {"label": "K410", "matrix": [4, 16], "x": 16.25, "y": 4}, + {"label": "K411", "matrix": [4, 17], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_split_7u": { + "layout": [ + {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K002", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "K003", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "K004", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "K005", "matrix": [0, 5], "x": 5.25, "y": 0}, + {"label": "K006", "matrix": [0, 6], "x": 6.25, "y": 0}, + {"label": "K007", "matrix": [0, 7], "x": 7.25, "y": 0}, + {"label": "K008", "matrix": [0, 8], "x": 8.25, "y": 0}, + {"label": "K009", "matrix": [0, 9], "x": 9.25, "y": 0}, + {"label": "K00A", "matrix": [0, 10], "x": 10.25, "y": 0}, + {"label": "K00B", "matrix": [0, 11], "x": 11.25, "y": 0}, + {"label": "K00C", "matrix": [0, 12], "x": 12.25, "y": 0}, + {"label": "K00D", "matrix": [0, 13], "x": 13.25, "y": 0}, + {"label": "K00E", "matrix": [0, 14], "x": 14.25, "y": 0}, + {"label": "K00F", "matrix": [0, 15], "x": 15.25, "y": 0}, + {"label": "K010", "matrix": [0, 16], "x": 16.25, "y": 0}, + {"label": "K011", "matrix": [0, 17], "x": 17.25, "y": 0}, + {"label": "K100", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "K101", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K102", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "K103", "matrix": [1, 3], "x": 3.75, "y": 1}, + {"label": "K104", "matrix": [1, 4], "x": 4.75, "y": 1}, + {"label": "K105", "matrix": [1, 5], "x": 5.75, "y": 1}, + {"label": "K106", "matrix": [1, 6], "x": 6.75, "y": 1}, + {"label": "K107", "matrix": [1, 7], "x": 7.75, "y": 1}, + {"label": "K108", "matrix": [1, 8], "x": 8.75, "y": 1}, + {"label": "K109", "matrix": [1, 9], "x": 9.75, "y": 1}, + {"label": "K10A", "matrix": [1, 10], "x": 10.75, "y": 1}, + {"label": "K10B", "matrix": [1, 11], "x": 11.75, "y": 1}, + {"label": "K10C", "matrix": [1, 12], "x": 12.75, "y": 1}, + {"label": "K10D", "matrix": [1, 13], "x": 13.75, "y": 1}, + {"label": "K10E", "matrix": [1, 14], "x": 14.75, "y": 1}, + {"label": "K110", "matrix": [1, 16], "x": 15.75, "y": 1, "w": 1.5}, + {"label": "K111", "matrix": [1, 17], "x": 17.25, "y": 1}, + {"label": "K200", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "K201", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K202", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"label": "K203", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "K204", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "K205", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "K206", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "K207", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "K208", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "K209", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K20A", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "K20B", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": "K20C", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "K20D", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "K20F", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, + {"label": "K211", "matrix": [2, 17], "x": 17.25, "y": 2}, + {"label": "K300", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "K301", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K302", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"label": "K304", "matrix": [3, 4], "x": 4.5, "y": 3}, + {"label": "K305", "matrix": [3, 5], "x": 5.5, "y": 3}, + {"label": "K306", "matrix": [3, 6], "x": 6.5, "y": 3}, + {"label": "K307", "matrix": [3, 7], "x": 7.5, "y": 3}, + {"label": "K308", "matrix": [3, 8], "x": 8.5, "y": 3}, + {"label": "K309", "matrix": [3, 9], "x": 9.5, "y": 3}, + {"label": "K30A", "matrix": [3, 10], "x": 10.5, "y": 3}, + {"label": "K30B", "matrix": [3, 11], "x": 11.5, "y": 3}, + {"label": "K30C", "matrix": [3, 12], "x": 12.5, "y": 3}, + {"label": "K30D", "matrix": [3, 13], "x": 13.5, "y": 3}, + {"label": "K30E", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "K310", "matrix": [3, 16], "x": 16.25, "y": 3}, + {"label": "K311", "matrix": [3, 17], "x": 17.25, "y": 3}, + {"label": "K400", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "K401", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"label": "K403", "matrix": [4, 3], "x": 3.75, "y": 4}, + {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"label": "K408", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, + {"label": "K40D", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + {"label": "K40E", "matrix": [4, 14], "x": 15.25, "y": 4}, + {"label": "K410", "matrix": [4, 16], "x": 16.25, "y": 4}, + {"label": "K411", "matrix": [4, 17], "x": 17.25, "y": 4} + ] + } + } +} diff --git a/keyboards/viktus/styrka_topre/keymaps/default/keymap.c b/keyboards/viktus/styrka_topre/keymaps/default/keymap.c new file mode 100644 index 00000000000..5c3f8fa0310 --- /dev/null +++ b/keyboards/viktus/styrka_topre/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2023 Viktus Design 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_2u_7u( + 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_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_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_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ) +}; diff --git a/keyboards/viktus/styrka_topre/keymaps/via/keymap.c b/keyboards/viktus/styrka_topre/keymaps/via/keymap.c new file mode 100644 index 00000000000..5c3f8fa0310 --- /dev/null +++ b/keyboards/viktus/styrka_topre/keymaps/via/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2023 Viktus Design 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_2u_7u( + 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_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_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_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ) +}; diff --git a/keyboards/viktus/styrka_topre/keymaps/via/rules.mk b/keyboards/viktus/styrka_topre/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/viktus/styrka_topre/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/viktus/styrka_topre/readme.md b/keyboards/viktus/styrka_topre/readme.md new file mode 100644 index 00000000000..20c9aedb5cc --- /dev/null +++ b/keyboards/viktus/styrka_topre/readme.md @@ -0,0 +1,27 @@ +# Styrka - Topre + +![Styrka - Topre](https://i.imgur.com/ZQzkL4hh.png) + +A topre PCB for the Viktus Styrka + +- Keyboard Maintainer: BlindAssassin111 +- Hardware Supported: Styrka Topre PCB +- Hardware Availability: Viktus Design LLC + +Make example for this keyboard (after setting up your build environment): + + make viktus/styrka_topre:default + +Flashing example for this keyboard: + + make viktus/styrka_topre: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/viktus/styrka_topre/rules.mk b/keyboards/viktus/styrka_topre/rules.mk new file mode 100644 index 00000000000..037e26c530c --- /dev/null +++ b/keyboards/viktus/styrka_topre/rules.mk @@ -0,0 +1,3 @@ +CUSTOM_MATRIX = lite +QUANTUM_LIB_SRC += analog.c +SRC += ec.c diff --git a/keyboards/viktus/styrka_topre/styrka_topre.c b/keyboards/viktus/styrka_topre/styrka_topre.c new file mode 100644 index 00000000000..96b04090cf6 --- /dev/null +++ b/keyboards/viktus/styrka_topre/styrka_topre.c @@ -0,0 +1,49 @@ +/* Copyright 2023 Viktus Design 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 "quantum.h" +#include "ec.h" +#include "matrix.h" +//#include "debug.h" // needed for debugging + +#define RESET_PT 55 +#define ACTUATION_PT 65 + +// console debugging for pad values +/*void keyboard_post_init_kb() { + debug_enable = true; + debug_matrix = true; +}*/ + +void matrix_init_custom(void) { + ec_config_t ec_config = {.reset_pt = RESET_PT, .actuation_pt = ACTUATION_PT}; + + ec_init(&ec_config); +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool updated = ec_matrix_scan(current_matrix); + + // console debugging for pad values + /*static int cnt = 0; + if (cnt++ == 300) { + cnt = 0; + ec_dprint_matrix(); + dprintf("\n"); + }*/ + + return updated; +} diff --git a/keyboards/vitamins_included/rev1/config.h b/keyboards/vitamins_included/rev1/config.h index 81dd72ca9ea..fc729396a84 100644 --- a/keyboards/vitamins_included/rev1/config.h +++ b/keyboards/vitamins_included/rev1/config.h @@ -28,7 +28,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 16 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/vitamins_included/rev1/info.json b/keyboards/vitamins_included/rev1/info.json index f9fd3d018e9..579ba50d14f 100644 --- a/keyboards/vitamins_included/rev1/info.json +++ b/keyboards/vitamins_included/rev1/info.json @@ -10,6 +10,9 @@ "split": { "soft_serial_pin": "D0" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "F0" }, diff --git a/keyboards/vitamins_included/rev2/config.h b/keyboards/vitamins_included/rev2/config.h index b86a722674a..b4daf909dd4 100644 --- a/keyboards/vitamins_included/rev2/config.h +++ b/keyboards/vitamins_included/rev2/config.h @@ -22,7 +22,6 @@ along with this program. If not, see . #define SPLIT_HAND_PIN B4 -#define RGBLED_NUM 12 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/vitamins_included/rev2/info.json b/keyboards/vitamins_included/rev2/info.json index c90a668ba0c..3c87742bcd7 100644 --- a/keyboards/vitamins_included/rev2/info.json +++ b/keyboards/vitamins_included/rev2/info.json @@ -17,6 +17,7 @@ "soft_serial_pin": "D0" }, "rgblight": { + "led_count": 12, "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/w1_at/rules.mk b/keyboards/w1_at/rules.mk index 7000bb65710..7c0709f41e6 100644 --- a/keyboards/w1_at/rules.mk +++ b/keyboards/w1_at/rules.mk @@ -1,11 +1,6 @@ # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -v FFFF -p FFFF -# Do not put the microcontroller into power saving mode -# when we get USB suspend event. We want it to keep updating -# backlight effects. -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - # Build Options # change yes to no to disable # diff --git a/keyboards/waldo/config.h b/keyboards/waldo/config.h index a0d7763711a..a9e15ea7c0b 100644 --- a/keyboards/waldo/config.h +++ b/keyboards/waldo/config.h @@ -49,8 +49,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP diff --git a/keyboards/waldo/info.json b/keyboards/waldo/info.json index 0959861ca97..b796a4d9c0b 100644 --- a/keyboards/waldo/info.json +++ b/keyboards/waldo/info.json @@ -16,6 +16,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/walletburner/cajal/config.h b/keyboards/walletburner/cajal/config.h index 6d33342cf8a..a3080656e9e 100644 --- a/keyboards/walletburner/cajal/config.h +++ b/keyboards/walletburner/cajal/config.h @@ -32,7 +32,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/walletburner/cajal/info.json b/keyboards/walletburner/cajal/info.json index 36b66474653..61c40d1fa3b 100644 --- a/keyboards/walletburner/cajal/info.json +++ b/keyboards/walletburner/cajal/info.json @@ -18,6 +18,11 @@ {"pin_a": "D6", "pin_b": "D7"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/walletburner/neuron/config.h b/keyboards/walletburner/neuron/config.h index 2dae864ddb2..d702489ee7a 100644 --- a/keyboards/walletburner/neuron/config.h +++ b/keyboards/walletburner/neuron/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 1 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/walletburner/neuron/info.json b/keyboards/walletburner/neuron/info.json index fb6b3e96f8e..b05c0c81354 100644 --- a/keyboards/walletburner/neuron/info.json +++ b/keyboards/walletburner/neuron/info.json @@ -8,6 +8,11 @@ "pid": "0x6E75", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/waterfowl/config.h b/keyboards/waterfowl/config.h index 40d9a4b8da4..2ddc7228d49 100644 --- a/keyboards/waterfowl/config.h +++ b/keyboards/waterfowl/config.h @@ -20,6 +20,3 @@ #define SPLIT_MODS_ENABLE #define SPLIT_WPM_ENABLE #define SPLIT_USB_DETECT - -// Tapping term -#define TAPPING_TERM 200 \ No newline at end of file diff --git a/keyboards/wavtype/foundation/config.h b/keyboards/wavtype/foundation/config.h index 09d5a7bf8a8..b4282501bda 100644 --- a/keyboards/wavtype/foundation/config.h +++ b/keyboards/wavtype/foundation/config.h @@ -3,11 +3,6 @@ #pragma once -# define RGBLED_NUM 16 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/wavtype/foundation/info.json b/keyboards/wavtype/foundation/info.json index ea0adf2ee54..de211cc7888 100644 --- a/keyboards/wavtype/foundation/info.json +++ b/keyboards/wavtype/foundation/info.json @@ -8,6 +8,12 @@ "pid": "0x0003", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/wavtype/p01_ultra/config.h b/keyboards/wavtype/p01_ultra/config.h index e6b401aa75d..0b204e4a778 100644 --- a/keyboards/wavtype/p01_ultra/config.h +++ b/keyboards/wavtype/p01_ultra/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 18 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== or choose animations ==*/ # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/wavtype/p01_ultra/info.json b/keyboards/wavtype/p01_ultra/info.json index fa04ce78501..f249c34ac0b 100644 --- a/keyboards/wavtype/p01_ultra/info.json +++ b/keyboards/wavtype/p01_ultra/info.json @@ -8,6 +8,12 @@ "pid": "0x0004", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/weirdo/geminate60/config.h b/keyboards/weirdo/geminate60/config.h index 948bd0c7f1f..5e0e8b40a9f 100644 --- a/keyboards/weirdo/geminate60/config.h +++ b/keyboards/weirdo/geminate60/config.h @@ -15,12 +15,6 @@ */ #pragma once -#define RGBLED_NUM 1 -//#define RGBLIGHT_DISABLE_KEYCODES - - - - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/weirdo/geminate60/info.json b/keyboards/weirdo/geminate60/info.json index e8bda126ea0..722d1d3bfe0 100644 --- a/keyboards/weirdo/geminate60/info.json +++ b/keyboards/weirdo/geminate60/info.json @@ -8,6 +8,9 @@ "pid": "0x676D", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "A6" }, diff --git a/keyboards/weirdo/kelowna/rgb64/config.h b/keyboards/weirdo/kelowna/rgb64/config.h index 0a446abebab..5c0ed9cf612 100644 --- a/keyboards/weirdo/kelowna/rgb64/config.h +++ b/keyboards/weirdo/kelowna/rgb64/config.h @@ -15,12 +15,6 @@ */ #pragma once -#define RGBLED_NUM 64 -//#define RGBLIGHT_DISABLE_KEYCODES - - - - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/weirdo/kelowna/rgb64/info.json b/keyboards/weirdo/kelowna/rgb64/info.json index 89053ba9cca..12188f6f302 100644 --- a/keyboards/weirdo/kelowna/rgb64/info.json +++ b/keyboards/weirdo/kelowna/rgb64/info.json @@ -8,6 +8,9 @@ "pid": "0x4C64", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 64 + }, "ws2812": { "pin": "A6" }, diff --git a/keyboards/weirdo/ls_60/config.h b/keyboards/weirdo/ls_60/config.h index d2b9299c8f0..5c0ed9cf612 100644 --- a/keyboards/weirdo/ls_60/config.h +++ b/keyboards/weirdo/ls_60/config.h @@ -15,12 +15,6 @@ */ #pragma once -#define RGBLED_NUM 1 -//#define RGBLIGHT_DISABLE_KEYCODES - - - - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/weirdo/ls_60/info.json b/keyboards/weirdo/ls_60/info.json index f386d40b669..0dadf9d32ce 100644 --- a/keyboards/weirdo/ls_60/info.json +++ b/keyboards/weirdo/ls_60/info.json @@ -8,6 +8,9 @@ "pid": "0x4C53", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "A6" }, diff --git a/keyboards/weirdo/naiping/np64/config.h b/keyboards/weirdo/naiping/np64/config.h index 2c312472777..2c7e4c037b5 100644 --- a/keyboards/weirdo/naiping/np64/config.h +++ b/keyboards/weirdo/naiping/np64/config.h @@ -15,12 +15,6 @@ */ #pragma once -#define RGBLED_NUM 80 -//#define RGBLIGHT_DISABLE_KEYCODES - - - - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/weirdo/naiping/np64/info.json b/keyboards/weirdo/naiping/np64/info.json index 0f91be1b839..63e6297f7d5 100644 --- a/keyboards/weirdo/naiping/np64/info.json +++ b/keyboards/weirdo/naiping/np64/info.json @@ -8,6 +8,9 @@ "pid": "0x7064", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 80 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/weirdo/naiping/nphhkb/config.h b/keyboards/weirdo/naiping/nphhkb/config.h index 0a3df009abe..5c0ed9cf612 100644 --- a/keyboards/weirdo/naiping/nphhkb/config.h +++ b/keyboards/weirdo/naiping/nphhkb/config.h @@ -15,12 +15,6 @@ */ #pragma once -#define RGBLED_NUM 78 -//#define RGBLIGHT_DISABLE_KEYCODES - - - - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/weirdo/naiping/nphhkb/info.json b/keyboards/weirdo/naiping/nphhkb/info.json index 730c17c61fa..931f81db1f0 100644 --- a/keyboards/weirdo/naiping/nphhkb/info.json +++ b/keyboards/weirdo/naiping/nphhkb/info.json @@ -8,6 +8,9 @@ "pid": "0x7068", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 78 + }, "ws2812": { "pin": "A7" }, diff --git a/keyboards/weirdo/naiping/npminila/config.h b/keyboards/weirdo/naiping/npminila/config.h index 782833a3afd..5c0ed9cf612 100644 --- a/keyboards/weirdo/naiping/npminila/config.h +++ b/keyboards/weirdo/naiping/npminila/config.h @@ -15,12 +15,6 @@ */ #pragma once -#define RGBLED_NUM 82 -//#define RGBLIGHT_DISABLE_KEYCODES - - - - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/weirdo/naiping/npminila/info.json b/keyboards/weirdo/naiping/npminila/info.json index 5162849225e..3824802e020 100644 --- a/keyboards/weirdo/naiping/npminila/info.json +++ b/keyboards/weirdo/naiping/npminila/info.json @@ -8,6 +8,9 @@ "pid": "0x706D", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 82 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/wekey/polaris/info.json b/keyboards/wekey/polaris/info.json index 4d9d3e7cfa3..661799f750d 100644 --- a/keyboards/wekey/polaris/info.json +++ b/keyboards/wekey/polaris/info.json @@ -8,6 +8,9 @@ "pid": "0x0002", "device_version": "0.0.1" }, + "build": { + "debounce_type": "sym_defer_pk" + }, "matrix_pins": { "cols": ["E6", "B4", "B5", "B6", "D0", "D1", "D2", "D3"], "rows": ["F4", "F1", "F0", "B7", "F7", "D5", "C6", "C7", "F5", "F6"] diff --git a/keyboards/wekey/polaris/rules.mk b/keyboards/wekey/polaris/rules.mk index 7805f1f3c65..3b6a1809db1 100644 --- a/keyboards/wekey/polaris/rules.mk +++ b/keyboards/wekey/polaris/rules.mk @@ -10,5 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output - -DEBOUNCE_TYPE = sym_defer_pk diff --git a/keyboards/wekey/we27/encoder_actions.c b/keyboards/wekey/we27/encoder_actions.c deleted file mode 100644 index 87a53676e66..00000000000 --- a/keyboards/wekey/we27/encoder_actions.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright 2020 Neil Brian Ramirez - * Copyright 2021 drashna jael're (@drashna) - * Copyright 2021 uybv - * - * This program is free software: you can 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 "encoder_actions.h" - -#ifdef ENCODER_ENABLE -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -#endif diff --git a/keyboards/wekey/we27/encoder_actions.h b/keyboards/wekey/we27/encoder_actions.h deleted file mode 100644 index 1a7fb72014d..00000000000 --- a/keyboards/wekey/we27/encoder_actions.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "quantum.h" - -void encoder_action_unregister(void); - -void encoder_action_register(uint8_t index, bool clockwise); diff --git a/keyboards/wekey/we27/info.json b/keyboards/wekey/we27/info.json index 7fa45a13abc..481546804c3 100644 --- a/keyboards/wekey/we27/info.json +++ b/keyboards/wekey/we27/info.json @@ -24,6 +24,9 @@ "ws2812": { "pin": "C6" }, + "build": { + "debounce_type": "sym_defer_pk" + }, "processor": "atmega32u4", "bootloader": "caterina", "community_layouts": ["numpad_6x5"], @@ -63,45 +66,6 @@ {"matrix": [5, 3], "x": 3, "y": 5.5}, {"matrix": [4, 4], "x": 4, "y": 4.5, "h": 2} ] - }, - "LAYOUT_numpad_6x5_encoder": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.75}, - {"matrix": [0, 1], "x": 1, "y": 0.75}, - {"matrix": [0, 2], "x": 2, "y": 0.75}, - {"matrix": [0, 3], "x": 3, "y": 0.75}, - {"matrix": [0, 4], "x": 4, "y": 0.75}, - - {"matrix": [3, 4], "x": 3.75, "y": 0, "w": 0.75, "h": 0.75}, - {"matrix": [5, 4], "x": 4.5, "y": 0, "w": 0.75, "h": 0.75}, - - {"matrix": [1, 0], "x": 0, "y": 2.25}, - {"matrix": [1, 1], "x": 1, "y": 2.25}, - {"matrix": [1, 2], "x": 2, "y": 2.25}, - {"matrix": [1, 3], "x": 3, "y": 2.25}, - {"matrix": [1, 4], "x": 4, "y": 2.25}, - - {"matrix": [2, 0], "x": 0, "y": 3.25}, - {"matrix": [2, 1], "x": 1, "y": 3.25}, - {"matrix": [2, 2], "x": 2, "y": 3.25}, - {"matrix": [2, 3], "x": 3, "y": 3.25}, - - {"matrix": [3, 0], "x": 0, "y": 4.25}, - {"matrix": [3, 1], "x": 1, "y": 4.25}, - {"matrix": [3, 2], "x": 2, "y": 4.25}, - {"matrix": [3, 3], "x": 3, "y": 4.25}, - {"matrix": [2, 4], "x": 4, "y": 3.25, "h": 2}, - - {"matrix": [4, 0], "x": 0, "y": 5.25}, - {"matrix": [4, 1], "x": 1, "y": 5.25}, - {"matrix": [4, 2], "x": 2, "y": 5.25}, - {"matrix": [4, 3], "x": 3, "y": 5.25}, - - {"matrix": [5, 0], "x": 0, "y": 6.25}, - {"matrix": [5, 1], "x": 1, "y": 6.25, "w": 2}, - {"matrix": [5, 3], "x": 3, "y": 6.25}, - {"matrix": [4, 4], "x": 4, "y": 5.25, "h": 2} - ] } } } diff --git a/keyboards/wekey/we27/keymaps/default/keymap.c b/keyboards/wekey/we27/keymaps/default/keymap.c index 741b25e3e70..cd2d215d2c7 100644 --- a/keyboards/wekey/we27/keymaps/default/keymap.c +++ b/keyboards/wekey/we27/keymaps/default/keymap.c @@ -17,32 +17,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [0] = LAYOUT_numpad_6x5_encoder( - KC_ESC , KC_PWR , KC_SLEP, KC_F11 , KC_MUTE, KC_VOLD, KC_VOLU, + [0] = LAYOUT_numpad_6x5( + KC_ESC , KC_PWR , KC_SLEP, KC_F11 , KC_MUTE, KC_NUM, KC_BSPC, KC_PSLS, KC_PAST, KC_PMNS, RGB_MOD, KC_P7 , KC_P8 , KC_P9 , RGB_RMOD, KC_P4 , KC_P5 , KC_P6 , KC_PPLS, RGB_TOG, KC_P1 , KC_P2 , KC_P3 , MO(1) , KC_P0 , KC_PDOT, KC_PENT ), - [1] = LAYOUT_numpad_6x5_encoder( - _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, + [1] = LAYOUT_numpad_6x5( + _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, - _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), - [2] = LAYOUT_numpad_6x5_encoder( - _______, _______, _______, _______, _______, _______, _______, + [2] = LAYOUT_numpad_6x5( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT_numpad_6x5_encoder( - _______, _______, _______, _______, _______, _______, _______, + [3] = LAYOUT_numpad_6x5( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -50,3 +50,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______ ) }; + +#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 diff --git a/keyboards/wekey/we27/keymaps/default/rules.mk b/keyboards/wekey/we27/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/wekey/we27/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/wekey/we27/keymaps/via/keymap.c b/keyboards/wekey/we27/keymaps/via/keymap.c index 741b25e3e70..cd2d215d2c7 100644 --- a/keyboards/wekey/we27/keymaps/via/keymap.c +++ b/keyboards/wekey/we27/keymaps/via/keymap.c @@ -17,32 +17,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [0] = LAYOUT_numpad_6x5_encoder( - KC_ESC , KC_PWR , KC_SLEP, KC_F11 , KC_MUTE, KC_VOLD, KC_VOLU, + [0] = LAYOUT_numpad_6x5( + KC_ESC , KC_PWR , KC_SLEP, KC_F11 , KC_MUTE, KC_NUM, KC_BSPC, KC_PSLS, KC_PAST, KC_PMNS, RGB_MOD, KC_P7 , KC_P8 , KC_P9 , RGB_RMOD, KC_P4 , KC_P5 , KC_P6 , KC_PPLS, RGB_TOG, KC_P1 , KC_P2 , KC_P3 , MO(1) , KC_P0 , KC_PDOT, KC_PENT ), - [1] = LAYOUT_numpad_6x5_encoder( - _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, + [1] = LAYOUT_numpad_6x5( + _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, _______, - _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), - [2] = LAYOUT_numpad_6x5_encoder( - _______, _______, _______, _______, _______, _______, _______, + [2] = LAYOUT_numpad_6x5( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT_numpad_6x5_encoder( - _______, _______, _______, _______, _______, _______, _______, + [3] = LAYOUT_numpad_6x5( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -50,3 +50,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______ ) }; + +#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 diff --git a/keyboards/wekey/we27/keymaps/via/rules.mk b/keyboards/wekey/we27/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/wekey/we27/keymaps/via/rules.mk +++ b/keyboards/wekey/we27/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/wekey/we27/rules.mk b/keyboards/wekey/we27/rules.mk index c76f29ff753..1c5cc136ca4 100644 --- a/keyboards/wekey/we27/rules.mk +++ b/keyboards/wekey/we27/rules.mk @@ -13,7 +13,4 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes RGB_MATRIX_ENABLE = yes # Use RGB matrix -DEBOUNCE_TYPE = sym_defer_pk RGB_MATRIX_CUSTOM_KB = yes - -SRC += encoder_actions.c diff --git a/keyboards/wekey/we27/we27.c b/keyboards/wekey/we27/we27.c index 9f2b85d95f8..03ec6f5512e 100644 --- a/keyboards/wekey/we27/we27.c +++ b/keyboards/wekey/we27/we27.c @@ -15,7 +15,6 @@ */ #include "quantum.h" -#include "encoder_actions.h" #ifdef RGB_MATRIX_ENABLE @@ -45,14 +44,3 @@ led_config_t g_led_config = { { } }; #endif - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - encoder_action_register(index, clockwise); - return true; -}; diff --git a/keyboards/westfoxtrot/aanzee/config.h b/keyboards/westfoxtrot/aanzee/config.h index 9a29563ec7d..8418197eb62 100644 --- a/keyboards/westfoxtrot/aanzee/config.h +++ b/keyboards/westfoxtrot/aanzee/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 9 - #define RGBLIGHT_HUE_STEP 12 - #define RGBLIGHT_SAT_STEP 25 - #define RGBLIGHT_VAL_STEP 12 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/westfoxtrot/aanzee/info.json b/keyboards/westfoxtrot/aanzee/info.json index 9dd3fcb2a40..2ad13e2cc76 100644 --- a/keyboards/westfoxtrot/aanzee/info.json +++ b/keyboards/westfoxtrot/aanzee/info.json @@ -22,6 +22,13 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 9, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/westfoxtrot/cyclops/keymaps/peippo/keymap.c b/keyboards/westfoxtrot/cyclops/keymaps/peippo/keymap.c index 94d134d7c98..40f8c98344d 100644 --- a/keyboards/westfoxtrot/cyclops/keymaps/peippo/keymap.c +++ b/keyboards/westfoxtrot/cyclops/keymaps/peippo/keymap.c @@ -61,19 +61,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, KC_MRWD, KC_MUTE, KC_MFFD), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c index eed5e664a80..9763abe3691 100644 --- a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c +++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c @@ -51,23 +51,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; - - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { // Insert custom handling for CAPS_LOCK, NUM_LOCK, SCROLL_LOCK here - if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { + if (led_state.num_lock) { writePinHigh(F4); writePinHigh(F1); writePinHigh(F5); @@ -76,4 +62,5 @@ void led_set_user(uint8_t usb_led) { writePinLow(F1); writePinLow(F5); } + return false; } diff --git a/keyboards/westfoxtrot/cypher/rev5/config.h b/keyboards/westfoxtrot/cypher/rev5/config.h index ed68bff9d45..d2a2e109d9d 100644 --- a/keyboards/westfoxtrot/cypher/rev5/config.h +++ b/keyboards/westfoxtrot/cypher/rev5/config.h @@ -27,11 +27,6 @@ along with this program. If not, see . */ #define GRAVE_ESC_CTRL_OVERRIDE - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 12 - #define RGBLIGHT_SAT_STEP 25 - #define RGBLIGHT_VAL_STEP 12 - #define RGBLIGHT_SLEEP #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/westfoxtrot/cypher/rev5/info.json b/keyboards/westfoxtrot/cypher/rev5/info.json index d3f57b6e67f..c7e62632e20 100644 --- a/keyboards/westfoxtrot/cypher/rev5/info.json +++ b/keyboards/westfoxtrot/cypher/rev5/info.json @@ -16,6 +16,13 @@ "levels": 5, "breathing": true }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 10, + "sleep": true + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/westfoxtrot/prophet/rules.mk b/keyboards/westfoxtrot/prophet/rules.mk index 1d3680aec14..14d4af4e142 100644 --- a/keyboards/westfoxtrot/prophet/rules.mk +++ b/keyboards/westfoxtrot/prophet/rules.mk @@ -11,5 +11,3 @@ SLEEP_LED_ENABLE = yes BACKLIGHT_ENABLE = no RGBLIGHT_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/westm/westm68/rev1/config.h b/keyboards/westm/westm68/rev1/config.h index db711fcfd97..af49da747a5 100644 --- a/keyboards/westm/westm68/rev1/config.h +++ b/keyboards/westm/westm68/rev1/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/westm/westm68/rev1/info.json b/keyboards/westm/westm68/rev1/info.json index 70c31e162b6..c81abf26114 100644 --- a/keyboards/westm/westm68/rev1/info.json +++ b/keyboards/westm/westm68/rev1/info.json @@ -2,6 +2,9 @@ "usb": { "pid": "0x0101" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "A8" } diff --git a/keyboards/westm/westm68/rev2/config.h b/keyboards/westm/westm68/rev2/config.h index db711fcfd97..af49da747a5 100644 --- a/keyboards/westm/westm68/rev2/config.h +++ b/keyboards/westm/westm68/rev2/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/westm/westm68/rev2/info.json b/keyboards/westm/westm68/rev2/info.json index 50711496d3c..3bb3362a7d0 100644 --- a/keyboards/westm/westm68/rev2/info.json +++ b/keyboards/westm/westm68/rev2/info.json @@ -2,6 +2,9 @@ "usb": { "pid": "0x0102" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "A8" } diff --git a/keyboards/westm/westm9/rev1/config.h b/keyboards/westm/westm9/rev1/config.h index 17de75167cd..2985e7ec596 100644 --- a/keyboards/westm/westm9/rev1/config.h +++ b/keyboards/westm/westm9/rev1/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 14 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/westm/westm9/rev1/info.json b/keyboards/westm/westm9/rev1/info.json index 5986e5c1c8d..06998fc670b 100644 --- a/keyboards/westm/westm9/rev1/info.json +++ b/keyboards/westm/westm9/rev1/info.json @@ -2,6 +2,9 @@ "usb": { "pid": "0x0301" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "F1" } diff --git a/keyboards/westm/westm9/rev2/config.h b/keyboards/westm/westm9/rev2/config.h index 17de75167cd..2985e7ec596 100644 --- a/keyboards/westm/westm9/rev2/config.h +++ b/keyboards/westm/westm9/rev2/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 14 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/westm/westm9/rev2/info.json b/keyboards/westm/westm9/rev2/info.json index faebf5d443c..dfe9215991e 100644 --- a/keyboards/westm/westm9/rev2/info.json +++ b/keyboards/westm/westm9/rev2/info.json @@ -2,6 +2,9 @@ "usb": { "pid": "0x0302" }, + "rgblight": { + "led_count": 14 + }, "ws2812": { "pin": "F1" } diff --git a/keyboards/westm/westmergo/config.h b/keyboards/westm/westmergo/config.h index 2b648278565..2470026c0a2 100644 --- a/keyboards/westm/westmergo/config.h +++ b/keyboards/westm/westmergo/config.h @@ -26,7 +26,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/westm/westmergo/info.json b/keyboards/westm/westmergo/info.json index 30e82dfad69..6b8ac581687 100644 --- a/keyboards/westm/westmergo/info.json +++ b/keyboards/westm/westmergo/info.json @@ -8,6 +8,9 @@ "pid": "0x0201", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "pin": "A8" }, diff --git a/keyboards/wilba_tech/wt70_jb/config.h b/keyboards/wilba_tech/wt70_jb/config.h index 914d9b2763c..83db90da84d 100644 --- a/keyboards/wilba_tech/wt70_jb/config.h +++ b/keyboards/wilba_tech/wt70_jb/config.h @@ -21,10 +21,6 @@ #define LOCKING_RESYNC_ENABLE // RGBLIGHT configuation - #define RGBLED_NUM 2 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/wilba_tech/wt70_jb/info.json b/keyboards/wilba_tech/wt70_jb/info.json index d750e86d90a..b03e9e6f737 100644 --- a/keyboards/wilba_tech/wt70_jb/info.json +++ b/keyboards/wilba_tech/wt70_jb/info.json @@ -8,6 +8,11 @@ "pid": "0x001F", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2 + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/winkeyless/b87/config.h b/keyboards/winkeyless/b87/config.h index b585802fb85..5ab439e5744 100644 --- a/keyboards/winkeyless/b87/config.h +++ b/keyboards/winkeyless/b87/config.h @@ -16,7 +16,6 @@ #pragma once -#define RGBLED_NUM 20 // Number of LEDs // RGB effects #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/winkeyless/b87/info.json b/keyboards/winkeyless/b87/info.json index 10b20c41c01..1b2e0f25c29 100644 --- a/keyboards/winkeyless/b87/info.json +++ b/keyboards/winkeyless/b87/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/winkeyless/bface/config.h b/keyboards/winkeyless/bface/config.h index b7529e43111..e24f2037b0c 100644 --- a/keyboards/winkeyless/bface/config.h +++ b/keyboards/winkeyless/bface/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/winkeyless/bface/info.json b/keyboards/winkeyless/bface/info.json index 2d716a89c78..2b31d7c3abc 100644 --- a/keyboards/winkeyless/bface/info.json +++ b/keyboards/winkeyless/bface/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/winkeyless/bmini/config.h b/keyboards/winkeyless/bmini/config.h index ddc21dae308..d849732a072 100644 --- a/keyboards/winkeyless/bmini/config.h +++ b/keyboards/winkeyless/bmini/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 16 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/winkeyless/bmini/info.json b/keyboards/winkeyless/bmini/info.json index 2a18caeed4c..10a51febc0f 100644 --- a/keyboards/winkeyless/bmini/info.json +++ b/keyboards/winkeyless/bmini/info.json @@ -16,6 +16,9 @@ "backlight": { "pin": "D4" }, + "rgblight": { + "led_count": 16 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/winkeyless/bminiex/config.h b/keyboards/winkeyless/bminiex/config.h index 116c09d6ac7..d849732a072 100644 --- a/keyboards/winkeyless/bminiex/config.h +++ b/keyboards/winkeyless/bminiex/config.h @@ -17,9 +17,6 @@ along with this program. If not, see . #pragma once - -#define RGBLED_NUM 20 - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/winkeyless/bminiex/info.json b/keyboards/winkeyless/bminiex/info.json index 03a8e408b51..24d205334c0 100644 --- a/keyboards/winkeyless/bminiex/info.json +++ b/keyboards/winkeyless/bminiex/info.json @@ -17,6 +17,9 @@ "pin": "D4", "levels": 5 }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/winkeys/mini_winni/config.h b/keyboards/winkeys/mini_winni/config.h index 73844a7bc7f..eadcfab244e 100644 --- a/keyboards/winkeys/mini_winni/config.h +++ b/keyboards/winkeys/mini_winni/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 4 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/winkeys/mini_winni/info.json b/keyboards/winkeys/mini_winni/info.json index 7828dba4689..139a50f320f 100644 --- a/keyboards/winkeys/mini_winni/info.json +++ b/keyboards/winkeys/mini_winni/info.json @@ -15,6 +15,9 @@ ["F6", "F7", "B6", "B5"] ] }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/winry/winry25tc/config.h b/keyboards/winry/winry25tc/config.h deleted file mode 100644 index 98c540c876a..00000000000 --- a/keyboards/winry/winry25tc/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2021 Andrzej Ressel (andrzej.ressel@gmail.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 . - */ - -#pragma once - -#define RGBLED_NUM 40 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/winry/winry25tc/info.json b/keyboards/winry/winry25tc/info.json index 40768171e4a..a5d3b71a261 100644 --- a/keyboards/winry/winry25tc/info.json +++ b/keyboards/winry/winry25tc/info.json @@ -12,7 +12,13 @@ "pin": "D5" }, "rgblight": { - "max_brightness": 150 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 40, + "max_brightness": 150, + "animations": { + "rainbow_swirl": true + } }, "matrix_pins": { "cols": ["F5", "C7", "B7", "B2", "B4"], diff --git a/keyboards/winry/winry25tc/keymaps/lightsout/keymap.c b/keyboards/winry/winry25tc/keymaps/lightsout/keymap.c new file mode 100644 index 00000000000..f175f36b91e --- /dev/null +++ b/keyboards/winry/winry25tc/keymaps/lightsout/keymap.c @@ -0,0 +1,136 @@ +/* Copyright 2023 Tom Parker-Shemilt + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include + +#include QMK_KEYBOARD_H + +// clang-format off + +// Exact keymap is irrelevant as we're using rows/cols +// but we need _something_ set so we're using no-ops +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = 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 + )}; + +bool tiles[5][5] = { + {false, false, false, false, false}, + {false, false, false, false, false}, + {false, false, false, false, false}, + {false, false, false, false, false}, + {false, false, false, false, false}, +}; + +/* Because snake pattern of leds */ +const uint8_t remap[25] = { + 20,21,22,23,24, + 19,6,7,8,9, + 18,5,0,1,10, + 17,4,3,2,11, + 16,15,14,13,12, +}; + +// clang-format on + +bool is_blank(void) { + for (uint8_t y = 0; y < 5; y++) { + for (uint8_t x = 0; x < 5; x++) { + if (tiles[x][y]) { + return false; + } + } + } + return true; +} + +void do_move(uint8_t x, uint8_t y) { + tiles[x][y] ^= true; + if (x > 0) { + tiles[x - 1][y] ^= true; + } + if (y > 0) { + tiles[x][y - 1] ^= true; + } + if (x < 4) { + tiles[x + 1][y] ^= true; + } + if (y < 4) { + tiles[x][y + 1] ^= true; + } +} + +void refresh_leds(void) { + for (uint8_t y = 0; y < 5; y++) { + for (uint8_t x = 0; x < 5; x++) { + uint8_t tile = tiles[x][y]; + uint8_t index = (y * 5) + x; + if (tile) { + setrgb(RGB_RED, &led[remap[index]]); + } else { + setrgb(RGB_WHITE, &led[remap[index]]); + } + } + } + rgblight_set(); +} + +uint8_t initial_moves = 1; + +void start_game(void) { + rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); + srand(timer_read32()); + while (true) { + for (uint8_t i = 0; i < initial_moves; i++) { + do_move(rand() % 5, rand() % 5); + } + if (!is_blank()) { + // Catch the "we picked the same location 2*N times" case + break; + } + } + refresh_leds(); +} + +void keyboard_post_init_user(void) { + rgblight_enable_noeeprom(); + start_game(); +} + +bool won = false; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + if (won) { + initial_moves++; + won = false; + start_game(); + } else { + uint8_t x = record->event.key.col; + uint8_t y = record->event.key.row; + do_move(x, y); + if (is_blank()) { + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL); + won = true; + } + } + } + refresh_leds(); + return true; +} diff --git a/keyboards/winry/winry25tc/keymaps/lightsout/readme.md b/keyboards/winry/winry25tc/keymaps/lightsout/readme.md new file mode 100644 index 00000000000..4271bff43fd --- /dev/null +++ b/keyboards/winry/winry25tc/keymaps/lightsout/readme.md @@ -0,0 +1,3 @@ +# Lights Out game + +Implements a "lights out" mode as per https://en.m.wikipedia.org/wiki/Lights_Out_(game) with a single move having been played on start. On completion of the game, the Rainbow Swirl pattern is displayed. If another key is then pressed, the game resets, with the initial number of moves incremented by one. diff --git a/keyboards/winry/winry315/config.h b/keyboards/winry/winry315/config.h index 09724a2c001..4453e273d37 100644 --- a/keyboards/winry/winry315/config.h +++ b/keyboards/winry/winry315/config.h @@ -9,18 +9,9 @@ // clang-format on -// RGB LED parameters. -// This PCB uses a single chain of WS2812-compatible addressable RGB LEDs for -// per-key backlight and underglow. -#define RGBLED_NUM 27 - // RGB Lighting configuration. This mode is used by the vendor firmware, and // can be chosen if the full RGB Matrix support is not desired for some reason. #ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -34,7 +25,7 @@ // RGB Matrix configuration. #ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 27 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 # define RGB_MATRIX_CENTER \ diff --git a/keyboards/winry/winry315/info.json b/keyboards/winry/winry315/info.json index cfd52d368a3..2c98f3bd535 100644 --- a/keyboards/winry/winry315/info.json +++ b/keyboards/winry/winry315/info.json @@ -12,7 +12,11 @@ "driver": "WS2812" }, "rgblight": { - "max_brightness": 150 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 27, + "max_brightness": 150, + "sleep": true }, "encoder": { "rotary": [ diff --git a/keyboards/winry/winry315/keymaps/via/encoder_actions.c b/keyboards/winry/winry315/keymaps/via/encoder_actions.c deleted file mode 100644 index d24d13bb26c..00000000000 --- a/keyboards/winry/winry315/keymaps/via/encoder_actions.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright 2020 Neil Brian Ramirez - * Copyright 2021 drashna jael're (@drashna) - * Copyright 2022 Sergey Vlasov (@sigprof) - * - * This program is free software: you can 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 "encoder_actions.h" - -#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE) - -# ifndef ENCODER_TAP_DURATION_MS -# define ENCODER_TAP_DURATION_MS 10 -# endif - -# define ENCODER_STATE_CW 0x01 -# define ENCODER_STATE_CCW 0x02 - -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static uint16_t encoder_timer[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -static void exec_encoder_action(uint8_t index, bool clockwise, bool pressed) { - // clang-format off - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = pressed, - .time = timer_read(), - .type = KEY_EVENT - }; - // clang-format on - action_exec(encoder_event); -} - -void encoder_action_unregister(void) { - for (int index = 0; index < NUM_ENCODERS; ++index) { - if (encoder_state[index] && (timer_elapsed(encoder_timer[index]) >= ENCODER_TAP_DURATION_MS)) { - bool clockwise = !!(encoder_state[index] & ENCODER_STATE_CW); - encoder_state[index] = 0; - exec_encoder_action(index, clockwise, false); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - if (encoder_state[index]) { - bool was_clockwise = !!(encoder_state[index] & ENCODER_STATE_CW); - encoder_state[index] = 0; - exec_encoder_action(index, was_clockwise, false); - } - encoder_state[index] = clockwise ? ENCODER_STATE_CW : ENCODER_STATE_CCW; - encoder_timer[index] = timer_read(); - exec_encoder_action(index, clockwise, true); -} - -void matrix_scan_kb(void) { - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - // don't return user actions, because they are in the keymap - // encoder_update_user(index, clockwise); - return true; -}; - -#endif diff --git a/keyboards/winry/winry315/keymaps/via/encoder_actions.h b/keyboards/winry/winry315/keymaps/via/encoder_actions.h deleted file mode 100644 index 2484af52ae1..00000000000 --- a/keyboards/winry/winry315/keymaps/via/encoder_actions.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2020 Neil Brian 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 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 "quantum.h" - -void encoder_action_unregister(void); - -void encoder_action_register(uint8_t index, bool clockwise); diff --git a/keyboards/winry/winry315/keymaps/via/keymap.c b/keyboards/winry/winry315/keymaps/via/keymap.c index 67598ac3376..0641fbfd03e 100644 --- a/keyboards/winry/winry315/keymaps/via/keymap.c +++ b/keyboards/winry/winry315/keymaps/via/keymap.c @@ -5,36 +5,23 @@ // clang-format off -#define LAYOUT_via( \ - k17, k15, k16, \ - k23,k22, k19,k18, k21,k20, \ - k00, k01, k02, k03, k04, \ - k05, k06, k07, k08, k09, \ - k10, k11, k12, k13, k14 \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23 } \ -} - #define U_LTESC LT(1, KC_ESC) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_via( + [0] = LAYOUT_top( KC_HOME, KC_MUTE, KC_MPLY, - KC_PGUP, KC_PGDN, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, U_LTESC, KC_TAB, KC_SPC, KC_BSPC, KC_ENT ), - [1] = LAYOUT_via( + [1] = LAYOUT_top( RGB_M_P, RGB_M_B, RGB_M_R, - RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_R ), - [2 ... 7] = LAYOUT_via( + [2 ... 7] = LAYOUT_top( KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -42,3 +29,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, + [2 ... 7] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/winry/winry315/keymaps/via/rules.mk b/keyboards/winry/winry315/keymaps/via/rules.mk index 6098ef3ad8f..1189f4ad192 100644 --- a/keyboards/winry/winry315/keymaps/via/rules.mk +++ b/keyboards/winry/winry315/keymaps/via/rules.mk @@ -1,4 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes - -SRC += encoder_actions.c +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/wolf/neely65/info.json b/keyboards/wolf/neely65/info.json new file mode 100644 index 00000000000..5535036f376 --- /dev/null +++ b/keyboards/wolf/neely65/info.json @@ -0,0 +1,108 @@ +{ + "manufacturer": "Neely", + "keyboard_name": "Neely65", + "maintainer": "ToastyStoemp", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B7", "B3", "E6", "F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], + "rows": ["D5", "D3", "D2", "D1", "D0"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0071", + "vid": "0x5453" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "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 }, + { "matrix": [0, 15], "x": 15.5, "y": 0 }, + { "matrix": [2, 14], "x": 16.5, "y": 0 }, + { "matrix": [0, 16], "x": 17.5, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "w": 1.5, "x": 2.5, "y": 1 }, + { "matrix": [1, 3], "x": 4, "y": 1 }, + { "matrix": [1, 4], "x": 5, "y": 1 }, + { "matrix": [1, 5], "x": 6, "y": 1 }, + { "matrix": [1, 6], "x": 7, "y": 1 }, + { "matrix": [1, 7], "x": 8, "y": 1 }, + { "matrix": [1, 8], "x": 9, "y": 1 }, + { "matrix": [1, 9], "x": 10, "y": 1 }, + { "matrix": [1, 10], "x": 11, "y": 1 }, + { "matrix": [1, 11], "x": 12, "y": 1 }, + { "matrix": [1, 12], "x": 13, "y": 1 }, + { "matrix": [1, 13], "x": 14, "y": 1 }, + { "matrix": [1, 14], "x": 15, "y": 1 }, + { "matrix": [1, 15], "w": 1.5, "x": 16, "y": 1 }, + { "matrix": [1, 16], "x": 17.5, "y": 1 }, + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "w": 1.75, "x": 2.5, "y": 2 }, + { "matrix": [2, 3], "x": 4.25, "y": 2 }, + { "matrix": [2, 4], "x": 5.25, "y": 2 }, + { "matrix": [2, 5], "x": 6.25, "y": 2 }, + { "matrix": [2, 6], "x": 7.25, "y": 2 }, + { "matrix": [2, 7], "x": 8.25, "y": 2 }, + { "matrix": [2, 8], "x": 9.25, "y": 2 }, + { "matrix": [2, 9], "x": 10.25, "y": 2 }, + { "matrix": [2, 10], "x": 11.25, "y": 2 }, + { "matrix": [2, 11], "x": 12.25, "y": 2 }, + { "matrix": [2, 12], "x": 13.25, "y": 2 }, + { "matrix": [2, 13], "x": 14.25, "y": 2 }, + { "matrix": [2, 15], "w": 2.25, "x": 15.25, "y": 2 }, + { "matrix": [2, 16], "x": 17.5, "y": 2 }, + { "matrix": [3, 0], "x": 0, "y": 3 }, + { "matrix": [3, 1], "x": 1, "y": 3 }, + { "matrix": [3, 2], "w": 2.25, "x": 2.5, "y": 3 }, + { "matrix": [3, 3], "x": 4.75, "y": 3 }, + { "matrix": [3, 4], "x": 5.75, "y": 3 }, + { "matrix": [3, 5], "x": 6.75, "y": 3 }, + { "matrix": [3, 6], "x": 7.75, "y": 3 }, + { "matrix": [3, 7], "x": 8.75, "y": 3 }, + { "matrix": [3, 8], "x": 9.75, "y": 3 }, + { "matrix": [3, 9], "x": 10.75, "y": 3 }, + { "matrix": [3, 10], "x": 11.75, "y": 3 }, + { "matrix": [3, 11], "x": 12.75, "y": 3 }, + { "matrix": [3, 12], "x": 13.75, "y": 3 }, + { "matrix": [3, 14], "w": 1.75, "x": 14.75, "y": 3 }, + { "matrix": [3, 15], "x": 16.5, "y": 3 }, + { "matrix": [3, 16], "x": 17.5, "y": 3 }, + { "matrix": [4, 0], "x": 0, "y": 4 }, + { "matrix": [4, 1], "x": 1, "y": 4 }, + { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [4, 4], "w": 1.5, "x": 4.75, "y": 4 }, + { "matrix": [4, 7], "w": 7, "x": 6.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.5, "x": 13.25, "y": 4 }, + { "matrix": [4, 14], "x": 15.5, "y": 4 }, + { "matrix": [4, 15], "x": 16.5, "y": 4 }, + { "matrix": [4, 16], "x": 17.5, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/wolf/neely65/keymaps/default/keymap.c b/keyboards/wolf/neely65/keymaps/default/keymap.c new file mode 100644 index 00000000000..3e1350a75e7 --- /dev/null +++ b/keyboards/wolf/neely65/keymaps/default/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + +#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_HOME, KC_F1, 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_PGUP, KC_F3, KC_F4, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_ENT, KC_PGDN, KC_F5, KC_F6, + 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_END, KC_F7, KC_F8, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_APP, KC_F9, 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_AUDIO_VOL_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_AUDIO_VOL_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_MEDIA_PREV_TRACK, 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_MEDIA_NEXT_TRACK, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/wolf/neely65/keymaps/via/keymap.c b/keyboards/wolf/neely65/keymaps/via/keymap.c new file mode 100644 index 00000000000..3e1350a75e7 --- /dev/null +++ b/keyboards/wolf/neely65/keymaps/via/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + +#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_HOME, KC_F1, 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_PGUP, KC_F3, KC_F4, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_ENT, KC_PGDN, KC_F5, KC_F6, + 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_END, KC_F7, KC_F8, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_APP, KC_F9, 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_AUDIO_VOL_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_AUDIO_VOL_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_MEDIA_PREV_TRACK, 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_MEDIA_NEXT_TRACK, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/wolf/neely65/keymaps/via/rules.mk b/keyboards/wolf/neely65/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/wolf/neely65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/wolf/neely65/readme.md b/keyboards/wolf/neely65/readme.md new file mode 100644 index 00000000000..52865bfb116 --- /dev/null +++ b/keyboards/wolf/neely65/readme.md @@ -0,0 +1,23 @@ +# Neely65 + +![Neely65](https://i.imgur.com/qu6fxXSh.jpeg) + +The following is the QMK Firmware for the Neely65 PCB. + +* Keyboard Maintainer: [Wolf](https://github.com/ToastyStoemp) +* Hardware Supported: Neely65 PCB only +* Hardware Availability: Private Run + +Make example for this keyboard (after setting up your build environment): + + make wolf/neely65:default + +Flashing example for this keyboard: + + make wolf/neely65: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 ESC key and plug in the keyboard (Top Left most switch) +* **Physical reset button**: Briefly press the button on the back of the PCB diff --git a/keyboards/wolf/neely65/rules.mk b/keyboards/wolf/neely65/rules.mk new file mode 100644 index 00000000000..3437a35bdf1 --- /dev/null +++ b/keyboards/wolf/neely65/rules.mk @@ -0,0 +1,2 @@ +# Processor frequency +F_CPU = 8000000 diff --git a/keyboards/wolf/silhouette/info.json b/keyboards/wolf/silhouette/info.json new file mode 100644 index 00000000000..fa52666b2a0 --- /dev/null +++ b/keyboards/wolf/silhouette/info.json @@ -0,0 +1,110 @@ +{ + "manufacturer": "4GT", + "keyboard_name": "Silhouette", + "maintainer": "ToastyStoemp", + "bootloader": "custom", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "GP12" + }, + "matrix_pins": { + "cols": ["GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP11", "GP17", "GP16", "GP7", "GP6", "GP5", "GP4", "GP2", "GP1", "GP0"], + "rows": ["GP27", "GP26", "GP25", "GP13", "GP3"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0080", + "vid": "0x5453" + }, + "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": [2, 14], "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], "w": 1.5, "x": 0, "y": 1 }, + { "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], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [1, 14], "x": 15.25, "y": 1 }, + { "matrix": [1, 15], "x": 16.25, "y": 1 }, + { "matrix": [1, 16], "x": 17.25, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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": 19.5, "y": 2 }, + { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14, "y": 3 }, + { "matrix": [3, 15], "x": 16.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }, + { "matrix": [4, 14], "x": 15.25, "y": 4 }, + { "matrix": [4, 15], "x": 16.25, "y": 4 }, + { "matrix": [4, 16], "x": 17.25, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/wolf/silhouette/keymaps/default/keymap.c b/keyboards/wolf/silhouette/keymaps/default/keymap.c new file mode 100644 index 00000000000..9a5e5b24d76 --- /dev/null +++ b/keyboards/wolf/silhouette/keymaps/default/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 contact@vwolf.be +// 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_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_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_APP, KC_RCTL, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 + ) +}; \ No newline at end of file diff --git a/keyboards/wolf/silhouette/keymaps/via/keymap.c b/keyboards/wolf/silhouette/keymaps/via/keymap.c new file mode 100644 index 00000000000..9a5e5b24d76 --- /dev/null +++ b/keyboards/wolf/silhouette/keymaps/via/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2023 contact@vwolf.be +// 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_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_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_APP, KC_RCTL, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 + ) +}; \ No newline at end of file diff --git a/keyboards/wolf/silhouette/keymaps/via/rules.mk b/keyboards/wolf/silhouette/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/wolf/silhouette/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/wolf/silhouette/readme.md b/keyboards/wolf/silhouette/readme.md new file mode 100644 index 00000000000..920de93c413 --- /dev/null +++ b/keyboards/wolf/silhouette/readme.md @@ -0,0 +1,23 @@ +# Silhouette + +![Silhouette](https://i.imgur.com/x5Wo7t1h.jpeg) + +The following is the QMK Firmware for the Silhouette PCB. + +* Keyboard Maintainer: [Wolf](https://github.com/ToastyStoemp) +* Hardware Supported: Silhouette PCB +* Hardware Availability: https://beacons.ai/chamchi + +Make example for this keyboard (after setting up your build environment): + + make wolf/silhouette:default + +Flashing example for this keyboard: + + make wolf/silhouette: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 ESC key and plug in the keyboard (Top Left most switch) diff --git a/keyboards/wolf/silhouette/rules.mk b/keyboards/wolf/silhouette/rules.mk new file mode 100644 index 00000000000..e69de29bb2d diff --git a/keyboards/wolf/ts60/config.h b/keyboards/wolf/ts60/config.h index 5064157a527..1bc729f9099 100644 --- a/keyboards/wolf/ts60/config.h +++ b/keyboards/wolf/ts60/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once /* Define RGB Underglow */ -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -29,7 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_SLEEP #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL #define BACKLIGHT_DEFAULT_LEVEL 6 diff --git a/keyboards/wolf/ts60/info.json b/keyboards/wolf/ts60/info.json index d1337177b41..3719cb3bf7e 100644 --- a/keyboards/wolf/ts60/info.json +++ b/keyboards/wolf/ts60/info.json @@ -17,6 +17,10 @@ "pin": "B7", "levels": 6 }, + "rgblight": { + "led_count": 16, + "sleep": true + }, "ws2812": { "pin": "D0" }, diff --git a/keyboards/wolf/ziggurat/info.json b/keyboards/wolf/ziggurat/info.json new file mode 100644 index 00000000000..2e8d39dacba --- /dev/null +++ b/keyboards/wolf/ziggurat/info.json @@ -0,0 +1,111 @@ +{ + "manufacturer": "Laminar", + "keyboard_name": "Ziggurat", + "maintainer": "ToastyStoemp", + "bootloader": "custom", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP27", "GP28", "GP29", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5"], + "rows": ["GP11", "GP10", "GP7", "GP6", "GP23", "GP24", "GP25", "GP26", "GP19", "GP18"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0084", + "vid": "0x5453" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [1, 0], "x": 1, "y": 0 }, + { "matrix": [0, 1], "x": 2.25, "y": 0 }, + { "matrix": [1, 1], "x": 3.25, "y": 0 }, + { "matrix": [0, 2], "x": 4.25, "y": 0 }, + { "matrix": [1, 2], "x": 5.25, "y": 0 }, + { "matrix": [0, 3], "x": 6.25, "y": 0 }, + { "matrix": [1, 3], "x": 7.25, "y": 0 }, + { "matrix": [0, 4], "x": 8.25, "y": 0 }, + { "matrix": [1, 4], "x": 9.25, "y": 0 }, + { "matrix": [0, 5], "x": 10.25, "y": 0 }, + { "matrix": [1, 5], "x": 11.25, "y": 0 }, + { "matrix": [0, 6], "x": 12.25, "y": 0 }, + { "matrix": [1, 6], "x": 13.25, "y": 0 }, + { "matrix": [7, 6], "x": 14.25, "y": 0 }, + { "matrix": [0, 7], "x": 15.25, "y": 0 }, + { "matrix": [1, 7], "x": 16.25, "y": 0 }, + { "matrix": [0, 8], "x": 17.25, "y": 0 }, + { "matrix": [2, 0], "x": 0, "y": 1 }, + { "matrix": [3, 0], "x": 1, "y": 1 }, + { "matrix": [2, 1], "w": 1.5, "x": 2.25, "y": 1 }, + { "matrix": [3, 1], "x": 3.75, "y": 1 }, + { "matrix": [2, 2], "x": 4.75, "y": 1 }, + { "matrix": [3, 2], "x": 5.75, "y": 1 }, + { "matrix": [2, 3], "x": 6.75, "y": 1 }, + { "matrix": [3, 3], "x": 7.75, "y": 1 }, + { "matrix": [2, 4], "x": 8.75, "y": 1 }, + { "matrix": [3, 4], "x": 9.75, "y": 1 }, + { "matrix": [2, 5], "x": 10.75, "y": 1 }, + { "matrix": [3, 5], "x": 11.75, "y": 1 }, + { "matrix": [2, 6], "x": 12.75, "y": 1 }, + { "matrix": [3, 6], "x": 13.75, "y": 1 }, + { "matrix": [2, 7], "x": 14.75, "y": 1 }, + { "matrix": [3, 7], "w": 1.5, "x": 15.75, "y": 1 }, + { "matrix": [2, 8], "x": 17.25, "y": 1 }, + { "matrix": [4, 0], "x": 0, "y": 2 }, + { "matrix": [5, 0], "x": 1, "y": 2 }, + { "matrix": [4, 1], "w": 1.75, "x": 2.25, "y": 2 }, + { "matrix": [5, 1], "x": 4, "y": 2 }, + { "matrix": [4, 2], "x": 5, "y": 2 }, + { "matrix": [5, 2], "x": 6, "y": 2 }, + { "matrix": [4, 3], "x": 7, "y": 2 }, + { "matrix": [5, 3], "x": 8, "y": 2 }, + { "matrix": [4, 4], "x": 9, "y": 2 }, + { "matrix": [5, 4], "x": 10, "y": 2 }, + { "matrix": [4, 5], "x": 11, "y": 2 }, + { "matrix": [5, 5], "x": 12, "y": 2 }, + { "matrix": [4, 6], "x": 13, "y": 2 }, + { "matrix": [5, 6], "x": 14, "y": 2 }, + { "matrix": [4, 7], "x": 19, "y": 2 }, + { "matrix": [5, 7], "w": 2.25, "x": 15, "y": 2 }, + { "matrix": [4, 8], "x": 17.25, "y": 2 }, + { "matrix": [6, 0], "x": 0, "y": 3 }, + { "matrix": [7, 0], "x": 1, "y": 3 }, + { "matrix": [6, 1], "w": 1.25, "x": 2.25, "y": 3 }, + { "matrix": [7, 1], "x": 3.5, "y": 3 }, + { "matrix": [9, 2], "x": 4.5, "y": 3 }, + { "matrix": [6, 2], "x": 5.5, "y": 3 }, + { "matrix": [7, 2], "x": 6.5, "y": 3 }, + { "matrix": [6, 3], "x": 7.5, "y": 3 }, + { "matrix": [7, 3], "x": 8.5, "y": 3 }, + { "matrix": [6, 4], "x": 9.5, "y": 3 }, + { "matrix": [7, 4], "x": 10.5, "y": 3 }, + { "matrix": [6, 5], "x": 11.5, "y": 3 }, + { "matrix": [7, 5], "x": 12.5, "y": 3 }, + { "matrix": [6, 6], "x": 13.5, "y": 3 }, + { "matrix": [6, 7], "w": 1.75, "x": 14.5, "y": 3 }, + { "matrix": [7, 7], "x": 16.25, "y": 3 }, + { "matrix": [6, 8], "x": 17.25, "y": 3 }, + { "matrix": [8, 0], "x": 0, "y": 4 }, + { "matrix": [9, 0], "x": 1, "y": 4 }, + { "matrix": [8, 1], "w": 1.5, "x": 2.25, "y": 4 }, + { "matrix": [9, 1], "x": 3.75, "y": 4 }, + { "matrix": [8, 2], "w": 1.5, "x": 4.75, "y": 4 }, + { "matrix": [8, 4], "w": 7, "x": 6.25, "y": 4 }, + { "matrix": [8, 6], "w": 1.5, "x": 13.25, "y": 4 }, + { "matrix": [8, 7], "x": 15.25, "y": 4 }, + { "matrix": [9, 7], "x": 16.25, "y": 4 }, + { "matrix": [8, 8], "x": 17.25, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/wolf/ziggurat/keymaps/default/keymap.c b/keyboards/wolf/ziggurat/keymaps/default/keymap.c new file mode 100644 index 00000000000..e26689efa71 --- /dev/null +++ b/keyboards/wolf/ziggurat/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_F1, KC_F6, 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_F2, KC_F7, KC_TAB, KC_Q, 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_F3, KC_F8, KC_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_F4, KC_F9, 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_F5, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + KC_F1, KC_F6, 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_F2, KC_F7, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, + KC_F3, KC_F8, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_F4, KC_F9, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + KC_F5, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/wolf/ziggurat/keymaps/via/keymap.c b/keyboards/wolf/ziggurat/keymaps/via/keymap.c new file mode 100644 index 00000000000..e26689efa71 --- /dev/null +++ b/keyboards/wolf/ziggurat/keymaps/via/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_F1, KC_F6, 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_F2, KC_F7, KC_TAB, KC_Q, 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_F3, KC_F8, KC_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_F4, KC_F9, 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_F5, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + KC_F1, KC_F6, 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_F2, KC_F7, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, + KC_F3, KC_F8, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_F4, KC_F9, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, + KC_F5, KC_F10, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/wolf/ziggurat/keymaps/via/rules.mk b/keyboards/wolf/ziggurat/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/wolf/ziggurat/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/wolf/ziggurat/readme.md b/keyboards/wolf/ziggurat/readme.md new file mode 100644 index 00000000000..d7aa00c077f --- /dev/null +++ b/keyboards/wolf/ziggurat/readme.md @@ -0,0 +1,23 @@ +# Ziggurat + +![Ziggurat](https://i.imgur.com/Vifx6vH.png) + +The following is the QMK Firmware for the Ziggurat PCB. + +* Keyboard Maintainer: [Wolf](https://github.com/ToastyStoemp) +* Hardware Supported: Ziggurat PCB +* Hardware Availability: https://www.eloquentclicks.com/product/ziggurat-plateless-leaf-spring-pcb-mount-65-xt/ + +Make example for this keyboard (after setting up your build environment): + + make wolf/ziggurat:default + +Flashing example for this keyboard: + + make wolf/ziggurat: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 ESC key and plug in the keyboard (Top Left most switch) +* **Physical reset button**: Briefly press the button on the back of the PCB diff --git a/keyboards/wolf/ziggurat/rules.mk b/keyboards/wolf/ziggurat/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/wolf/ziggurat/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/wolfmarkclub/wm1/config.h b/keyboards/wolfmarkclub/wm1/config.h index 8df536bf546..4184f7de3f3 100644 --- a/keyboards/wolfmarkclub/wm1/config.h +++ b/keyboards/wolfmarkclub/wm1/config.h @@ -17,7 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -28,10 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/wolfmarkclub/wm1/info.json b/keyboards/wolfmarkclub/wm1/info.json index 099327f417f..479f680cf7b 100644 --- a/keyboards/wolfmarkclub/wm1/info.json +++ b/keyboards/wolfmarkclub/wm1/info.json @@ -8,6 +8,12 @@ "pid": "0x2B29", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "sleep": true + }, "ws2812": { "pin": "A3" }, diff --git a/keyboards/wolfmarkclub/wm1/rules.mk b/keyboards/wolfmarkclub/wm1/rules.mk index a712747048a..512ef119fdb 100644 --- a/keyboards/wolfmarkclub/wm1/rules.mk +++ b/keyboards/wolfmarkclub/wm1/rules.mk @@ -25,5 +25,3 @@ AUDIO_ENABLE = no # Audio output SLEEP_LED_ENABLE = yes LTO_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/woodkeys/bigseries/1key/config.h b/keyboards/woodkeys/bigseries/1key/config.h index d81dd8611b7..1c7d931f6c3 100755 --- a/keyboards/woodkeys/bigseries/1key/config.h +++ b/keyboards/woodkeys/bigseries/1key/config.h @@ -33,5 +33,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 5 #endif diff --git a/keyboards/woodkeys/bigseries/1key/info.json b/keyboards/woodkeys/bigseries/1key/info.json index 1dd1e6fa0c7..9eb49434d91 100644 --- a/keyboards/woodkeys/bigseries/1key/info.json +++ b/keyboards/woodkeys/bigseries/1key/info.json @@ -12,6 +12,7 @@ "pin": "D3" }, "rgblight": { + "led_count": 5, "max_brightness": 128 }, "matrix_pins": { diff --git a/keyboards/woodkeys/bigseries/1key/keymaps/8ball/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/8ball/keymap.c index 500fddd53f4..b72b1a0d9aa 100755 --- a/keyboards/woodkeys/bigseries/1key/keymaps/8ball/keymap.c +++ b/keyboards/woodkeys/bigseries/1key/keymaps/8ball/keymap.c @@ -98,40 +98,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} - void reset_rgb(void) { // This gets called on init and after the timeout for the answer color // If you want to change the default color/mode, do it here diff --git a/keyboards/woodkeys/bigseries/1key/keymaps/ctrl-alt-del/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/ctrl-alt-del/keymap.c index d87471b0077..4cc698b1df7 100755 --- a/keyboards/woodkeys/bigseries/1key/keymaps/ctrl-alt-del/keymap.c +++ b/keyboards/woodkeys/bigseries/1key/keymaps/ctrl-alt-del/keymap.c @@ -42,46 +42,3 @@ void matrix_init_user(void) { initialized = 1; } } - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - } - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/woodkeys/bigseries/1key/keymaps/lock/keymap.c b/keyboards/woodkeys/bigseries/1key/keymaps/lock/keymap.c index 650554e0200..dbdd5a8e3c4 100755 --- a/keyboards/woodkeys/bigseries/1key/keymaps/lock/keymap.c +++ b/keyboards/woodkeys/bigseries/1key/keymaps/lock/keymap.c @@ -41,44 +41,3 @@ void matrix_init_user(void) { initialized = 1; } } - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/woodkeys/bigseries/2key/config.h b/keyboards/woodkeys/bigseries/2key/config.h index ecb56494192..1c7d931f6c3 100755 --- a/keyboards/woodkeys/bigseries/2key/config.h +++ b/keyboards/woodkeys/bigseries/2key/config.h @@ -33,5 +33,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 #endif diff --git a/keyboards/woodkeys/bigseries/2key/info.json b/keyboards/woodkeys/bigseries/2key/info.json index a488fc1515a..5d1b49144bf 100644 --- a/keyboards/woodkeys/bigseries/2key/info.json +++ b/keyboards/woodkeys/bigseries/2key/info.json @@ -12,6 +12,7 @@ "pin": "D3" }, "rgblight": { + "led_count": 8, "max_brightness": 128 }, "matrix_pins": { diff --git a/keyboards/woodkeys/bigseries/3key/config.h b/keyboards/woodkeys/bigseries/3key/config.h index a225c19d3a4..1c7d931f6c3 100755 --- a/keyboards/woodkeys/bigseries/3key/config.h +++ b/keyboards/woodkeys/bigseries/3key/config.h @@ -33,5 +33,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 11 #endif diff --git a/keyboards/woodkeys/bigseries/3key/info.json b/keyboards/woodkeys/bigseries/3key/info.json index 0152a2ce040..a11ed9217f7 100644 --- a/keyboards/woodkeys/bigseries/3key/info.json +++ b/keyboards/woodkeys/bigseries/3key/info.json @@ -12,6 +12,7 @@ "pin": "D3" }, "rgblight": { + "led_count": 11, "max_brightness": 128 }, "matrix_pins": { diff --git a/keyboards/woodkeys/bigseries/3key/keymaps/ctrl-alt-del/keymap.c b/keyboards/woodkeys/bigseries/3key/keymaps/ctrl-alt-del/keymap.c index d1410ecf1eb..d97c057c6fb 100755 --- a/keyboards/woodkeys/bigseries/3key/keymaps/ctrl-alt-del/keymap.c +++ b/keyboards/woodkeys/bigseries/3key/keymaps/ctrl-alt-del/keymap.c @@ -42,46 +42,3 @@ void matrix_init_user(void) { initialized = 1; } } - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - } - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/woodkeys/bigseries/4key/config.h b/keyboards/woodkeys/bigseries/4key/config.h index 02ed67b9cb5..1c7d931f6c3 100755 --- a/keyboards/woodkeys/bigseries/4key/config.h +++ b/keyboards/woodkeys/bigseries/4key/config.h @@ -33,5 +33,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 #endif diff --git a/keyboards/woodkeys/bigseries/4key/info.json b/keyboards/woodkeys/bigseries/4key/info.json index e228efd54ce..ee77da7eb84 100644 --- a/keyboards/woodkeys/bigseries/4key/info.json +++ b/keyboards/woodkeys/bigseries/4key/info.json @@ -12,6 +12,7 @@ "pin": "D3" }, "rgblight": { + "led_count": 12, "max_brightness": 128 }, "matrix_pins": { diff --git a/keyboards/woodkeys/meira/config.h b/keyboards/woodkeys/meira/config.h index d5bdf9540c6..4b3491cfa13 100644 --- a/keyboards/woodkeys/meira/config.h +++ b/keyboards/woodkeys/meira/config.h @@ -22,11 +22,4 @@ along with this program. If not, see . #define MATRIX_ROWS 4 #define MATRIX_COLS 12 -/* COL2ROW, ROW2COL*/ -//#define DIODE_DIRECTION - #define BACKLIGHT_PWM_MAP {2, 4, 8, 16, 40, 55, 70, 128, 200, 255} - -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 15 // Number of LEDs -#endif diff --git a/keyboards/woodkeys/meira/info.json b/keyboards/woodkeys/meira/info.json index e39df58323a..5905c00d2d0 100644 --- a/keyboards/woodkeys/meira/info.json +++ b/keyboards/woodkeys/meira/info.json @@ -12,6 +12,9 @@ "driver": "custom", "levels": 10 }, + "rgblight": { + "led_count": 15 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/woodkeys/meira/keymaps/cole/config.h b/keyboards/woodkeys/meira/keymaps/cole/config.h index 90c490e8362..1dd4c39f254 100644 --- a/keyboards/woodkeys/meira/keymaps/cole/config.h +++ b/keyboards/woodkeys/meira/keymaps/cole/config.h @@ -14,10 +14,7 @@ * along with this program. If not, see . */ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" +#pragma once // place overrides here #define MUSIC_MASK (keycode != KC_NO) @@ -27,5 +24,3 @@ #define NO_MUSIC_MODE #endif - -#endif diff --git a/keyboards/woodkeys/meira/keymaps/cole/keymap.c b/keyboards/woodkeys/meira/keymaps/cole/keymap.c index 365c9d18e5a..b85da25a28b 100644 --- a/keyboards/woodkeys/meira/keymaps/cole/keymap.c +++ b/keyboards/woodkeys/meira/keymaps/cole/keymap.c @@ -26,7 +26,7 @@ extern rgblight_config_t rgblight_config; #define _DVORAK 2 #define _LOWER 3 #define _RAISE 4 -#define _ADJUST 16 +#define _ADJUST 5 enum custom_keycodes { QWERTY = SAFE_RANGE, @@ -214,7 +214,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/woodkeys/meira/keymaps/grahampheath/config.h b/keyboards/woodkeys/meira/keymaps/grahampheath/config.h index 604f3784615..638ebffb8ce 100644 --- a/keyboards/woodkeys/meira/keymaps/grahampheath/config.h +++ b/keyboards/woodkeys/meira/keymaps/grahampheath/config.h @@ -14,15 +14,13 @@ * along with this program. If not, see . */ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" +#pragma once // place overrides here #define MUSIC_MASK (keycode != KC_NO) -#define AUDIO_PIN C6 #ifdef AUDIO_ENABLE +#undef AUDIO_PIN +#define AUDIO_PIN C6 #define STARTUP_SONG SONG(PLANCK_SOUND) // #define STARTUP_SONG SONG(NO_SOUND) @@ -31,5 +29,3 @@ SONG(DVORAK_SOUND) \ } #endif - -#endif diff --git a/keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c b/keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c index aa9730b88f2..8057bcf2b42 100644 --- a/keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c +++ b/keyboards/woodkeys/meira/keymaps/grahampheath/keymap.c @@ -26,7 +26,7 @@ extern rgblight_config_t rgblight_config; #define _LOWER 3 #define _RAISE 4 #define _EMOJI 5 -#define _ADJUST 16 +#define _ADJUST 6 enum custom_keycodes { QWERTY = SAFE_RANGE, @@ -391,6 +391,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/woodkeys/meira/keymaps/takmiya/keymap.c b/keyboards/woodkeys/meira/keymaps/takmiya/keymap.c index ddd695461ec..8e3c41c3328 100644 --- a/keyboards/woodkeys/meira/keymaps/takmiya/keymap.c +++ b/keyboards/woodkeys/meira/keymaps/takmiya/keymap.c @@ -24,7 +24,7 @@ extern rgblight_config_t rgblight_config; #define _QWERTY 0 #define _LOWER 1 #define _RAISE 2 -#define _ADJUST 16 +#define _ADJUST 3 enum custom_keycodes { QWERTY = SAFE_RANGE, @@ -227,7 +227,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/woodkeys/scarletbandana/config.h b/keyboards/woodkeys/scarletbandana/config.h index 3854dc86596..45b5100891f 100644 --- a/keyboards/woodkeys/scarletbandana/config.h +++ b/keyboards/woodkeys/scarletbandana/config.h @@ -28,7 +28,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 // Number of LEDs #endif #ifdef AUDIO_ENABLE diff --git a/keyboards/woodkeys/scarletbandana/info.json b/keyboards/woodkeys/scarletbandana/info.json index d74555a178d..49177ea718b 100644 --- a/keyboards/woodkeys/scarletbandana/info.json +++ b/keyboards/woodkeys/scarletbandana/info.json @@ -8,6 +8,9 @@ "pid": "0x6969", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/work_louder/loop/config.h b/keyboards/work_louder/loop/config.h index cf25b4b5b70..8a2548341a6 100644 --- a/keyboards/work_louder/loop/config.h +++ b/keyboards/work_louder/loop/config.h @@ -18,10 +18,6 @@ along with this program. If not, see . #pragma once #define RGBLIGHT_DI_PIN E6 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== or choose animations ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/work_louder/loop/info.json b/keyboards/work_louder/loop/info.json index 966f0a6b02e..458066fc158 100644 --- a/keyboards/work_louder/loop/info.json +++ b/keyboards/work_louder/loop/info.json @@ -30,7 +30,8 @@ "pin": "F1" }, "rgblight": { - "max_brightness": 120 + "max_brightness": 120, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/work_louder/loop/rev1/config.h b/keyboards/work_louder/loop/rev1/config.h deleted file mode 100644 index 1bc02d08a68..00000000000 --- a/keyboards/work_louder/loop/rev1/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -# define RGBLED_NUM 24 diff --git a/keyboards/work_louder/loop/rev1/info.json b/keyboards/work_louder/loop/rev1/info.json index 90ac25f360b..3caea9b338f 100644 --- a/keyboards/work_louder/loop/rev1/info.json +++ b/keyboards/work_louder/loop/rev1/info.json @@ -1,5 +1,8 @@ { "usb": { "device_version": "0.0.1" + }, + "rgblight": { + "led_count": 24 } } diff --git a/keyboards/work_louder/loop/rev3/config.h b/keyboards/work_louder/loop/rev3/config.h deleted file mode 100644 index 5451d4466e2..00000000000 --- a/keyboards/work_louder/loop/rev3/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLED_NUM 11 diff --git a/keyboards/work_louder/loop/rev3/info.json b/keyboards/work_louder/loop/rev3/info.json index b377cdff008..603bca5c6a4 100644 --- a/keyboards/work_louder/loop/rev3/info.json +++ b/keyboards/work_louder/loop/rev3/info.json @@ -1,5 +1,8 @@ { "usb": { "device_version": "0.0.3" + }, + "rgblight": { + "led_count": 11 } } diff --git a/keyboards/work_louder/micro/config.h b/keyboards/work_louder/micro/config.h index 234b1de6023..98f2b869735 100644 --- a/keyboards/work_louder/micro/config.h +++ b/keyboards/work_louder/micro/config.h @@ -12,7 +12,6 @@ // #define RGB_MATRIX_KEYPRESSES #define RGBLIGHT_DI_PIN D2 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9 #define RGBLIGHT_DEFAULT_HUE 213 diff --git a/keyboards/work_louder/micro/info.json b/keyboards/work_louder/micro/info.json index 6b14ecfbe79..d003fcad380 100644 --- a/keyboards/work_louder/micro/info.json +++ b/keyboards/work_louder/micro/info.json @@ -37,7 +37,8 @@ "hue_steps": 8, "led_count": 8, "max_brightness": 150, - "saturation_steps": 8 + "saturation_steps": 8, + "sleep": true }, "ws2812": { "pin": "D1" diff --git a/keyboards/work_louder/nano/config.h b/keyboards/work_louder/nano/config.h index 593304a0533..525bb3fda79 100644 --- a/keyboards/work_louder/nano/config.h +++ b/keyboards/work_louder/nano/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once #define RGBLIGHT_DI_PIN C7 -#define RGBLED_NUM 6 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== or choose animations ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/work_louder/nano/info.json b/keyboards/work_louder/nano/info.json index adc32d10a64..5b95e7d2aa3 100644 --- a/keyboards/work_louder/nano/info.json +++ b/keyboards/work_louder/nano/info.json @@ -26,7 +26,9 @@ "pin": "F6" }, "rgblight": { - "max_brightness": 120 + "led_count": 6, + "max_brightness": 120, + "sleep": true }, "bootmagic": { "matrix": [0, 2] diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h index 56615c8e495..6a6d757b700 100644 --- a/keyboards/work_louder/work_board/config.h +++ b/keyboards/work_louder/work_board/config.h @@ -18,10 +18,6 @@ along with this program. If not, see . #pragma once #define RGBLIGHT_DI_PIN D2 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*== or choose animations ==*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/work_louder/work_board/info.json b/keyboards/work_louder/work_board/info.json index 067a2b292e8..99ddfd5e65a 100644 --- a/keyboards/work_louder/work_board/info.json +++ b/keyboards/work_louder/work_board/info.json @@ -25,7 +25,8 @@ "pin": "D1" }, "rgblight": { - "max_brightness": 120 + "max_brightness": 120, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/work_louder/work_board/keymaps/drashna/keymap.c b/keyboards/work_louder/work_board/keymaps/drashna/keymap.c index 1747ab638eb..2c202257425 100644 --- a/keyboards/work_louder/work_board/keymaps/drashna/keymap.c +++ b/keyboards/work_louder/work_board/keymaps/drashna/keymap.c @@ -110,7 +110,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { uint8_t this_mod = get_mods(); - uint8_t this_led = host_keyboard_leds(); + led_t this_led = host_keyboard_led_state(); uint8_t this_osm = get_oneshot_mods(); #define THUMB_LED 6 #define RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(...) RGB_MATRIX_INDICATOR_SET_COLOR(__VA_ARGS__) @@ -134,7 +134,7 @@ bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { } } - if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1 << USB_LED_CAPS_LOCK)) { + if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led.caps_lock) { if (!layer_state_is(_ADJUST)) { RGB_MATRIX_INDICATOR_SET_COLOR(12, 0x00, 0xFF, 0x00); RGB_MATRIX_INDICATOR_SET_COLOR(13, 0x00, 0xFF, 0x00); diff --git a/keyboards/work_louder/work_board/rev1/config.h b/keyboards/work_louder/work_board/rev1/config.h deleted file mode 100644 index b7d85d490d9..00000000000 --- a/keyboards/work_louder/work_board/rev1/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -# define RGBLED_NUM 26 diff --git a/keyboards/work_louder/work_board/rev1/info.json b/keyboards/work_louder/work_board/rev1/info.json index 90ac25f360b..9884ca6e489 100644 --- a/keyboards/work_louder/work_board/rev1/info.json +++ b/keyboards/work_louder/work_board/rev1/info.json @@ -1,5 +1,8 @@ { "usb": { "device_version": "0.0.1" + }, + "rgblight": { + "led_count": 26 } } diff --git a/keyboards/work_louder/work_board/rev3/config.h b/keyboards/work_louder/work_board/rev3/config.h deleted file mode 100644 index 8e3cd8bce80..00000000000 --- a/keyboards/work_louder/work_board/rev3/config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLED_NUM 19 diff --git a/keyboards/work_louder/work_board/rev3/info.json b/keyboards/work_louder/work_board/rev3/info.json index b377cdff008..63e757dfe21 100644 --- a/keyboards/work_louder/work_board/rev3/info.json +++ b/keyboards/work_louder/work_board/rev3/info.json @@ -1,5 +1,8 @@ { "usb": { "device_version": "0.0.3" + }, + "rgblight": { + "led_count": 19 } } diff --git a/keyboards/wsk/alpha9/config.h b/keyboards/wsk/alpha9/config.h index defc0a92dcb..9d803ecd107 100644 --- a/keyboards/wsk/alpha9/config.h +++ b/keyboards/wsk/alpha9/config.h @@ -32,7 +32,3 @@ # define RGBLIGHT_EFFECT_RGB_TEST # define RGBLIGHT_EFFECT_ALTERNATING # define RGBLIGHT_EFFECT_TWINKLE -# define RGBLED_NUM 5 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/wsk/alpha9/info.json b/keyboards/wsk/alpha9/info.json index 0b158630599..e2edc520ec6 100644 --- a/keyboards/wsk/alpha9/info.json +++ b/keyboards/wsk/alpha9/info.json @@ -17,6 +17,11 @@ "caps_lock": "D3", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/wsk/g4m3ralpha/config.h b/keyboards/wsk/g4m3ralpha/config.h index a14f9dbde2f..a3080656e9e 100644 --- a/keyboards/wsk/g4m3ralpha/config.h +++ b/keyboards/wsk/g4m3ralpha/config.h @@ -32,7 +32,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/wsk/g4m3ralpha/info.json b/keyboards/wsk/g4m3ralpha/info.json index e9c24279f3d..2df7c7842ad 100644 --- a/keyboards/wsk/g4m3ralpha/info.json +++ b/keyboards/wsk/g4m3ralpha/info.json @@ -8,6 +8,11 @@ "pid": "0x56D9", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/wsk/gothic50/config.h b/keyboards/wsk/gothic50/config.h index 541e19beced..00375deb606 100644 --- a/keyboards/wsk/gothic50/config.h +++ b/keyboards/wsk/gothic50/config.h @@ -10,10 +10,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/wsk/gothic50/info.json b/keyboards/wsk/gothic50/info.json index 8cc09718799..7ab3781d392 100644 --- a/keyboards/wsk/gothic50/info.json +++ b/keyboards/wsk/gothic50/info.json @@ -8,6 +8,11 @@ "pid": "0x04EF", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10 + }, "ws2812": { "pin": "F7" }, diff --git a/keyboards/wsk/gothic70/config.h b/keyboards/wsk/gothic70/config.h index b6ee3e9cc88..f3ddb5c4d4f 100644 --- a/keyboards/wsk/gothic70/config.h +++ b/keyboards/wsk/gothic70/config.h @@ -10,10 +10,6 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 7 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/wsk/gothic70/info.json b/keyboards/wsk/gothic70/info.json index 06ee936ce7d..87e2cc02baa 100644 --- a/keyboards/wsk/gothic70/info.json +++ b/keyboards/wsk/gothic70/info.json @@ -8,6 +8,11 @@ "pid": "0x63CC", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7 + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/wsk/kodachi50/config.h b/keyboards/wsk/kodachi50/config.h index da4d3257a62..d702489ee7a 100644 --- a/keyboards/wsk/kodachi50/config.h +++ b/keyboards/wsk/kodachi50/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/wsk/kodachi50/info.json b/keyboards/wsk/kodachi50/info.json index b5d0f9459b7..c7fe3ce72e4 100644 --- a/keyboards/wsk/kodachi50/info.json +++ b/keyboards/wsk/kodachi50/info.json @@ -8,6 +8,11 @@ "pid": "0x72D4", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/wsk/pain27/config.h b/keyboards/wsk/pain27/config.h index edc623d08fa..d702489ee7a 100644 --- a/keyboards/wsk/pain27/config.h +++ b/keyboards/wsk/pain27/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 8 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/wsk/pain27/info.json b/keyboards/wsk/pain27/info.json index f542c999a17..17ac3a16eef 100644 --- a/keyboards/wsk/pain27/info.json +++ b/keyboards/wsk/pain27/info.json @@ -8,6 +8,11 @@ "pid": "0x9E8C", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8 + }, "ws2812": { "pin": "D1" }, diff --git a/keyboards/wsk/sl40/config.h b/keyboards/wsk/sl40/config.h index d33de62b5fb..a3080656e9e 100644 --- a/keyboards/wsk/sl40/config.h +++ b/keyboards/wsk/sl40/config.h @@ -32,7 +32,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 1 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/wsk/sl40/info.json b/keyboards/wsk/sl40/info.json index 09f5f988142..e92afed50cb 100644 --- a/keyboards/wsk/sl40/info.json +++ b/keyboards/wsk/sl40/info.json @@ -8,6 +8,11 @@ "pid": "0xC456", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "F1" }, diff --git a/keyboards/wsk/tkl30/config.h b/keyboards/wsk/tkl30/config.h index 2dae864ddb2..d702489ee7a 100644 --- a/keyboards/wsk/tkl30/config.h +++ b/keyboards/wsk/tkl30/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 1 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/wsk/tkl30/info.json b/keyboards/wsk/tkl30/info.json index 10465560518..03d152be218 100644 --- a/keyboards/wsk/tkl30/info.json +++ b/keyboards/wsk/tkl30/info.json @@ -8,6 +8,11 @@ "pid": "0x0B7F", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1 + }, "ws2812": { "pin": "B1" }, diff --git a/keyboards/wuque/creek70/config.h b/keyboards/wuque/creek70/config.h index d33ee006aa6..59b7a1b79ad 100644 --- a/keyboards/wuque/creek70/config.h +++ b/keyboards/wuque/creek70/config.h @@ -16,11 +16,6 @@ #pragma once -# define RGBLED_NUM 7 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/wuque/creek70/info.json b/keyboards/wuque/creek70/info.json index 5e54c694ed6..7f55fa28d24 100644 --- a/keyboards/wuque/creek70/info.json +++ b/keyboards/wuque/creek70/info.json @@ -30,99 +30,664 @@ "pin": "D0" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "max_brightness": 200, + "sleep": true + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ - {"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": [2, 14], "x": 16.25, "y": 0}, - {"matrix": [0, 15], "x": 17.25, "y": 0}, - {"matrix": [0, 16], "x": 18.25, "y": 0}, - - {"matrix": [0, 17], "x": 0, "y": 1}, - {"matrix": [1, 0], "x": 1, "y": 1, "w": 1.5}, - {"matrix": [1, 1], "x": 2.5, "y": 1}, - {"matrix": [1, 2], "x": 3.5, "y": 1}, - {"matrix": [1, 3], "x": 4.5, "y": 1}, - {"matrix": [1, 4], "x": 5.5, "y": 1}, - {"matrix": [1, 5], "x": 6.5, "y": 1}, - {"matrix": [1, 6], "x": 7.5, "y": 1}, - {"matrix": [1, 7], "x": 8.5, "y": 1}, - {"matrix": [1, 8], "x": 9.5, "y": 1}, - {"matrix": [1, 9], "x": 10.5, "y": 1}, - {"matrix": [1, 10], "x": 11.5, "y": 1}, - {"matrix": [1, 11], "x": 12.5, "y": 1}, - {"matrix": [1, 12], "x": 13.5, "y": 1}, - {"matrix": [1, 13], "x": 14.5, "y": 1, "w": 1.5}, - - {"matrix": [1, 14], "x": 16.25, "y": 1}, - {"matrix": [1, 15], "x": 17.25, "y": 1}, - {"matrix": [1, 16], "x": 18.25, "y": 1}, - - {"matrix": [1, 17], "x": 0, "y": 2}, - {"matrix": [2, 0], "x": 1, "y": 2, "w": 1.75}, - {"matrix": [2, 1], "x": 2.75, "y": 2}, - {"matrix": [2, 2], "x": 3.75, "y": 2}, - {"matrix": [2, 3], "x": 4.75, "y": 2}, - {"matrix": [2, 4], "x": 5.75, "y": 2}, - {"matrix": [2, 5], "x": 6.75, "y": 2}, - {"matrix": [2, 6], "x": 7.75, "y": 2}, - {"matrix": [2, 7], "x": 8.75, "y": 2}, - {"matrix": [2, 8], "x": 9.75, "y": 2}, - {"matrix": [2, 9], "x": 10.75, "y": 2}, - {"matrix": [2, 10], "x": 11.75, "y": 2}, - {"matrix": [2, 11], "x": 12.75, "y": 2}, - {"matrix": [2, 12], "x": 13.75, "y": 2, "w": 2.25}, - {"matrix": [2, 13], "x": 15, "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.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": [2, 14], "x": 15.25, "y": 0}, + + {"matrix": [0, 15], "x": 16.5, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + + {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"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, "w": 1.5}, + + {"matrix": [1, 15], "x": 16.5, "y": 1}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + + {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3, "y": 2}, + {"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, "w": 2.25}, {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3, "w": 1.25}, - {"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}, - {"matrix": [3, 13], "x": 13.25, "y": 3, "w": 1.75}, - {"matrix": [3, 14], "x": 15, "y": 3}, - - {"matrix": [3, 16], "x": 17.25, "y": 3}, + + {"matrix": [3, 1], "x": 1.25, "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, "w": 1.75}, + {"matrix": [3, 14], "x": 15.25, "y": 3}, + + {"matrix": [3, 16], "x": 17.5, "y": 3}, {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4, "w": 1.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25}, - {"matrix": [4, 3], "x": 3.5, "y": 4, "w": 1.25}, - {"matrix": [4, 6], "x": 4.75, "y": 4, "w": 2.5}, + + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5, "y": 4, "w": 2.25}, {"matrix": [4, 7], "x": 7.25, "y": 4, "w": 1.25}, - {"matrix": [4, 8], "x": 8.5, "y": 4, "w": 2.5}, - {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.25}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.25}, - {"matrix": [4, 14], "x": 14.75, "y": 4, "w": 1.25}, - - {"matrix": [4, 15], "x": 16.25, "y": 4}, - {"matrix": [4, 16], "x": 17.25, "y": 4}, - {"matrix": [4, 17], "x": 18.25, "y": 4} + {"matrix": [4, 8], "x": 8.5, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 15, "y": 4, "w": 1.25}, + + {"matrix": [4, 15], "x": 16.5, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4}, + {"matrix": [4, 17], "x": 18.5, "y": 4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"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.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, "w": 2}, + + {"matrix": [0, 15], "x": 16.5, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + + {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"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, "w": 1.5}, + + {"matrix": [1, 15], "x": 16.5, "y": 1}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + + {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3, "y": 2}, + {"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, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.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, "w": 2.75}, + + {"matrix": [3, 16], "x": 17.5, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 5, "y": 4, "w": 6.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 15, "y": 4, "w": 1.25}, + + {"matrix": [4, 15], "x": 16.5, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4}, + {"matrix": [4, 17], "x": 18.5, "y": 4} + ] + }, + "LAYOUT_ansi_split_bs_rshift": { + "layout": [ + {"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.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": [2, 14], "x": 15.25, "y": 0}, + + {"matrix": [0, 15], "x": 16.5, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + + {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"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, "w": 1.5}, + + {"matrix": [1, 15], "x": 16.5, "y": 1}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + + {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3, "y": 2}, + {"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, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.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, "w": 1.75}, + {"matrix": [3, 14], "x": 15.25, "y": 3}, + + {"matrix": [3, 16], "x": 17.5, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 5, "y": 4, "w": 6.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 15, "y": 4, "w": 1.25}, + + {"matrix": [4, 15], "x": 16.5, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4}, + {"matrix": [4, 17], "x": 18.5, "y": 4} + ] + }, + "LAYOUT_ansi_split_space": { + "layout": [ + {"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.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, "w": 2}, + + {"matrix": [0, 15], "x": 16.5, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + + {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"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, "w": 1.5}, + + {"matrix": [1, 15], "x": 16.5, "y": 1}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + + {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3, "y": 2}, + {"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, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.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, "w": 2.75}, + + {"matrix": [3, 16], "x": 17.5, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5, "y": 4, "w": 2.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4, "w": 1.25}, + {"matrix": [4, 8], "x": 8.5, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 15, "y": 4, "w": 1.25}, + + {"matrix": [4, 15], "x": 16.5, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4}, + {"matrix": [4, 17], "x": 18.5, "y": 4} + ] + }, + "LAYOUT_ansi_split_space_split_bs_rshift": { + "layout": [ + {"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.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": [2, 14], "x": 15.25, "y": 0}, + + {"matrix": [0, 15], "x": 16.5, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + + {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"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, "w": 1.5}, + + {"matrix": [1, 15], "x": 16.5, "y": 1}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + + {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3, "y": 2}, + {"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, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.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, "w": 1.75}, + {"matrix": [3, 14], "x": 15.25, "y": 3}, + + {"matrix": [3, 16], "x": 17.5, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5, "y": 4, "w": 2.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4, "w": 1.25}, + {"matrix": [4, 8], "x": 8.5, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 15, "y": 4, "w": 1.25}, + + {"matrix": [4, 15], "x": 16.5, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4}, + {"matrix": [4, 17], "x": 18.5, "y": 4} + ] + }, + "LAYOUT_ansi_tsangan": { + "layout": [ + {"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.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, "w": 2}, + + {"matrix": [0, 15], "x": 16.5, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + + {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"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, "w": 1.5}, + + {"matrix": [1, 15], "x": 16.5, "y": 1}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + + {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3, "y": 2}, + {"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, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.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, "w": 2.75}, + + {"matrix": [3, 16], "x": 17.5, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.75, "y": 4}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 5.25, "y": 4, "w": 7}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4}, + {"matrix": [4, 14], "x": 14.75, "y": 4, "w": 1.5}, + + {"matrix": [4, 15], "x": 16.5, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4}, + {"matrix": [4, 17], "x": 18.5, "y": 4} + ] + }, + "LAYOUT_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"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.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": [2, 14], "x": 15.25, "y": 0}, + + {"matrix": [0, 15], "x": 16.5, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + + {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"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, "w": 1.5}, + + {"matrix": [1, 15], "x": 16.5, "y": 1}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + + {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3, "y": 2}, + {"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, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.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, "w": 1.75}, + {"matrix": [3, 14], "x": 15.25, "y": 3}, + + {"matrix": [3, 16], "x": 17.5, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.75, "y": 4}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 5.25, "y": 4, "w": 7}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4}, + {"matrix": [4, 14], "x": 14.75, "y": 4, "w": 1.5}, + + {"matrix": [4, 15], "x": 16.5, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4}, + {"matrix": [4, 17], "x": 18.5, "y": 4} ] } } diff --git a/keyboards/wuque/creek70/keymaps/default/keymap.c b/keyboards/wuque/creek70/keymaps/default/keymap.c index 4a067852545..167aebeaf93 100644 --- a/keyboards/wuque/creek70/keymaps/default/keymap.c +++ b/keyboards/wuque/creek70/keymaps/default/keymap.c @@ -17,18 +17,18 @@ #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_BSPC, 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_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_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_UP, - KC_PAUSE, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + [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_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_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_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_UP, + KC_PAUS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/wuque/creek70/keymaps/via/keymap.c b/keyboards/wuque/creek70/keymaps/via/keymap.c index 9c0a99a9864..10c12d41ba2 100644 --- a/keyboards/wuque/creek70/keymaps/via/keymap.c +++ b/keyboards/wuque/creek70/keymaps/via/keymap.c @@ -17,32 +17,32 @@ #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_BSPC, 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_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_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_UP, - KC_PAUSE, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + [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_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_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_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_UP, + KC_PAUS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/wuque/creek70/matrix_diagram.md b/keyboards/wuque/creek70/matrix_diagram.md new file mode 100644 index 00000000000..45585b71bbb --- /dev/null +++ b/keyboards/wuque/creek70/matrix_diagram.md @@ -0,0 +1,27 @@ +Keyboard Name: creek70 +Manufacturer: wuque studio +``` + ┌───────┐ + 2u Backspace │0E │ + └───────┘ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ + │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │2E ││0F │0G │0H │ +┌───┐├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ +│10 ││11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E ││1F │1G │1H │ +├───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ +│20 ││21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ +├───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ +│30 ││31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ │3G │ +├───┤├────┼───┴┬──┴─┬─┴───┴───┼───┴┬──┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│40 ││41 │42 │43 │46 │47 │48 │4B │4C │4D │4E ││4F │4G │4H │ +└───┘└────┴────┴────┴─────────┴────┴─────────┴────┴────┴────┴────┘└───┴───┴───┘ + ┌────────┐ ┌──────────┐ + │31 │ 2.25u LShift 2.75u RShift │3D │ + └────────┘ └──────────┘ + ┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ + │41 │42 │43 │47 │4B │4C │4D │4E │ Standard + └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ + │41 │42 │43 │47 │4C │4D │4E │ Tsangan/WKL + └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` diff --git a/keyboards/wuque/ikki68/config.h b/keyboards/wuque/ikki68/config.h index 80ecfb420d2..2adc1bc9cf8 100644 --- a/keyboards/wuque/ikki68/config.h +++ b/keyboards/wuque/ikki68/config.h @@ -23,11 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*======= RGB function=======*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/wuque/ikki68/info.json b/keyboards/wuque/ikki68/info.json index e450f95dbfb..9558b72f1ca 100644 --- a/keyboards/wuque/ikki68/info.json +++ b/keyboards/wuque/ikki68/info.json @@ -12,7 +12,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "max_brightness": 200, + "sleep": true }, "matrix_pins": { "cols": ["D1", "D0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "F0", "F1", "B6", "F4", "F5", "F6", "F7"], diff --git a/keyboards/wuque/ikki68_aurora/config.h b/keyboards/wuque/ikki68_aurora/config.h index c5726c333e0..ae13273f233 100644 --- a/keyboards/wuque/ikki68_aurora/config.h +++ b/keyboards/wuque/ikki68_aurora/config.h @@ -23,11 +23,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*======= RGB function=======*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/wuque/ikki68_aurora/info.json b/keyboards/wuque/ikki68_aurora/info.json index 2e93f0efc78..974170287d0 100644 --- a/keyboards/wuque/ikki68_aurora/info.json +++ b/keyboards/wuque/ikki68_aurora/info.json @@ -21,7 +21,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/wuque/mammoth20x/config.h b/keyboards/wuque/mammoth20x/config.h index c35fac65d61..db5a8d534ef 100644 --- a/keyboards/wuque/mammoth20x/config.h +++ b/keyboards/wuque/mammoth20x/config.h @@ -22,7 +22,3 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -// Note: array is { col, row ) -#define ENCODERS_CW_KEY { { 3, 2 } } -#define ENCODERS_CCW_KEY { { 3, 4 } } diff --git a/keyboards/wuque/mammoth20x/info.json b/keyboards/wuque/mammoth20x/info.json index 3c0c0e29b8e..f7917ae26d8 100644 --- a/keyboards/wuque/mammoth20x/info.json +++ b/keyboards/wuque/mammoth20x/info.json @@ -29,9 +29,7 @@ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [2, 3], "x": 3, "y": 0, "w": 0.5}, {"matrix": [0, 3], "x": 3.5, "y": 0}, - {"matrix": [4, 3], "x": 4.5, "y": 0, "w": 0.5}, {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, diff --git a/keyboards/wuque/mammoth20x/keymaps/default/keymap.c b/keyboards/wuque/mammoth20x/keymaps/default/keymap.c index e19b3bc172f..5f444bbff3b 100644 --- a/keyboards/wuque/mammoth20x/keymaps/default/keymap.c +++ b/keyboards/wuque/mammoth20x/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - KC_ESC, KC_PAUS, KC_DEL, KC_VOLU, KC_MUTE, KC_VOLD, + KC_ESC, KC_PAUS, KC_DEL, KC_MUTE, KC_LNUM, KC_PSLS, KC_PAST, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_P4, KC_P5, KC_P6, KC_PPLS, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_PDOT, KC_PENT ), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wuque/mammoth20x/keymaps/via/keymap.c b/keyboards/wuque/mammoth20x/keymaps/via/keymap.c index e5fe34fd7ba..e48b8b50d1e 100644 --- a/keyboards/wuque/mammoth20x/keymaps/via/keymap.c +++ b/keyboards/wuque/mammoth20x/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - KC_ESC, KC_PAUS, KC_DEL, KC_VOLD, KC_MUTE, KC_VOLU, + KC_ESC, KC_PAUS, KC_DEL, KC_MUTE, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_P4, KC_P5, KC_P6, KC_PPLS, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_PDOT, KC_PENT ), [1] = LAYOUT( - _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______ ), [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______ ), [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -50,3 +50,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______ ), }; + +#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 diff --git a/keyboards/wuque/mammoth20x/keymaps/via/rules.mk b/keyboards/wuque/mammoth20x/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/wuque/mammoth20x/keymaps/via/rules.mk +++ b/keyboards/wuque/mammoth20x/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/wuque/mammoth20x/mammoth20x.c b/keyboards/wuque/mammoth20x/mammoth20x.c deleted file mode 100644 index eeaea79c710..00000000000 --- a/keyboards/wuque/mammoth20x/mammoth20x.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright 2021 wuquestudio - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public 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" - -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) -{ - for (int index = 0; index < NUM_ENCODERS; ++index) - { - if (encoder_state[index]) - { - keyevent_t encoder_event = (keyevent_t){ - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} -void encoder_action_register(uint8_t index, bool clockwise) -{ - keyevent_t encoder_event = (keyevent_t){ - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) -{ - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) -{ - encoder_action_register(index, clockwise); - return true; -}; diff --git a/keyboards/wuque/mammoth75x/config.h b/keyboards/wuque/mammoth75x/config.h index 6b0d17be5cd..db5a8d534ef 100644 --- a/keyboards/wuque/mammoth75x/config.h +++ b/keyboards/wuque/mammoth75x/config.h @@ -22,7 +22,3 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -// Note: array is { col, row ) -#define ENCODERS_CW_KEY { { 3, 5 } } -#define ENCODERS_CCW_KEY { { 5, 5 } } diff --git a/keyboards/wuque/mammoth75x/info.json b/keyboards/wuque/mammoth75x/info.json index ef48587375b..9b9bc1abb66 100644 --- a/keyboards/wuque/mammoth75x/info.json +++ b/keyboards/wuque/mammoth75x/info.json @@ -41,10 +41,7 @@ {"matrix": [0, 11], "x": 11.75, "y": 0}, {"matrix": [0, 12], "x": 12.75, "y": 0}, {"matrix": [0, 13], "x": 14, "y": 0}, - - {"matrix": [5, 3], "x": 15.65, "y": 0.125, "w": 0.6, "h": 0.5}, {"matrix": [0, 14], "x": 15.75, "y": 0.625}, - {"matrix": [5, 5], "x": 16.25, "y": 0.125, "w": 0.6, "h": 0.5}, {"matrix": [1, 0], "x": 0, "y": 1.25}, {"matrix": [1, 1], "x": 1, "y": 1.25}, diff --git a/keyboards/wuque/mammoth75x/keymaps/default/keymap.c b/keyboards/wuque/mammoth75x/keymaps/default/keymap.c index b0273298dc9..0ed2bdfebe1 100644 --- a/keyboards/wuque/mammoth75x/keymaps/default/keymap.c +++ b/keyboards/wuque/mammoth75x/keymaps/default/keymap.c @@ -18,7 +18,7 @@ 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_DEL, KC_VOLD, KC_MUTE,KC_VOLU, + 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_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_INS, 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, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wuque/mammoth75x/keymaps/via/keymap.c b/keyboards/wuque/mammoth75x/keymaps/via/keymap.c index 13d5d4fa7a9..57f7a13cbdc 100644 --- a/keyboards/wuque/mammoth75x/keymaps/via/keymap.c +++ b/keyboards/wuque/mammoth75x/keymaps/via/keymap.c @@ -18,7 +18,7 @@ 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_DEL, KC_VOLD, KC_MUTE,KC_VOLU, + 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_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_INS, 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, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -50,3 +50,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; + +#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(KC_MPRV, KC_MNXT) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/wuque/mammoth75x/keymaps/via/rules.mk b/keyboards/wuque/mammoth75x/keymaps/via/rules.mk index 36b7ba9cbc9..1189f4ad192 100644 --- a/keyboards/wuque/mammoth75x/keymaps/via/rules.mk +++ b/keyboards/wuque/mammoth75x/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/wuque/mammoth75x/mammoth75x.c b/keyboards/wuque/mammoth75x/mammoth75x.c deleted file mode 100644 index 3b2d995b7e1..00000000000 --- a/keyboards/wuque/mammoth75x/mammoth75x.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright 2021 wuquestudio - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public 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" - -#ifdef VIA_ENABLE -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) -{ - for (int index = 0; index < NUM_ENCODERS; ++index) - { - if (encoder_state[index]) - { - keyevent_t encoder_event = (keyevent_t){ - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} -void encoder_action_register(uint8_t index, bool clockwise) -{ - keyevent_t encoder_event = (keyevent_t){ - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) -{ - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) -{ - encoder_action_register(index, clockwise); - return true; -}; -#endif diff --git a/keyboards/wuque/promise87/ansi/config.h b/keyboards/wuque/promise87/ansi/config.h index b0e79e97c7b..73de06450ab 100644 --- a/keyboards/wuque/promise87/ansi/config.h +++ b/keyboards/wuque/promise87/ansi/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 1 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*======= RGB function=======*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/wuque/promise87/ansi/info.json b/keyboards/wuque/promise87/ansi/info.json index d49b4aaa793..6e77220f133 100644 --- a/keyboards/wuque/promise87/ansi/info.json +++ b/keyboards/wuque/promise87/ansi/info.json @@ -21,7 +21,11 @@ "pin": "D2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/wuque/promise87/wkl/config.h b/keyboards/wuque/promise87/wkl/config.h index b0e79e97c7b..73de06450ab 100644 --- a/keyboards/wuque/promise87/wkl/config.h +++ b/keyboards/wuque/promise87/wkl/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 1 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ /*======= RGB function=======*/ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/wuque/promise87/wkl/info.json b/keyboards/wuque/promise87/wkl/info.json index 7e0d7cfdcb5..500c1bd9dbc 100644 --- a/keyboards/wuque/promise87/wkl/info.json +++ b/keyboards/wuque/promise87/wkl/info.json @@ -21,7 +21,11 @@ "pin": "D2" }, "rgblight": { - "max_brightness": 200 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 1, + "max_brightness": 200, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/wuque/serneity65/info.json b/keyboards/wuque/serneity65/info.json index 9ebc9af8438..f27073b2858 100644 --- a/keyboards/wuque/serneity65/info.json +++ b/keyboards/wuque/serneity65/info.json @@ -41,9 +41,7 @@ {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0}, - {"matrix": [4, 3], "x": 15, "y": 0, "w": 0.5}, {"matrix": [0, 14], "x": 15.5, "y": 0}, - {"matrix": [4, 5], "x": 16.5, "y": 0, "w": 0.5}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1}, diff --git a/keyboards/wuque/serneity65/keymaps/default/keymap.c b/keyboards/wuque/serneity65/keymaps/default/keymap.c index 2acca2f0c0b..23ddfced888 100644 --- a/keyboards/wuque/serneity65/keymaps/default/keymap.c +++ b/keyboards/wuque/serneity65/keymaps/default/keymap.c @@ -18,17 +18,17 @@ 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_VOLD, KC_MUTE, KC_VOLU, + 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_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_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_BSPC, 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_RSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, 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_MPRV, KC_MPLY, KC_MNXT, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; + ) + }; diff --git a/keyboards/wuque/serneity65/keymaps/via/keymap.c b/keyboards/wuque/serneity65/keymaps/via/keymap.c index 8e820022fea..05abb620da6 100644 --- a/keyboards/wuque/serneity65/keymaps/via/keymap.c +++ b/keyboards/wuque/serneity65/keymaps/via/keymap.c @@ -18,31 +18,40 @@ 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_VOLD, KC_MUTE, KC_VOLU, + 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_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_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_BSPC, 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_RSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, 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_MPRV, KC_MPLY, KC_MNXT, + 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; + +#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(KC_MPRV, KC_MNXT) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/wuque/serneity65/keymaps/via/rules.mk b/keyboards/wuque/serneity65/keymaps/via/rules.mk index 43061db1dd4..1189f4ad192 100644 --- a/keyboards/wuque/serneity65/keymaps/via/rules.mk +++ b/keyboards/wuque/serneity65/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/wuque/serneity65/serneity65.c b/keyboards/wuque/serneity65/serneity65.c deleted file mode 100644 index 58e06634675..00000000000 --- a/keyboards/wuque/serneity65/serneity65.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright 2021 wuque - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public 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" - -#ifdef VIA_ENABLE -static uint8_t encoder_state[NUM_ENCODERS] = {0}; -static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) -{ - for (int index = 0; index < NUM_ENCODERS; ++index) - { - if (encoder_state[index]) - { - keyevent_t encoder_event = (keyevent_t){ - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} -void encoder_action_register(uint8_t index, bool clockwise) -{ - keyevent_t encoder_event = (keyevent_t){ - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = timer_read(), - .type = KEY_EVENT - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -void matrix_scan_kb(void) -{ - encoder_action_unregister(); - matrix_scan_user(); -} - -bool encoder_update_kb(uint8_t index, bool clockwise) -{ - encoder_action_register(index, clockwise); - return true; -}; -#endif diff --git a/keyboards/xbows/woody/woody.c b/keyboards/xbows/woody/woody.c index 9757bde9c94..fa0ba7f768a 100644 --- a/keyboards/xbows/woody/woody.c +++ b/keyboards/xbows/woody/woody.c @@ -101,7 +101,7 @@ bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; } - if (IS_LED_ON(host_keyboard_leds(), USB_LED_CAPS_LOCK)) { + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); } return true; diff --git a/keyboards/xelus/akis/config.h b/keyboards/xelus/akis/config.h index ae0e6921916..1c83936021c 100644 --- a/keyboards/xelus/akis/config.h +++ b/keyboards/xelus/akis/config.h @@ -17,7 +17,6 @@ #pragma once /* RGB Lighting */ -#define RGBLED_NUM 23 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/xelus/akis/info.json b/keyboards/xelus/akis/info.json index 320ad9824bb..c55e16f75ea 100644 --- a/keyboards/xelus/akis/info.json +++ b/keyboards/xelus/akis/info.json @@ -8,6 +8,9 @@ "pid": "0xA04B", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 23 + }, "ws2812": { "pin": "B0" }, diff --git a/keyboards/xelus/kangaroo/rev1/rules.mk b/keyboards/xelus/kangaroo/rev1/rules.mk index 805e07ebc2e..a6006b71501 100644 --- a/keyboards/xelus/kangaroo/rev1/rules.mk +++ b/keyboards/xelus/kangaroo/rev1/rules.mk @@ -11,5 +11,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/kangaroo/rev2/rules.mk b/keyboards/xelus/kangaroo/rev2/rules.mk index c7c6f5f1633..613adf3a226 100644 --- a/keyboards/xelus/kangaroo/rev2/rules.mk +++ b/keyboards/xelus/kangaroo/rev2/rules.mk @@ -14,5 +14,3 @@ EEPROM_DRIVER = i2c EEPROM_DRIVER = wear_leveling WEAR_LEVELING_DRIVER = embedded_flash -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/ninjin/config.h b/keyboards/xelus/ninjin/config.h index a922b89dbf2..5611293717c 100644 --- a/keyboards/xelus/ninjin/config.h +++ b/keyboards/xelus/ninjin/config.h @@ -17,7 +17,6 @@ #pragma once /* RGB Underglow */ -#define RGBLED_NUM 26 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/xelus/ninjin/info.json b/keyboards/xelus/ninjin/info.json index 242362ab7e2..f682e7d6441 100644 --- a/keyboards/xelus/ninjin/info.json +++ b/keyboards/xelus/ninjin/info.json @@ -13,6 +13,7 @@ "driver": "pwm" }, "rgblight": { + "led_count": 26, "max_brightness": 200 }, "matrix_pins": { diff --git a/keyboards/xelus/ninjin/rules.mk b/keyboards/xelus/ninjin/rules.mk index ead22f6c155..e59fc84570d 100644 --- a/keyboards/xelus/ninjin/rules.mk +++ b/keyboards/xelus/ninjin/rules.mk @@ -11,5 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/pachi/rev1/rules.mk b/keyboards/xelus/pachi/rev1/rules.mk index c02eb841df6..d3ca7b060e1 100644 --- a/keyboards/xelus/pachi/rev1/rules.mk +++ b/keyboards/xelus/pachi/rev1/rules.mk @@ -1,5 +1,3 @@ -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable diff --git a/keyboards/xelus/rs108/rules.mk b/keyboards/xelus/rs108/rules.mk index 8441c649b26..612c1d666aa 100644 --- a/keyboards/xelus/rs108/rules.mk +++ b/keyboards/xelus/rs108/rules.mk @@ -16,5 +16,3 @@ EEPROM_DRIVER = i2c # Save hid interface KEYBOARD_SHARED_EP = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/rs60/rev2_0/rules.mk b/keyboards/xelus/rs60/rev2_0/rules.mk index e81b538301a..965f4edaefb 100644 --- a/keyboards/xelus/rs60/rev2_0/rules.mk +++ b/keyboards/xelus/rs60/rev2_0/rules.mk @@ -15,5 +15,3 @@ EEPROM_DRIVER = i2c # Save hid interface KEYBOARD_SHARED_EP = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/rs60/rev2_1/rules.mk b/keyboards/xelus/rs60/rev2_1/rules.mk index 6329d2c31d4..9eeaa8553bb 100644 --- a/keyboards/xelus/rs60/rev2_1/rules.mk +++ b/keyboards/xelus/rs60/rev2_1/rules.mk @@ -17,5 +17,3 @@ WEAR_LEVELING_DRIVER = embedded_flash # Save hid interface KEYBOARD_SHARED_EP = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/trinityxttkl/rules.mk b/keyboards/xelus/trinityxttkl/rules.mk index 120a444ec8a..ef90964f9b3 100644 --- a/keyboards/xelus/trinityxttkl/rules.mk +++ b/keyboards/xelus/trinityxttkl/rules.mk @@ -14,5 +14,3 @@ BACKLIGHT_ENABLE = no RGBLIGHT_ENABLE = no -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/valor/rev1/config.h b/keyboards/xelus/valor/rev1/config.h index c431ddad873..2a9944eaaba 100644 --- a/keyboards/xelus/valor/rev1/config.h +++ b/keyboards/xelus/valor/rev1/config.h @@ -17,7 +17,6 @@ #pragma once /* RGB Underglow */ -#define RGBLED_NUM 28 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/xelus/valor/rev1/info.json b/keyboards/xelus/valor/rev1/info.json index 2545fb24b01..b157de001a2 100644 --- a/keyboards/xelus/valor/rev1/info.json +++ b/keyboards/xelus/valor/rev1/info.json @@ -12,6 +12,7 @@ "pin": "B0" }, "rgblight": { + "led_count": 28, "max_brightness": 200 }, "matrix_pins": { diff --git a/keyboards/xelus/valor/rev2/config.h b/keyboards/xelus/valor/rev2/config.h index cc63e70bb40..e5acad6f9c8 100644 --- a/keyboards/xelus/valor/rev2/config.h +++ b/keyboards/xelus/valor/rev2/config.h @@ -40,7 +40,6 @@ #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 8191 /* RGB Matrix */ -#define RGBLED_NUM 28 #define RGB_MATRIX_LED_COUNT 28 #define NOP_FUDGE 0.4 diff --git a/keyboards/xelus/valor_frl_tkl/rev1/rules.mk b/keyboards/xelus/valor_frl_tkl/rev1/rules.mk index 35173d663a9..efbd7d0e9b5 100644 --- a/keyboards/xelus/valor_frl_tkl/rev1/rules.mk +++ b/keyboards/xelus/valor_frl_tkl/rev1/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk b/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk index 4ecf72dea77..8ee0c3e8fe8 100644 --- a/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk +++ b/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk @@ -11,7 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - KEYBOARD_SHARED_EP = yes diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk b/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk index 4ecf72dea77..8ee0c3e8fe8 100644 --- a/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk +++ b/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk @@ -11,7 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - KEYBOARD_SHARED_EP = yes diff --git a/keyboards/xelus/xs108/rules.mk b/keyboards/xelus/xs108/rules.mk index a204d485fa6..5ed7b869aee 100644 --- a/keyboards/xelus/xs108/rules.mk +++ b/keyboards/xelus/xs108/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output EEPROM_DRIVER = i2c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/xelus/xs60/hotswap/config.h b/keyboards/xelus/xs60/hotswap/config.h index 242560c0678..d1138c735de 100644 --- a/keyboards/xelus/xs60/hotswap/config.h +++ b/keyboards/xelus/xs60/hotswap/config.h @@ -38,7 +38,6 @@ #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 8191 // RGBLIGHT -#define RGBLED_NUM 8 // actually only has 1 #define RGBLIGHT_LAYERS #define WS2812_EXTERNAL_PULLUP #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/xelus/xs60/hotswap/info.json b/keyboards/xelus/xs60/hotswap/info.json index 4d6888f7076..81cf86498b2 100644 --- a/keyboards/xelus/xs60/hotswap/info.json +++ b/keyboards/xelus/xs60/hotswap/info.json @@ -8,6 +8,9 @@ "pid": "0x5861", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "A10" }, diff --git a/keyboards/xelus/xs60/soldered/config.h b/keyboards/xelus/xs60/soldered/config.h index cbbdc49b122..4b7be4d4414 100644 --- a/keyboards/xelus/xs60/soldered/config.h +++ b/keyboards/xelus/xs60/soldered/config.h @@ -37,7 +37,6 @@ // More EEPROM for layers // RGBLIGHT -#define RGBLED_NUM 8 // actually only has 1 #define RGBLIGHT_LAYERS #define WS2812_EXTERNAL_PULLUP #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/xelus/xs60/soldered/info.json b/keyboards/xelus/xs60/soldered/info.json index 6e540617c24..20de0ef8377 100644 --- a/keyboards/xelus/xs60/soldered/info.json +++ b/keyboards/xelus/xs60/soldered/info.json @@ -8,6 +8,9 @@ "pid": "0x5860", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "A10" }, diff --git a/keyboards/xiudi/xd002/config.h b/keyboards/xiudi/xd002/config.h index d442ee57623..0d0cd3712a7 100644 --- a/keyboards/xiudi/xd002/config.h +++ b/keyboards/xiudi/xd002/config.h @@ -15,8 +15,6 @@ */ #pragma once -#define RGBLED_NUM 2 - // Save as much space as we can... #define LAYER_STATE_8BIT #define NO_ACTION_LAYER diff --git a/keyboards/xiudi/xd002/info.json b/keyboards/xiudi/xd002/info.json index cce509be798..1e0b22f96b1 100644 --- a/keyboards/xiudi/xd002/info.json +++ b/keyboards/xiudi/xd002/info.json @@ -8,6 +8,9 @@ "pid": "0x0202", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 2 + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/xiudi/xd004/info.json b/keyboards/xiudi/xd004/info.json index 597c5dc818f..8c7946a02d8 100644 --- a/keyboards/xiudi/xd004/info.json +++ b/keyboards/xiudi/xd004/info.json @@ -11,6 +11,10 @@ "pin": "D5", "levels": 6 }, + "rgblight": { + "hue_steps": 10, + "led_count": 2 + }, "ws2812": { "pin": "C6" }, diff --git a/keyboards/xiudi/xd004/v1/config.h b/keyboards/xiudi/xd004/v1/config.h index 823ba863588..256e234237c 100644 --- a/keyboards/xiudi/xd004/v1/config.h +++ b/keyboards/xiudi/xd004/v1/config.h @@ -30,10 +30,6 @@ further optimizations can be done on that side. */ #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLED_NUM 2 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* disable action features */ // #define NO_ACTION_ONESHOT // 462 bytes <- this needs to be un-commented out if Link Time Optimization is disabled, otherwise file is too large diff --git a/keyboards/xiudi/xd60/rev2/config.h b/keyboards/xiudi/xd60/rev2/config.h index 21efad0d810..3980b2fb710 100644 --- a/keyboards/xiudi/xd60/rev2/config.h +++ b/keyboards/xiudi/xd60/rev2/config.h @@ -29,10 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 6 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/xiudi/xd60/rev2/info.json b/keyboards/xiudi/xd60/rev2/info.json index c45ef7af643..2fae5080c3f 100644 --- a/keyboards/xiudi/xd60/rev2/info.json +++ b/keyboards/xiudi/xd60/rev2/info.json @@ -13,6 +13,10 @@ "levels": 6, "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "led_count": 6 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/xiudi/xd60/rev3/config.h b/keyboards/xiudi/xd60/rev3/config.h index f8845d411fa..80100d2cf1a 100644 --- a/keyboards/xiudi/xd60/rev3/config.h +++ b/keyboards/xiudi/xd60/rev3/config.h @@ -29,10 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/xiudi/xd60/rev3/info.json b/keyboards/xiudi/xd60/rev3/info.json index 68c97c0a9e8..c77b145607c 100644 --- a/keyboards/xiudi/xd60/rev3/info.json +++ b/keyboards/xiudi/xd60/rev3/info.json @@ -13,6 +13,10 @@ "levels": 6, "on_state": 0 }, + "rgblight": { + "hue_steps": 10, + "led_count": 12 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/xiudi/xd68/config.h b/keyboards/xiudi/xd68/config.h index e62b98a12d1..a9c0e097f07 100644 --- a/keyboards/xiudi/xd68/config.h +++ b/keyboards/xiudi/xd68/config.h @@ -49,7 +49,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 // number of LEDs -#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -#define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation -#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/xiudi/xd68/info.json b/keyboards/xiudi/xd68/info.json index 0522a66e572..27f40e6ee84 100644 --- a/keyboards/xiudi/xd68/info.json +++ b/keyboards/xiudi/xd68/info.json @@ -19,6 +19,12 @@ "breathing": true, "on_state": 0 }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 12 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/xiudi/xd75/config.h b/keyboards/xiudi/xd75/config.h index 8acfb92cf5b..9a6b76c928e 100644 --- a/keyboards/xiudi/xd75/config.h +++ b/keyboards/xiudi/xd75/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 6 -# define RGBLIGHT_HUE_STEP 12 -# define RGBLIGHT_SAT_STEP 25 -# define RGBLIGHT_VAL_STEP 12 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/xiudi/xd75/info.json b/keyboards/xiudi/xd75/info.json index bc2e724214d..be0de255ec3 100644 --- a/keyboards/xiudi/xd75/info.json +++ b/keyboards/xiudi/xd75/info.json @@ -18,6 +18,12 @@ "levels": 6, "on_state": 0 }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 25, + "brightness_steps": 12, + "led_count": 6 + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/xiudi/xd75/keymaps/billypython/keymap.c b/keyboards/xiudi/xd75/keymaps/billypython/keymap.c index 30b9f79606c..d8301194f8c 100644 --- a/keyboards/xiudi/xd75/keymaps/billypython/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/billypython/keymap.c @@ -41,7 +41,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case NUMPAD: if (record->event.pressed) { layer_invert(L_NUMPAD); - bool num_lock = host_keyboard_leds() & 1< +/* Copyright 2023 Sergi Meseguer This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,5 +16,12 @@ along with this program. If not, see . #pragma once +// these should work better for homerow modifiers +#define TAPPING_TERM 350 +#define PERMISSIVE_HOLD +#define QUICK_TAP_TERM 0 + +// needed to get same layers as split keyboards +// see users/zigotica/zigotica.h +#define ORTHOLINEAR_KEYBOARD -#define RGBLED_NUM 12 diff --git a/keyboards/xiudi/xd75/keymaps/zigotica/keymap.c b/keyboards/xiudi/xd75/keymaps/zigotica/keymap.c new file mode 100644 index 00000000000..4133b57e720 --- /dev/null +++ b/keyboards/xiudi/xd75/keymaps/zigotica/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2023 Sergi Meseguer + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "zigotica.h" + +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [BASE] = LAYOUT_wrapper( + KC_ESC, ____NUM15, _BLANK_3, ____NUM60, KC_DEL, + KC_TAB, _STENAI_L1, _BLANK_3, _STENAI_R1, _______, + KC_EQL, _STENAI_L2, _BLANK_3, _STENAI_R2, KC_ENT, + KC_LSFT, _STENAI_L3, ____TARRS, _STENAI_R3, KC_RSFT, + ____LORTH, _STENAI_LT, ____BARRS, _STENAI_RT, ____RORTH + ), + + [_NUM] = LAYOUT_wrapper( + QK_MAKE, _BLANK_ROW, _BLANK_3, _BLANK_ROW, _______, + _______, ____NUM_L1, _BLANK_3, ____NUM_R1, _______, + _______, ____NUM_L2, _BLANK_3, ____NUM_R2, _______, + _______, ____NUM_L3, _BLANK_3, ____NUM_R3, _______, + _BLANK_4, ____NUM_LT, _BLANK_3, ____NUM_RT, _BLANK_4 + ), + + [_NAV] = LAYOUT_wrapper( + QK_MAKE, _BLANK_ROW, _BLANK_3, _BLANK_ROW, _______, + _______, ____NAV_L1, _BLANK_3, ____NAV_R1, _______, + _______, ____NAV_L2, _BLANK_3, ____NAV_R2, _______, + _______, ____NAV_L3, _BLANK_3, ____NAV_R3, _______, + _BLANK_4, ____NAV_LT, _BLANK_3, ____NAV_RT, _BLANK_4 + ), + + [_SYM] = LAYOUT_wrapper( + QK_MAKE, _BLANK_ROW, _BLANK_3, _BLANK_ROW, _______, + _______, ____SYM_L1, _BLANK_3, ____SYM_R1, _______, + _______, ____SYM_L2, _BLANK_3, ____SYM_R2, _______, + _______, ____SYM_L3, _BLANK_3, ____SYM_R3, _______, + _BLANK_4, ____SYM_LT, _BLANK_3, ____SYM_RT, _BLANK_4 + ), + + [_FN] = LAYOUT_wrapper( + QK_MAKE, ____FN_15, _BLANK_3, ____FN_60, _______, + _______, ____FN_L1, _BLANK_3, ____FN_R1, _______, + _______, ____FN_L2, _BLANK_3, ____FN_R2, _______, + _______, ____FN_L3, _BLANK_3, ____FN_R3, _______, + _BLANK_4, ____FN_LT, _BLANK_3, ____FN_RT, _BLANK_4 + ), +}; + + diff --git a/keyboards/xiudi/xd75/keymaps/zigotica/rules.mk b/keyboards/xiudi/xd75/keymaps/zigotica/rules.mk new file mode 100644 index 00000000000..c41232e8f94 --- /dev/null +++ b/keyboards/xiudi/xd75/keymaps/zigotica/rules.mk @@ -0,0 +1,6 @@ +OLED_SUPPORTED = no +ENCODER_SUPPORTED = no + +MOUSEKEY_ENABLE = yes +COMBO_ENABLE = yes +TAP_DANCE_ENABLE = yes diff --git a/keyboards/xiudi/xd84/config.h b/keyboards/xiudi/xd84/config.h index 42cce6f1c07..b8a88557230 100644 --- a/keyboards/xiudi/xd84/config.h +++ b/keyboards/xiudi/xd84/config.h @@ -21,7 +21,6 @@ #define MATRIX_ROWS 6 #define MATRIX_COLS 15 -#define RGBLED_NUM 7 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/xiudi/xd84/info.json b/keyboards/xiudi/xd84/info.json index f7bfaeaebd0..6c79ba9aae8 100644 --- a/keyboards/xiudi/xd84/info.json +++ b/keyboards/xiudi/xd84/info.json @@ -17,6 +17,9 @@ "caps_lock": "B6", "on_state": 0 }, + "rgblight": { + "led_count": 7 + }, "ws2812": { "pin": "C7" }, diff --git a/keyboards/xiudi/xd84pro/config.h b/keyboards/xiudi/xd84pro/config.h index ed84a2ad6f0..c127678a5d0 100644 --- a/keyboards/xiudi/xd84pro/config.h +++ b/keyboards/xiudi/xd84pro/config.h @@ -16,11 +16,6 @@ #pragma once - #define RGBLED_NUM 12 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/xiudi/xd84pro/info.json b/keyboards/xiudi/xd84pro/info.json index e905ff3e7e2..1df9eccb0f0 100644 --- a/keyboards/xiudi/xd84pro/info.json +++ b/keyboards/xiudi/xd84pro/info.json @@ -22,6 +22,10 @@ "caps_lock": "B2", "on_state": 0 }, + "rgblight": { + "led_count": 12, + "sleep": true + }, "ws2812": { "pin": "F6" }, diff --git a/keyboards/xiudi/xd87/config.h b/keyboards/xiudi/xd87/config.h index d89929e9c82..948b3fad4a2 100644 --- a/keyboards/xiudi/xd87/config.h +++ b/keyboards/xiudi/xd87/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/xiudi/xd87/info.json b/keyboards/xiudi/xd87/info.json index 5aa56a60e9d..4226947c251 100644 --- a/keyboards/xiudi/xd87/info.json +++ b/keyboards/xiudi/xd87/info.json @@ -21,6 +21,11 @@ "caps_lock": "E2", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "B7" }, diff --git a/keyboards/xiudi/xd96/config.h b/keyboards/xiudi/xd96/config.h index 5329d514832..229eb3e0863 100644 --- a/keyboards/xiudi/xd96/config.h +++ b/keyboards/xiudi/xd96/config.h @@ -21,7 +21,6 @@ #define MATRIX_ROWS 6 #define MATRIX_COLS 18 -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/xiudi/xd96/info.json b/keyboards/xiudi/xd96/info.json index 5a043101301..44b797c04ce 100644 --- a/keyboards/xiudi/xd96/info.json +++ b/keyboards/xiudi/xd96/info.json @@ -13,6 +13,7 @@ "levels": 10 }, "rgblight": { + "led_count": 16, "max_brightness": 50 }, "indicators": { diff --git a/keyboards/yampad/config.h b/keyboards/yampad/config.h index 6327578ebfe..07fa2b40fa2 100644 --- a/keyboards/yampad/config.h +++ b/keyboards/yampad/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #pragma once /* Underlight configuration */ -#define RGBLED_NUM 9 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yampad/info.json b/keyboards/yampad/info.json index 54c363b28bb..41358b56d8d 100644 --- a/keyboards/yampad/info.json +++ b/keyboards/yampad/info.json @@ -8,9 +8,15 @@ "pid": "0x8369", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 9 + }, "ws2812": { "pin": "F4" }, + "build": { + "debounce_type": "sym_eager_pk" + }, "matrix_pins": { "cols": ["B1", "B3", "B2", "B6"], "rows": ["C6", "D7", "E6", "B4", "B5"] diff --git a/keyboards/yampad/rules.mk b/keyboards/yampad/rules.mk index 9f1bf198639..5d58ddf6fae 100644 --- a/keyboards/yampad/rules.mk +++ b/keyboards/yampad/rules.mk @@ -6,7 +6,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite COMMAND_ENABLE = no # Commands for debug and configuration CONSOLE_ENABLE = no # Console for debug -DEBOUNCE_TYPE = sym_eager_pk EXTRAKEY_ENABLE = no # Audio control and System control LTO_ENABLE = yes # Link time optimise, reduce firmware size MOUSEKEY_ENABLE = no # Mouse keys diff --git a/keyboards/yandrstudio/buff67v3/config.h b/keyboards/yandrstudio/buff67v3/config.h index 677e41a00d6..218f2dc3a8c 100644 --- a/keyboards/yandrstudio/buff67v3/config.h +++ b/keyboards/yandrstudio/buff67v3/config.h @@ -17,7 +17,6 @@ #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 1 # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yandrstudio/buff67v3/info.json b/keyboards/yandrstudio/buff67v3/info.json index 69d4903bd63..d750cd69546 100644 --- a/keyboards/yandrstudio/buff67v3/info.json +++ b/keyboards/yandrstudio/buff67v3/info.json @@ -6,6 +6,9 @@ "pid": "0xAA88", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "B4", "driver": "pwm" diff --git a/keyboards/yandrstudio/eau_r2/config.h b/keyboards/yandrstudio/eau_r2/config.h index dcf74a160b2..28e8bc379aa 100644 --- a/keyboards/yandrstudio/eau_r2/config.h +++ b/keyboards/yandrstudio/eau_r2/config.h @@ -17,10 +17,6 @@ #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 12 -# define RGBLIGHT_SLEEP -# define RGBLIGHT_VAL_STEP 5 - # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yandrstudio/eau_r2/info.json b/keyboards/yandrstudio/eau_r2/info.json index e2700ea0cbe..6201e9fcca4 100644 --- a/keyboards/yandrstudio/eau_r2/info.json +++ b/keyboards/yandrstudio/eau_r2/info.json @@ -15,7 +15,10 @@ "pin": "A8" }, "rgblight": { - "max_brightness": 200 + "brightness_steps": 5, + "led_count": 12, + "max_brightness": 200, + "sleep": true }, "debounce": 8, "layouts": { diff --git a/keyboards/yandrstudio/nightstar75/config.h b/keyboards/yandrstudio/nightstar75/config.h index c6760befde4..5d7aac48d9b 100644 --- a/keyboards/yandrstudio/nightstar75/config.h +++ b/keyboards/yandrstudio/nightstar75/config.h @@ -17,8 +17,6 @@ #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 4 - # define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yandrstudio/nightstar75/info.json b/keyboards/yandrstudio/nightstar75/info.json index 32d0e292639..c2ecd21eae7 100644 --- a/keyboards/yandrstudio/nightstar75/info.json +++ b/keyboards/yandrstudio/nightstar75/info.json @@ -11,6 +11,7 @@ "driver": "pwm" }, "rgblight": { + "led_count": 4, "max_brightness": 180 }, "matrix_pins": { diff --git a/keyboards/yandrstudio/nz64/config.h b/keyboards/yandrstudio/nz64/config.h index 5e4cdaaea0c..de44d4f3ee6 100644 --- a/keyboards/yandrstudio/nz64/config.h +++ b/keyboards/yandrstudio/nz64/config.h @@ -20,8 +20,7 @@ /* RGB Matrix */ #ifdef RGB_MATRIX_ENABLE -# define RGBLED_NUM 82 -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 82 # define WS2812_PWM_DRIVER PWMD3 // default: PWMD2 # define WS2812_PWM_CHANNEL 2 // default: 2 @@ -31,7 +30,6 @@ # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 -# define RGBLIGHT_VAL_STEP 18 # define RGB_DISABLE_WHEN_USB_SUSPENDED true # define RGB_MATRIX_CENTER { 96, 32 } # define RGB_MATRIX_KEYPRESSES @@ -87,9 +85,6 @@ #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 82 -# define RGB_MATRIX_LED_COUNT RGBLED_NUM - # define WS2812_PWM_DRIVER PWMD3 // default: PWMD2 # define WS2812_PWM_CHANNEL 2 // default: 2 # define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 diff --git a/keyboards/yandrstudio/nz64/info.json b/keyboards/yandrstudio/nz64/info.json index 6c054018d18..332f9403057 100644 --- a/keyboards/yandrstudio/nz64/info.json +++ b/keyboards/yandrstudio/nz64/info.json @@ -4,6 +4,9 @@ "pid": "0xAAAF", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 82 + }, "ws2812": { "pin": "A7", "driver": "pwm" diff --git a/keyboards/yandrstudio/nz67v2/config.h b/keyboards/yandrstudio/nz67v2/config.h index 860ee45381b..dba2f773950 100644 --- a/keyboards/yandrstudio/nz67v2/config.h +++ b/keyboards/yandrstudio/nz67v2/config.h @@ -16,16 +16,12 @@ #pragma once -#define TAP_CODE_DELAY 15 - /* RGB Matrix */ #ifdef RGB_MATRIX_ENABLE -# define RGBLED_NUM 86 -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 86 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 -# define RGBLIGHT_VAL_STEP 5 # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/yandrstudio/nz67v2/info.json b/keyboards/yandrstudio/nz67v2/info.json index 6149c998f78..89af204fc3d 100644 --- a/keyboards/yandrstudio/nz67v2/info.json +++ b/keyboards/yandrstudio/nz67v2/info.json @@ -23,6 +23,9 @@ {"pin_a": "A9", "pin_b": "A10"} ] }, + "qmk": { + "tap_keycode_delay": 15 + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -40,10 +43,8 @@ {"matrix": [0, 11], "x": 11, "y": 0.5}, {"matrix": [0, 12], "x": 12, "y": 0.5}, {"matrix": [0, 13], "x": 13, "y": 0.5, "w": 2}, - {"matrix": [4, 4], "x": 16, "y": 0}, {"matrix": [0, 14], "x": 15, "y": 0.5}, - {"matrix": [4, 6], "x": 16, "y": 1}, {"matrix": [1, 0], "x": 0, "y": 1.5, "w": 1.5}, {"matrix": [1, 1], "x": 1.5, "y": 1.5}, {"matrix": [1, 2], "x": 2.5, "y": 1.5}, diff --git a/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c b/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c index 7ed06c9ec5b..f1069c37db6 100644 --- a/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/nz67v2/keymaps/default/keymap.c @@ -18,16 +18,15 @@ 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_VOLD, KC_HOME, KC_VOLU, + 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_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_SPC, 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_DEL, 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_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, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, 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) }; - diff --git a/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c b/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c index 56a083d444a..52e0d15c8e5 100644 --- a/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/nz67v2/keymaps/via/keymap.c @@ -18,59 +18,36 @@ 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_VOLD, KC_HOME, KC_VOLU, + 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_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_SPC, 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_DEL, 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_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, URGB_K, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, GUI_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, 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), [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), [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) }; -#ifdef ENCODER_ENABLE -keyevent_t encoder1_ccw = {.key = (keypos_t){.row = 4, .col = 4}, .pressed = false, .type = KEY_EVENT}; - -keyevent_t encoder1_cw = {.key = (keypos_t){.row = 4, .col = 6}, .pressed = false, .type = KEY_EVENT}; -void matrix_scan_user(void) { - if (encoder1_ccw.pressed) { - encoder1_ccw.pressed = false; - encoder1_ccw.time = timer_read(); - action_exec(encoder1_ccw); - } - - if (encoder1_cw.pressed) { - encoder1_cw.pressed = false; - encoder1_cw.time = timer_read(); - action_exec(encoder1_cw); - } -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - encoder1_cw.pressed = true; - encoder1_cw.time = timer_read(); - action_exec(encoder1_cw); - } else { - encoder1_ccw.pressed = true; - encoder1_ccw.time = timer_read(); - action_exec(encoder1_ccw); - } - return true; -} +#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 diff --git a/keyboards/yandrstudio/tg67/config.h b/keyboards/yandrstudio/tg67/config.h index 373b5bcbf93..3386838c749 100644 --- a/keyboards/yandrstudio/tg67/config.h +++ b/keyboards/yandrstudio/tg67/config.h @@ -18,11 +18,9 @@ /* RGB Matrix */ #ifdef RGB_MATRIX_ENABLE -# define RGBLED_NUM 69 -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 69 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 250 -# define RGBLIGHT_VAL_STEP 5 # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/yandrstudio/transition80/info.json b/keyboards/yandrstudio/transition80/info.json index baac6f4f9bd..7f9364a18fd 100644 --- a/keyboards/yandrstudio/transition80/info.json +++ b/keyboards/yandrstudio/transition80/info.json @@ -25,22 +25,29 @@ "scroll_lock": "B14", "on_state": 1 }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "tkl_ansi", + "tkl_ansi_tsangan" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"label": "Esc", "x": 0, "y": 0, "matrix": [0, 0]}, - {"label": "F1", "x": 1.25, "y": 0, "matrix": [0, 2]}, - {"label": "F2", "x": 2.25, "y": 0, "matrix": [0, 3]}, - {"label": "F3", "x": 3.25, "y": 0, "matrix": [0, 4]}, - {"label": "F4", "x": 4.25, "y": 0, "matrix": [0, 5]}, - {"label": "F5", "x": 5.5, "y": 0, "matrix": [0, 6]}, - {"label": "F6", "x": 6.5, "y": 0, "matrix": [0, 7]}, - {"label": "F7", "x": 7.5, "y": 0, "matrix": [0, 8]}, - {"label": "F8", "x": 8.5, "y": 0, "matrix": [0, 9]}, - {"label": "F9", "x": 9.75, "y": 0, "matrix": [0, 10]}, - {"label": "F10", "x": 10.75, "y": 0, "matrix": [0, 11]}, - {"label": "F11", "x": 11.75, "y": 0, "matrix": [0, 12]}, - {"label": "F12", "x": 12.75, "y": 0, "matrix": [0, 13]}, + {"label": "F1", "x": 2, "y": 0, "matrix": [0, 2]}, + {"label": "F2", "x": 3, "y": 0, "matrix": [0, 3]}, + {"label": "F3", "x": 4, "y": 0, "matrix": [0, 4]}, + {"label": "F4", "x": 5, "y": 0, "matrix": [0, 5]}, + {"label": "F5", "x": 6.5, "y": 0, "matrix": [0, 6]}, + {"label": "F6", "x": 7.5, "y": 0, "matrix": [0, 7]}, + {"label": "F7", "x": 8.5, "y": 0, "matrix": [0, 8]}, + {"label": "F8", "x": 9.5, "y": 0, "matrix": [0, 9]}, + {"label": "F9", "x": 11, "y": 0, "matrix": [0, 10]}, + {"label": "F10", "x": 12, "y": 0, "matrix": [0, 11]}, + {"label": "F11", "x": 13, "y": 0, "matrix": [0, 12]}, + {"label": "F12", "x": 14, "y": 0, "matrix": [0, 13]}, {"label": "PrtSc", "x": 15.25, "y": 0, "matrix": [0, 14]}, {"label": "Scroll Lock", "x": 16.25, "y": 0, "matrix": [0, 15]}, {"label": "Pause", "x": 17.25, "y": 0, "matrix": [0, 16]}, @@ -58,9 +65,7 @@ {"label": ")", "x": 10, "y": 1.25, "matrix": [1, 10]}, {"label": "_", "x": 11, "y": 1.25, "matrix": [1, 11]}, {"label": "+", "x": 12, "y": 1.25, "matrix": [1, 12]}, - {"label": "Backspace", "x": 13, "y": 1.25, "w": 2, "matrix": [1, 13]}, - {"label": "|", "x": 13, "y": 1.5, "matrix": [3, 13]}, - {"label": "Backspace", "x": 14, "y": 1.5, "matrix": [3, 14]}, + {"label": "Backspace", "x": 13, "y": 1.25, "w": 2, "h": 0.5, "matrix": [1, 13]}, {"label": "Insert", "x": 15.25, "y": 1.25, "matrix": [1, 14]}, {"label": "Home", "x": 16.25, "y": 1.25, "matrix": [1, 15]}, {"label": "PgUp", "x": 17.25, "y": 1.25, "matrix": [1, 16]}, @@ -96,6 +101,8 @@ {"label": ":", "x": 10.75, "y": 3.25, "matrix": [3, 10]}, {"label": "\"", "x": 11.75, "y": 3.25, "matrix": [3, 11]}, {"label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25, "matrix": [3, 12]}, + {"label": "|", "x": 13, "y": 1.75, "h": 0.5, "matrix": [3, 13]}, + {"label": "Backspace", "x": 14, "y": 1.75, "h": 0.5, "matrix": [3, 14]}, {"label": "Shift", "x": 0, "y": 4.25, "w": 2.25, "matrix": [4, 0]}, {"label": "Z", "x": 2.25, "y": 4.25, "matrix": [4, 2]}, @@ -111,17 +118,401 @@ {"label": "Shift", "x": 12.25, "y": 4.25, "w": 2.75, "matrix": [4, 13]}, {"label": "Up", "x": 16.25, "y": 4.25, "matrix": [4, 14]}, - {"label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25, "matrix": [5, 0]}, - {"label": "Win", "x": 1.25, "y": 5.5, "w": 1.25, "matrix": [5, 1]}, - {"label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25, "matrix": [5, 2]}, - {"label": "Space", "x": 3.75, "y": 5.5, "w": 6.25, "matrix": [5, 6]}, - {"label": "Menu", "x": 10, "y": 5.5, "w": 1.25, "matrix": [5, 10]}, - {"label": "Alt", "x": 11.25, "y": 5.5, "w": 1.25, "matrix": [5, 11]}, - {"label": "Fn", "x": 12.5, "y": 5.5, "w": 1.25, "matrix": [5, 12]}, - {"label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25, "matrix": [5, 13]}, - {"label": "Left", "x": 15.25, "y": 5.5, "matrix": [5, 14]}, - {"label": "Down", "x": 16.25, "y": 5.5, "matrix": [5, 15]}, - {"label": "Right", "x": 17.25, "y": 5.5, "matrix": [5, 16]} + {"label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25, "matrix": [5, 0]}, + {"label": "Win", "x": 1.25, "y": 5.25, "w": 1.25, "matrix": [5, 1]}, + {"label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25, "matrix": [5, 2]}, + {"label": "Space", "x": 3.75, "y": 5.25, "w": 6.25, "matrix": [5, 6]}, + {"label": "Menu", "x": 10, "y": 5.25, "w": 1.25, "matrix": [5, 10]}, + {"label": "Alt", "x": 11.25, "y": 5.25, "w": 1.25, "matrix": [5, 11]}, + {"label": "Fn", "x": 12.5, "y": 5.25, "w": 1.25, "matrix": [5, 12]}, + {"label": "Ctrl", "x": 13.75, "y": 5.25, "w": 1.25, "matrix": [5, 13]}, + {"label": "Left", "x": 15.25, "y": 5.25, "matrix": [5, 14]}, + {"label": "Down", "x": 16.25, "y": 5.25, "matrix": [5, 15]}, + {"label": "Right", "x": 17.25, "y": 5.25, "matrix": [5, 16]} + ] + }, + "LAYOUT_tkl_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + {"label": "PrtSc", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"label": "PgUp", "matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"label": "PgDn", "matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + {"label": "Up", "matrix": [4, 14], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Menu", "matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Fn", "matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "Left", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "Down", "matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"label": "Right", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + {"label": "PrtSc", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "|", "matrix": [3, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"label": "PgUp", "matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"label": "PgDn", "matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + {"label": "Up", "matrix": [4, 14], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Menu", "matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Fn", "matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "Left", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "Down", "matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"label": "Right", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + {"label": "PrtSc", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"label": "PgUp", "matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"label": "PgDn", "matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + {"label": "Up", "matrix": [4, 14], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "Fn", "matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"label": "Left", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "Down", "matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"label": "Right", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + {"label": "PrtSc", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "!", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "@", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "#", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "$", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "%", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "^", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "&", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "*", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "(", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": ")", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "_", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "+", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "|", "matrix": [3, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + {"label": "Insert", "matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"label": "PgUp", "matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "Delete", "matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"label": "PgDn", "matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "\"", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "<", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ">", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "?", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + {"label": "Up", "matrix": [4, 14], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "Fn", "matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"label": "Left", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "Down", "matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"label": "Right", "matrix": [5, 16], "x": 17.25, "y": 5.25} ] } } diff --git a/keyboards/yandrstudio/transition80/keymaps/default/keymap.c b/keyboards/yandrstudio/transition80/keymaps/default/keymap.c index d9f51ce6f86..8d3ab5e327c 100644 --- a/keyboards/yandrstudio/transition80/keymaps/default/keymap.c +++ b/keyboards/yandrstudio/transition80/keymaps/default/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [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, diff --git a/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi/keymap.c b/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi/keymap.c new file mode 100644 index 00000000000..f8430dd3a52 --- /dev/null +++ b/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2022 Y&R-Biu (@jiaxin96) +// SPDX-License-Identifier: GPL-2.0-or-later + +#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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi_split_bs/keymap.c b/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi_split_bs/keymap.c new file mode 100644 index 00000000000..d4125b6cee4 --- /dev/null +++ b/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi_split_bs/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2022 Y&R-Biu (@jiaxin96) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi_split_bs( + 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_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_split_bs( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi_tsangan/keymap.c b/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi_tsangan/keymap.c new file mode 100644 index 00000000000..6543ab1e548 --- /dev/null +++ b/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi_tsangan/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2022 Y&R-Biu (@jiaxin96) +// SPDX-License-Identifier: GPL-2.0-or-later + +#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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi_tsangan( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi_tsangan_split_bs/keymap.c b/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi_tsangan_split_bs/keymap.c new file mode 100644 index 00000000000..4392795b14e --- /dev/null +++ b/keyboards/yandrstudio/transition80/keymaps/default_tkl_ansi_tsangan_split_bs/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2022 Y&R-Biu (@jiaxin96) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi_tsangan_split_bs( + 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_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_tkl_ansi_tsangan_split_bs( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/yandrstudio/transition80/keymaps/via/keymap.c b/keyboards/yandrstudio/transition80/keymaps/via/keymap.c index 0be5c0a46eb..b971c88fe17 100644 --- a/keyboards/yandrstudio/transition80/keymaps/via/keymap.c +++ b/keyboards/yandrstudio/transition80/keymaps/via/keymap.c @@ -4,28 +4,28 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [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_ENT, KC_BSLS, KC_BSPC, 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_RIGHT), - [1] = LAYOUT( + [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, AG_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), - [2] = LAYOUT( + [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( + [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, diff --git a/keyboards/yandrstudio/transition80/matrix_diagram.md b/keyboards/yandrstudio/transition80/matrix_diagram.md new file mode 100644 index 00000000000..77392f1fb53 --- /dev/null +++ b/keyboards/yandrstudio/transition80/matrix_diagram.md @@ -0,0 +1,22 @@ +# Matrix Diagram for Y&R Transition80 + +``` +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ +│00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D ││0E │0F │0G │ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐ ┌───┬───┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │1F │1G │ │3D │3E │ Split Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤ └───┴───┘ soldered PCB only +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ +│40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │ │4E │ +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐ +│50 │51 │52 │56 │5A │5B │5C │5D ││5E │5F │5G │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│50 │51 │52 │56 │5B │5C │5D │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` + diff --git a/keyboards/yandrstudio/yr6095/config.h b/keyboards/yandrstudio/yr6095/config.h index 74c8f4adce7..40c148636fe 100644 --- a/keyboards/yandrstudio/yr6095/config.h +++ b/keyboards/yandrstudio/yr6095/config.h @@ -17,8 +17,6 @@ #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 1 - # define RGBLIGHT_LAYERS # define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF # define RGBLIGHT_LAYERS_RETAIN_VAL diff --git a/keyboards/yandrstudio/yr6095/info.json b/keyboards/yandrstudio/yr6095/info.json index 3ec826052cf..77432a994c9 100644 --- a/keyboards/yandrstudio/yr6095/info.json +++ b/keyboards/yandrstudio/yr6095/info.json @@ -6,6 +6,9 @@ "pid": "0xAA0C", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "B5", "driver": "pwm" diff --git a/keyboards/yandrstudio/yr80/config.h b/keyboards/yandrstudio/yr80/config.h index 0e8602dee9f..d2f62283084 100644 --- a/keyboards/yandrstudio/yr80/config.h +++ b/keyboards/yandrstudio/yr80/config.h @@ -18,9 +18,6 @@ #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 1 -# define DRIVER_LED_TOTAL RGBLED_NUM - # define RGBLIGHT_LAYERS # define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF # define RGBLIGHT_LAYERS_RETAIN_VAL diff --git a/keyboards/yandrstudio/yr80/info.json b/keyboards/yandrstudio/yr80/info.json index 7faaa482eff..3db1d88e267 100644 --- a/keyboards/yandrstudio/yr80/info.json +++ b/keyboards/yandrstudio/yr80/info.json @@ -6,6 +6,9 @@ "pid": "0xAA0D", "device_version": "1.0.0" }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "A7", "driver": "pwm" diff --git a/keyboards/yanghu/unicorne/config.h b/keyboards/yanghu/unicorne/config.h index 8a4ce9ec490..f443f8c5540 100644 --- a/keyboards/yanghu/unicorne/config.h +++ b/keyboards/yanghu/unicorne/config.h @@ -29,8 +29,6 @@ #define AUDIO_PWM_CHANNEL 1 /* RGB LED */ -#define RGBLED_NUM 8 -#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yanghu/unicorne/info.json b/keyboards/yanghu/unicorne/info.json index 52a703d2191..9a6f4c9e801 100644 --- a/keyboards/yanghu/unicorne/info.json +++ b/keyboards/yanghu/unicorne/info.json @@ -8,6 +8,9 @@ "pid": "0x0204", "device_version": "0.0.1" }, + "rgblight": { + "led_count": 8 + }, "ws2812": { "pin": "B1", "driver": "pwm" diff --git a/keyboards/ydkb/chili/config.h b/keyboards/ydkb/chili/config.h index dd6631f5456..03c8bceba02 100644 --- a/keyboards/ydkb/chili/config.h +++ b/keyboards/ydkb/chili/config.h @@ -29,10 +29,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 30 // Number of LEDs -#define RGBLIGHT_HUE_STEP 5 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/ydkb/chili/info.json b/keyboards/ydkb/chili/info.json index 998f3073e1f..99de9fab910 100644 --- a/keyboards/ydkb/chili/info.json +++ b/keyboards/ydkb/chili/info.json @@ -17,6 +17,12 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "hue_steps": 5, + "saturation_steps": 10, + "brightness_steps": 10, + "led_count": 30 + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/ydkb/grape/config.h b/keyboards/ydkb/grape/config.h index 0d488de5d41..c0bea85abae 100644 --- a/keyboards/ydkb/grape/config.h +++ b/keyboards/ydkb/grape/config.h @@ -24,10 +24,6 @@ #define SN74X138_ADDRESS_PINS { D2, D1, D0 } -#ifdef RGBLIGHT_ENABLE -#define RGBLED_NUM 4 -#endif - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/ydkb/grape/info.json b/keyboards/ydkb/grape/info.json index 17d2f88773d..32c9914bdbc 100644 --- a/keyboards/ydkb/grape/info.json +++ b/keyboards/ydkb/grape/info.json @@ -12,6 +12,9 @@ "pin": "B7", "breathing": true }, + "rgblight": { + "led_count": 4 + }, "ws2812": { "pin": "E6" }, diff --git a/keyboards/ydkb/yd68/config.h b/keyboards/ydkb/yd68/config.h index 99148038538..44f4a2679be 100644 --- a/keyboards/ydkb/yd68/config.h +++ b/keyboards/ydkb/yd68/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* * Feature disable options diff --git a/keyboards/ydkb/yd68/info.json b/keyboards/ydkb/yd68/info.json index b552f9e2cf7..87cc06b2233 100644 --- a/keyboards/ydkb/yd68/info.json +++ b/keyboards/ydkb/yd68/info.json @@ -17,6 +17,11 @@ "caps_lock": "D4", "on_state": 0 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 10 + }, "ws2812": { "pin": "B3" }, diff --git a/keyboards/yeehaw/config.h b/keyboards/yeehaw/config.h index 273fd9fca80..cd302bb87bf 100644 --- a/keyboards/yeehaw/config.h +++ b/keyboards/yeehaw/config.h @@ -15,11 +15,6 @@ */ #pragma once - #define RGBLED_NUM 7 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yeehaw/info.json b/keyboards/yeehaw/info.json index 1bcda0bcda9..edebbea5ce1 100644 --- a/keyboards/yeehaw/info.json +++ b/keyboards/yeehaw/info.json @@ -13,6 +13,12 @@ {"pin_a": "D1", "pin_b": "D0"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 7, + "sleep": true + }, "ws2812": { "pin": "B2" }, diff --git a/keyboards/ymdk/bface/config.h b/keyboards/ymdk/bface/config.h index 08303c4b13e..e3bc667216d 100644 --- a/keyboards/ymdk/bface/config.h +++ b/keyboards/ymdk/bface/config.h @@ -27,7 +27,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/ymdk/bface/info.json b/keyboards/ymdk/bface/info.json index 09441c5dbdc..640abc28e77 100644 --- a/keyboards/ymdk/bface/info.json +++ b/keyboards/ymdk/bface/info.json @@ -17,6 +17,11 @@ "pin": "D4", "levels": 6 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/ymdk/id75/rules.mk b/keyboards/ymdk/id75/rules.mk index 47220e8853a..edbd3dd7181 100644 --- a/keyboards/ymdk/id75/rules.mk +++ b/keyboards/ymdk/id75/rules.mk @@ -4,5 +4,3 @@ MCU_LDSCRIPT = STM32F103xB # Wildcard to allow APM32 MCU DFU_SUFFIX_ARGS = -p FFFF -v FFFF -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ymdk/melody96/config.h b/keyboards/ymdk/melody96/config.h index a62c64fb37b..d702489ee7a 100644 --- a/keyboards/ymdk/melody96/config.h +++ b/keyboards/ymdk/melody96/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 18 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/ymdk/melody96/info.json b/keyboards/ymdk/melody96/info.json index 83c45eaa6be..6df82fdd451 100644 --- a/keyboards/ymdk/melody96/info.json +++ b/keyboards/ymdk/melody96/info.json @@ -17,6 +17,11 @@ "pin": "B6", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/ymdk/np21/config.h b/keyboards/ymdk/np21/config.h index 6ad2d4bdf00..5254378a3f0 100644 --- a/keyboards/ymdk/np21/config.h +++ b/keyboards/ymdk/np21/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 5 -//#define RGBLIGHT_HUE_STEP 8 -//#define RGBLIGHT_SAT_STEP 8 -//#define RGBLIGHT_VAL_STEP 8 -//#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ymdk/np21/info.json b/keyboards/ymdk/np21/info.json index 62fdf7e20c7..0e9f8a7a540 100644 --- a/keyboards/ymdk/np21/info.json +++ b/keyboards/ymdk/np21/info.json @@ -18,6 +18,9 @@ "levels": 12, "breathing": true }, + "rgblight": { + "led_count": 5 + }, "ws2812": { "driver": "i2c" }, diff --git a/keyboards/ymdk/np24/u4rgb6/config.h b/keyboards/ymdk/np24/u4rgb6/config.h index 0f6e31d199f..d6441690395 100644 --- a/keyboards/ymdk/np24/u4rgb6/config.h +++ b/keyboards/ymdk/np24/u4rgb6/config.h @@ -15,7 +15,6 @@ */ #pragma once -# define RGBLED_NUM 6 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ymdk/np24/u4rgb6/info.json b/keyboards/ymdk/np24/u4rgb6/info.json index 285baacdac0..fcd7bf516d8 100644 --- a/keyboards/ymdk/np24/u4rgb6/info.json +++ b/keyboards/ymdk/np24/u4rgb6/info.json @@ -16,6 +16,9 @@ "pin": "B7", "levels": 31 }, + "rgblight": { + "led_count": 6 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/ymdk/sp64/config.h b/keyboards/ymdk/sp64/config.h index 35e9f6b5a68..057249b8793 100644 --- a/keyboards/ymdk/sp64/config.h +++ b/keyboards/ymdk/sp64/config.h @@ -24,11 +24,6 @@ along with this program. If not, see . #define RIGHT_HALF /* RGB underglow */ -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ymdk/sp64/info.json b/keyboards/ymdk/sp64/info.json index dff795f0b9f..b73093c58dc 100644 --- a/keyboards/ymdk/sp64/info.json +++ b/keyboards/ymdk/sp64/info.json @@ -17,7 +17,11 @@ "driver": "i2c" }, "rgblight": { - "max_brightness": 250 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "max_brightness": 250, + "sleep": true }, "processor": "atmega32a", "bootloader": "bootloadhid", diff --git a/keyboards/ymdk/wings/config.h b/keyboards/ymdk/wings/config.h index c8cfa14161f..9b6e11cb2ba 100644 --- a/keyboards/ymdk/wings/config.h +++ b/keyboards/ymdk/wings/config.h @@ -15,7 +15,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 14 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -26,7 +25,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ diff --git a/keyboards/ymdk/wings/info.json b/keyboards/ymdk/wings/info.json index 6a136f90d38..cd239f56694 100644 --- a/keyboards/ymdk/wings/info.json +++ b/keyboards/ymdk/wings/info.json @@ -17,6 +17,12 @@ "pin": "B6", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/ymdk/wingshs/config.h b/keyboards/ymdk/wingshs/config.h index fe80a59fe59..8114e962de2 100644 --- a/keyboards/ymdk/wingshs/config.h +++ b/keyboards/ymdk/wingshs/config.h @@ -13,7 +13,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 80 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -24,7 +23,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ diff --git a/keyboards/ymdk/wingshs/info.json b/keyboards/ymdk/wingshs/info.json index 4c536e7eadc..d8e4d83266e 100644 --- a/keyboards/ymdk/wingshs/info.json +++ b/keyboards/ymdk/wingshs/info.json @@ -25,7 +25,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 160 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 80, + "max_brightness": 160, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/ymdk/yd60mq/12led/config.h b/keyboards/ymdk/yd60mq/12led/config.h deleted file mode 100644 index edea795f788..00000000000 --- a/keyboards/ymdk/yd60mq/12led/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RGBLED_NUM 12 diff --git a/keyboards/ymdk/yd60mq/12led/info.json b/keyboards/ymdk/yd60mq/12led/info.json index 90ac25f360b..6bc508727e1 100644 --- a/keyboards/ymdk/yd60mq/12led/info.json +++ b/keyboards/ymdk/yd60mq/12led/info.json @@ -1,5 +1,10 @@ { "usb": { "device_version": "0.0.1" + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12 } } diff --git a/keyboards/ymdk/yd60mq/16led/config.h b/keyboards/ymdk/yd60mq/16led/config.h deleted file mode 100644 index 00d3fcfc8cb..00000000000 --- a/keyboards/ymdk/yd60mq/16led/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#define RGBLED_NUM 16 diff --git a/keyboards/ymdk/yd60mq/16led/info.json b/keyboards/ymdk/yd60mq/16led/info.json index e557e4d3076..905c6053ffa 100644 --- a/keyboards/ymdk/yd60mq/16led/info.json +++ b/keyboards/ymdk/yd60mq/16led/info.json @@ -1,5 +1,10 @@ { "usb": { "device_version": "0.0.2" + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 16 } } diff --git a/keyboards/ymdk/yd60mq/config.h b/keyboards/ymdk/yd60mq/config.h index 135548b4ff0..d374b7ef5e2 100644 --- a/keyboards/ymdk/yd60mq/config.h +++ b/keyboards/ymdk/yd60mq/config.h @@ -15,7 +15,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -// RGBLED_NUM is defined in revisions diff --git a/keyboards/ymdk/ym68/config.h b/keyboards/ymdk/ym68/config.h index b35b9d3142a..8bb96c992fd 100644 --- a/keyboards/ymdk/ym68/config.h +++ b/keyboards/ymdk/ym68/config.h @@ -17,11 +17,6 @@ #pragma once #if defined(RGBLIGHT_ENABLE) - #define RGBLED_NUM 20 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ymdk/ym68/info.json b/keyboards/ymdk/ym68/info.json index 3daab4072aa..5b1af505292 100644 --- a/keyboards/ymdk/ym68/info.json +++ b/keyboards/ymdk/ym68/info.json @@ -18,6 +18,12 @@ "levels": 5, "breathing": true }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 20, + "sleep": true + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/ymdk/ymd21/v2/config.h b/keyboards/ymdk/ymd21/v2/config.h index 955f702a8d3..073441c9c02 100644 --- a/keyboards/ymdk/ymd21/v2/config.h +++ b/keyboards/ymdk/ymd21/v2/config.h @@ -17,11 +17,6 @@ #pragma once #if defined(RGBLIGHT_ENABLE) - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ymdk/ymd21/v2/info.json b/keyboards/ymdk/ymd21/v2/info.json index 18b0ef9e7b5..153fb72a4c9 100644 --- a/keyboards/ymdk/ymd21/v2/info.json +++ b/keyboards/ymdk/ymd21/v2/info.json @@ -21,7 +21,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 180 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "max_brightness": 180, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/ymdk/ymd40/v2/config.h b/keyboards/ymdk/ymd40/v2/config.h index 1a061e530b6..8bb96c992fd 100644 --- a/keyboards/ymdk/ymd40/v2/config.h +++ b/keyboards/ymdk/ymd40/v2/config.h @@ -17,11 +17,6 @@ #pragma once #if defined(RGBLIGHT_ENABLE) - #define RGBLED_NUM 8 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ymdk/ymd40/v2/info.json b/keyboards/ymdk/ymd40/v2/info.json index ab9648ff46a..91193aa9fad 100644 --- a/keyboards/ymdk/ymd40/v2/info.json +++ b/keyboards/ymdk/ymd40/v2/info.json @@ -21,7 +21,11 @@ "pin": "E2" }, "rgblight": { - "max_brightness": 150 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 8, + "max_brightness": 150, + "sleep": true }, "processor": "atmega32u4", "bootloader": "atmel-dfu", diff --git a/keyboards/ymdk/ymd67/config.h b/keyboards/ymdk/ymd67/config.h index 8a3612b8a55..d374b7ef5e2 100644 --- a/keyboards/ymdk/ymd67/config.h +++ b/keyboards/ymdk/ymd67/config.h @@ -15,7 +15,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/ymdk/ymd67/info.json b/keyboards/ymdk/ymd67/info.json index 39801fe04e9..c5e3a455197 100644 --- a/keyboards/ymdk/ymd67/info.json +++ b/keyboards/ymdk/ymd67/info.json @@ -17,6 +17,11 @@ "pin": "B7", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/ymdk/ymd75/config.h b/keyboards/ymdk/ymd75/config.h index 32bdab24781..4f0c47b20ba 100644 --- a/keyboards/ymdk/ymd75/config.h +++ b/keyboards/ymdk/ymd75/config.h @@ -19,7 +19,6 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 16 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -30,7 +29,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 12 -#define RGBLIGHT_SAT_STEP 15 -#define RGBLIGHT_VAL_STEP 18 #define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/ymdk/ymd75/info.json b/keyboards/ymdk/ymd75/info.json index 930139be906..a19586fcc03 100644 --- a/keyboards/ymdk/ymd75/info.json +++ b/keyboards/ymdk/ymd75/info.json @@ -7,6 +7,12 @@ "vid": "0x20A0", "pid": "0x422D" }, + "rgblight": { + "hue_steps": 12, + "saturation_steps": 15, + "brightness_steps": 18, + "led_count": 16 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/ymdk/ymd96/config.h b/keyboards/ymdk/ymd96/config.h index ecb03b59175..5570dc0534a 100644 --- a/keyboards/ymdk/ymd96/config.h +++ b/keyboards/ymdk/ymd96/config.h @@ -19,10 +19,7 @@ along with this program. If not, see . #pragma once -#define TAPPING_TOGGLE 3 - /* RGB underglow */ -#define RGBLED_NUM 18 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,4 +30,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -/*#define RGBLIGHT_VAL_STEP 20*/ diff --git a/keyboards/ymdk/ymd96/info.json b/keyboards/ymdk/ymd96/info.json index f603439d398..6d30a2bab78 100644 --- a/keyboards/ymdk/ymd96/info.json +++ b/keyboards/ymdk/ymd96/info.json @@ -19,6 +19,9 @@ "levels": 12, "breathing": true }, + "rgblight": { + "led_count": 18 + }, "ws2812": { "driver": "i2c" }, @@ -29,6 +32,9 @@ }, "processor": "atmega32a", "bootloader": "bootloadhid", + "tapping": { + "toggle": 3 + }, "layouts": { "LAYOUT_default": { "layout": [ diff --git a/keyboards/yoichiro/lunakey_macro/config.h b/keyboards/yoichiro/lunakey_macro/config.h index ec059fd01ef..7f390318153 100644 --- a/keyboards/yoichiro/lunakey_macro/config.h +++ b/keyboards/yoichiro/lunakey_macro/config.h @@ -30,11 +30,6 @@ along with this program. If not, see . /* Layer Count */ #define DYNAMIC_KEYMAP_LAYER_COUNT 3 - #define RGBLED_NUM 5 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // #define RGBLIGHT_LAYERS #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/yoichiro/lunakey_macro/info.json b/keyboards/yoichiro/lunakey_macro/info.json index f892a9db7fe..5853720c482 100644 --- a/keyboards/yoichiro/lunakey_macro/info.json +++ b/keyboards/yoichiro/lunakey_macro/info.json @@ -13,6 +13,12 @@ "rows": ["E6", "B4", "B5"] }, "diode_direction": "COL2ROW", + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 5, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/yoichiro/lunakey_mini/config.h b/keyboards/yoichiro/lunakey_mini/config.h index 9c2fd0d8eff..8e449b623fa 100644 --- a/keyboards/yoichiro/lunakey_mini/config.h +++ b/keyboards/yoichiro/lunakey_mini/config.h @@ -17,14 +17,6 @@ along with this program. If not, see . #pragma once - #define RGBLED_NUM 12 - #define RGBLIGHT_SPLIT - #define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, \ - 11, 10, 9, 8, 7, 6 } - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yoichiro/lunakey_mini/info.json b/keyboards/yoichiro/lunakey_mini/info.json index c255c431c22..4d1af67914f 100644 --- a/keyboards/yoichiro/lunakey_mini/info.json +++ b/keyboards/yoichiro/lunakey_mini/info.json @@ -17,6 +17,11 @@ "soft_serial_pin": "D2" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12, + "sleep": true, + "led_map": [0, 1, 2, 3, 4, 5, 11, 10, 9, 8, 7, 6], "split_count": [6, 6] }, "ws2812": { diff --git a/keyboards/yoichiro/lunakey_pico/config.h b/keyboards/yoichiro/lunakey_pico/config.h index cf819293be9..a95edc0358b 100644 --- a/keyboards/yoichiro/lunakey_pico/config.h +++ b/keyboards/yoichiro/lunakey_pico/config.h @@ -15,9 +15,6 @@ #define WS2812_PIO_USE_PIO1 -#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, \ - 11, 10, 9, 8, 7, 6 } - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/yoichiro/lunakey_pico/info.json b/keyboards/yoichiro/lunakey_pico/info.json index 2b477e726c2..bf4b2a25109 100644 --- a/keyboards/yoichiro/lunakey_pico/info.json +++ b/keyboards/yoichiro/lunakey_pico/info.json @@ -26,6 +26,7 @@ }, "rgblight": { "led_count": 12, + "led_map": [0, 1, 2, 3, 4, 5, 11, 10, 9, 8, 7, 6], "sleep": true, "split": true, "split_count": [6, 6], diff --git a/keyboards/yosino58/keymaps/default/keymap.c b/keyboards/yosino58/keymaps/default/keymap.c index 45ee46f7ceb..512c0ec4b19 100644 --- a/keyboards/yosino58/keymaps/default/keymap.c +++ b/keyboards/yosino58/keymaps/default/keymap.c @@ -200,8 +200,9 @@ bool oled_task_user(void) { int rowa = 0; //Set Indicator icon - if (host_keyboard_leds() & (1< -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 - -/* ws2812 RGB LED */ -#define RGBLED_NUM 12 // Number of LEDs - -/* - * 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/yosino58/rev1/info.json b/keyboards/yosino58/rev1/info.json index 730c82faa48..c0dc03831fa 100644 --- a/keyboards/yosino58/rev1/info.json +++ b/keyboards/yosino58/rev1/info.json @@ -16,6 +16,9 @@ "split": { "soft_serial_pin": "D2" }, + "rgblight": { + "led_count": 12 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/yushakobo/navpad/10/config.h b/keyboards/yushakobo/navpad/10/config.h index bb842334bef..d73f5307d39 100644 --- a/keyboards/yushakobo/navpad/10/config.h +++ b/keyboards/yushakobo/navpad/10/config.h @@ -17,11 +17,6 @@ along with this program. If not, see . #pragma once -# define RGBLED_NUM 9 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ //# define RGBLIGHT_EFFECT_BREATHING //# define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -38,5 +33,4 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT #define QUICK_TAP_TERM 0 -#define TAPPING_TERM 132 #define TAPPING_LAYER_TERM 90 diff --git a/keyboards/yushakobo/navpad/10/info.json b/keyboards/yushakobo/navpad/10/info.json index 81b2740f324..640ee5b043b 100644 --- a/keyboards/yushakobo/navpad/10/info.json +++ b/keyboards/yushakobo/navpad/10/info.json @@ -12,11 +12,18 @@ {"pin_a": "B5", "pin_b": "B6"} ] }, + "tapping": { + "term": 132 + }, "ws2812": { "pin": "D3" }, "rgblight": { - "max_brightness": 120 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 9, + "max_brightness": 120, + "sleep": true }, "processor": "atmega32u4", "bootloader": "caterina" diff --git a/keyboards/yushakobo/navpad/10/rev1/config.h b/keyboards/yushakobo/navpad/10/rev1/config.h deleted file mode 100644 index d4a4e48d776..00000000000 --- a/keyboards/yushakobo/navpad/10/rev1/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2021 yushakobo - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 8, 7 } diff --git a/keyboards/yushakobo/navpad/10/rev1/info.json b/keyboards/yushakobo/navpad/10/rev1/info.json index bd20c0d0b47..a35dc4d5e97 100644 --- a/keyboards/yushakobo/navpad/10/rev1/info.json +++ b/keyboards/yushakobo/navpad/10/rev1/info.json @@ -2,6 +2,9 @@ "usb": { "device_version": "0.0.1" }, + "rgblight": { + "led_map": [0, 1, 2, 3, 4, 5, 6, 8, 7] + }, "matrix_pins": { "cols": ["F5", "F6", "B2", "B3", "B1", "F7"], "rows": ["D4", "C6", "D7", "E6", "B4", "F4"] diff --git a/keyboards/yushakobo/navpad/10_helix_r/config.h b/keyboards/yushakobo/navpad/10_helix_r/config.h index fd88d5eab69..2cfce610796 100644 --- a/keyboards/yushakobo/navpad/10_helix_r/config.h +++ b/keyboards/yushakobo/navpad/10_helix_r/config.h @@ -18,19 +18,6 @@ along with this program. If not, see . #pragma once #define EE_HANDS - -# define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 8, 7, \ - 9, 10, 11, 12, 13, 14, \ - 20, 19, 18, 17, 16, 15, \ - 21, 22, 23, 24, 25, 26, \ - 33, 32, 31, 30, 29, 28, 27, \ - 34, 35, 36, 37, 38, 39, 40 } - -# define RGBLED_NUM 9+32 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ //# define RGBLIGHT_EFFECT_BREATHING //# define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -47,5 +34,4 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT #define QUICK_TAP_TERM 0 -#define TAPPING_TERM 132 #define TAPPING_LAYER_TERM 90 diff --git a/keyboards/yushakobo/navpad/10_helix_r/info.json b/keyboards/yushakobo/navpad/10_helix_r/info.json index 9c51e8ad746..4e1686f430f 100644 --- a/keyboards/yushakobo/navpad/10_helix_r/info.json +++ b/keyboards/yushakobo/navpad/10_helix_r/info.json @@ -34,11 +34,19 @@ } } }, + "tapping": { + "term": 132 + }, "ws2812": { "pin": "D3" }, "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 41, "max_brightness": 120, + "led_map": [0, 1, 2, 3, 4, 5, 6, 8, 7, 9, 10, 11, 12, 13, 14, 20, 19, 18, 17, 16, 15, 21, 22, 23, 24, 25, 26, 33, 32, 31, 30, 29, 28, 27, 34, 35, 36, 37, 38, 39, 40], + "sleep": true, "split_count": [9, 32] }, "processor": "atmega32u4", diff --git a/keyboards/yushakobo/quick17/config.h b/keyboards/yushakobo/quick17/config.h index 00018d319c4..01f3396be4d 100644 --- a/keyboards/yushakobo/quick17/config.h +++ b/keyboards/yushakobo/quick17/config.h @@ -17,10 +17,8 @@ along with this program. If not, see . #pragma once -#define RGBLED_NUM 18 - #ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT 18 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended @@ -32,25 +30,12 @@ along with this program. If not, see . // #define RGB_MATRIX_DEFAULT_HUE 128 // #define RGB_MATRIX_DEFAULT_SAT 255 #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 #endif #ifdef RGBLIGHT_ENABLE -# define RGBLIGHT_LED_MAP {\ - 6, 7, 12, 13, 14, 15,\ - 16, 17, 11, 10, 9, 8,\ - 0, 1, 2, 3, 4, 5\ - } -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ //# define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD # define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yushakobo/quick17/info.json b/keyboards/yushakobo/quick17/info.json index 1889a006438..aef48120bd1 100644 --- a/keyboards/yushakobo/quick17/info.json +++ b/keyboards/yushakobo/quick17/info.json @@ -9,10 +9,17 @@ "device_version": "0.0.1" }, "rgb_matrix": { - "driver": "WS2812" + "driver": "WS2812", + "sat_steps": 8, + "val_steps": 8, + "speed_steps": 10 }, "rgblight": { - "max_brightness": 150 + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 18, + "max_brightness": 150, + "led_map": [6, 7, 12, 13, 14, 15, 16, 17, 11, 10, 9, 8, 0, 1, 2, 3, 4, 5] }, "matrix_pins": { "cols": ["F5", "D4", "E6", "F7", "C6", "D7"], diff --git a/keyboards/yushakobo/quick7/config.h b/keyboards/yushakobo/quick7/config.h index 0a35045845e..2fd469af46d 100644 --- a/keyboards/yushakobo/quick7/config.h +++ b/keyboards/yushakobo/quick7/config.h @@ -18,11 +18,6 @@ along with this program. If not, see . #pragma once #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 13 -# define RGBLIGHT_HUE_STEP 8 -# define RGBLIGHT_SAT_STEP 8 -# define RGBLIGHT_VAL_STEP 8 -# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ //# define RGBLIGHT_EFFECT_BREATHING # define RGBLIGHT_EFFECT_RAINBOW_MOOD //# define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yushakobo/quick7/info.json b/keyboards/yushakobo/quick7/info.json index 79458d1564f..8a6772a68f1 100644 --- a/keyboards/yushakobo/quick7/info.json +++ b/keyboards/yushakobo/quick7/info.json @@ -14,6 +14,12 @@ {"pin_a": "F5", "pin_b": "F6"} ] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 13, + "sleep": true + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/yynmt/dozen0/config.h b/keyboards/yynmt/dozen0/config.h index e94b19675f3..c67c0ee8835 100644 --- a/keyboards/yynmt/dozen0/config.h +++ b/keyboards/yynmt/dozen0/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 2 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/yynmt/dozen0/info.json b/keyboards/yynmt/dozen0/info.json index 9a2417f0393..4c4150d5bdd 100644 --- a/keyboards/yynmt/dozen0/info.json +++ b/keyboards/yynmt/dozen0/info.json @@ -8,6 +8,11 @@ "pid": "0xEA4F", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/yynmt/dozen0/keymaps/f12/keymap.c b/keyboards/yynmt/dozen0/keymaps/f12/keymap.c index 167e29e1062..33512faa678 100644 --- a/keyboards/yynmt/dozen0/keymaps/f12/keymap.c +++ b/keyboards/yynmt/dozen0/keymaps/f12/keymap.c @@ -22,19 +22,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/yynmt/kagamidget/config.h b/keyboards/yynmt/kagamidget/config.h index f50a2c72c3a..c67c0ee8835 100644 --- a/keyboards/yynmt/kagamidget/config.h +++ b/keyboards/yynmt/kagamidget/config.h @@ -27,10 +27,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 4 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/yynmt/kagamidget/info.json b/keyboards/yynmt/kagamidget/info.json index 4165c966bf4..b9e1d09059b 100644 --- a/keyboards/yynmt/kagamidget/info.json +++ b/keyboards/yynmt/kagamidget/info.json @@ -8,6 +8,11 @@ "pid": "0x0000", "device_version": "0.0.1" }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 4 + }, "ws2812": { "pin": "D3" }, diff --git a/keyboards/zfrontier/big_switch/config.h b/keyboards/zfrontier/big_switch/config.h index eecce57fe6a..4b26698659f 100644 --- a/keyboards/zfrontier/big_switch/config.h +++ b/keyboards/zfrontier/big_switch/config.h @@ -18,8 +18,6 @@ along with this program. If not, see . #pragma once /* RGB light config */ -#define RGBLED_NUM 4 -#define RGBLIGHT_VAL_STEP 17 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,6 +31,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_BREATHE_CENTER 2.0 #define RGBLIGHT_EFFECT_BREATHE_MAX 255 -/* long tapping config */ -#define TAPPING_TERM 500 #define PERMISSIVE_HOLD diff --git a/keyboards/zfrontier/big_switch/info.json b/keyboards/zfrontier/big_switch/info.json index 02c40f61257..746ffc80342 100644 --- a/keyboards/zfrontier/big_switch/info.json +++ b/keyboards/zfrontier/big_switch/info.json @@ -12,6 +12,12 @@ "cols": ["F1"], "rows": ["F0"] }, + "rgblight": { + "led_count": 4 + }, + "tapping": { + "term": 500 + }, "ws2812": { "pin": "B6" }, diff --git a/keyboards/zj68/config.h b/keyboards/zj68/config.h index eff7fc2d491..65dc8ee2b3a 100644 --- a/keyboards/zj68/config.h +++ b/keyboards/zj68/config.h @@ -33,7 +33,3 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/zj68/info.json b/keyboards/zj68/info.json index 6d0df4a0c5f..30d887dd8fe 100644 --- a/keyboards/zj68/info.json +++ b/keyboards/zj68/info.json @@ -16,6 +16,11 @@ "pin": "B6", "levels": 5 }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 14 + }, "ws2812": { "pin": "E2" }, diff --git a/keyboards/zlant/config.h b/keyboards/zlant/config.h index 8471167fcd9..d702489ee7a 100755 --- a/keyboards/zlant/config.h +++ b/keyboards/zlant/config.h @@ -16,7 +16,3 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/zlant/info.json b/keyboards/zlant/info.json index 9f01b095185..507cc29ab96 100644 --- a/keyboards/zlant/info.json +++ b/keyboards/zlant/info.json @@ -12,6 +12,11 @@ "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "B7", "D1", "D2", "D3", "B3", "B2"], "rows": ["B0", "B1", "D4", "D5"] }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 12 + }, "ws2812": { "pin": "D6" }, diff --git a/keyboards/zoo/wampus/config.h b/keyboards/zoo/wampus/config.h index 310b4f57568..2585ea23dd6 100644 --- a/keyboards/zoo/wampus/config.h +++ b/keyboards/zoo/wampus/config.h @@ -32,7 +32,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 20 // SPI RGB Driver #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 diff --git a/keyboards/zoo/wampus/info.json b/keyboards/zoo/wampus/info.json index ee3c3dfe478..8c02db11076 100644 --- a/keyboards/zoo/wampus/info.json +++ b/keyboards/zoo/wampus/info.json @@ -17,6 +17,9 @@ "pin": "A6", "breathing": true }, + "rgblight": { + "led_count": 20 + }, "ws2812": { "pin": "B15", "driver": "spi" diff --git a/keyboards/zoo/wampus/rules.mk b/keyboards/zoo/wampus/rules.mk index 34d5f258fc7..fe3c88063d2 100644 --- a/keyboards/zoo/wampus/rules.mk +++ b/keyboards/zoo/wampus/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = no # Enables the use of OLED displays -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/zvecr/split_blackpill/config.h b/keyboards/zvecr/split_blackpill/config.h index ca2efbedc29..51a63c2c381 100644 --- a/keyboards/zvecr/split_blackpill/config.h +++ b/keyboards/zvecr/split_blackpill/config.h @@ -15,12 +15,9 @@ */ #pragma once -#define MATRIX_IO_DELAY 5 - #define SPLIT_HAND_PIN B3 #define SELECT_SOFT_SERIAL_SPEED 0 -#define RGBLED_NUM 24 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/zvecr/split_blackpill/info.json b/keyboards/zvecr/split_blackpill/info.json index a4265c688b3..f845be58fff 100644 --- a/keyboards/zvecr/split_blackpill/info.json +++ b/keyboards/zvecr/split_blackpill/info.json @@ -10,7 +10,8 @@ }, "matrix_pins": { "cols": ["B11", "B10", "B1", "B0", "A7", "A6"], - "rows": ["B15", "B14", "B13", "B12"] + "rows": ["B15", "B14", "B13", "B12"], + "io_delay": 5 }, "diode_direction": "COL2ROW", "split": { @@ -26,6 +27,7 @@ } }, "rgblight": { + "led_count": 24, "split_count": [12, 12] }, "ws2812": { diff --git a/keyboards/zvecr/zv48/config.h b/keyboards/zvecr/zv48/config.h index e18d3bfb999..b3239beff32 100644 --- a/keyboards/zvecr/zv48/config.h +++ b/keyboards/zvecr/zv48/config.h @@ -15,13 +15,10 @@ */ #pragma once -#define MATRIX_IO_DELAY 5 - #define SPLIT_HAND_PIN B9 //#define SELECT_SOFT_SERIAL_SPEED 0 #define SERIAL_USART_SPEED 921600 -#define RGBLED_NUM 48 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/zvecr/zv48/info.json b/keyboards/zvecr/zv48/info.json index b0536d92848..10e2bf0c3cb 100644 --- a/keyboards/zvecr/zv48/info.json +++ b/keyboards/zvecr/zv48/info.json @@ -10,7 +10,8 @@ }, "matrix_pins": { "cols": ["B15", "B10", "B0", "A5", "A4", "A3"], - "rows": ["A10", "A15", "B3", "B4"] + "rows": ["A10", "A15", "B3", "B4"], + "io_delay": 5 }, "diode_direction": "COL2ROW", "encoder": { @@ -23,6 +24,7 @@ "driver": "pwm" }, "rgblight": { + "led_count": 48, "max_brightness": 120, "split_count": [24, 24] }, diff --git a/keyboards/zykrah/fuyu/config.h b/keyboards/zykrah/fuyu/config.h index 92fdcaa5869..0f24dfe7e35 100644 --- a/keyboards/zykrah/fuyu/config.h +++ b/keyboards/zykrah/fuyu/config.h @@ -26,7 +26,6 @@ along with this program. If not, see . /* The number of LEDs connected (7 Snowflake, 34 Underglow) */ #define DRIVER_LED_TOTAL 41 -#define RGBLED_NUM 41 #define RGB_MATRIX_LED_COUNT 41 /* Caps locks LED index default is 0 (LED1 on PCB) */ diff --git a/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/keymap.c b/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/keymap.c index 3af6af50913..37e459893ca 100644 --- a/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/keymap.c +++ b/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/keymap.c @@ -109,9 +109,9 @@ void update_led(void) { } } -void led_set_user(uint8_t usb_led) { +bool led_update_user(led_t led_state) { // Caps Lock Indicator - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + if (led_state.caps_lock) { writePinLow(B2); rgblight_setrgb(255, 110, 0); } @@ -133,6 +133,7 @@ void led_set_user(uint8_t usb_led) { } update_led(); } + return false; } layer_state_t layer_state_set_user(layer_state_t state) { diff --git a/layouts/community/ergodox/colemak_code_friendly/keymap.c b/layouts/community/ergodox/colemak_code_friendly/keymap.c index ae5bdcc5b8c..d9e3c9fa610 100644 --- a/layouts/community/ergodox/colemak_code_friendly/keymap.c +++ b/layouts/community/ergodox/colemak_code_friendly/keymap.c @@ -310,9 +310,6 @@ void matrix_init_user(void) { void matrix_scan_user(void) { uint8_t layer = get_highest_layer(layer_state); - //led 1, RED, Caps-Lock ON - //if (host_keyboard_leds() & (1<mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || host_keyboard_led_state().caps_lock) { ergodox_right_led_1_on(); } else { ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/ordinary_osx/keymap.c b/layouts/community/ergodox/ordinary_osx/keymap.c index f67a6d6da03..3de64f4994a 100644 --- a/layouts/community/ergodox/ordinary_osx/keymap.c +++ b/layouts/community/ergodox/ordinary_osx/keymap.c @@ -238,7 +238,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { // shift or caps lock turns on red light - if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || host_keyboard_led_state().caps_lock) { ergodox_right_led_1_on(); } else { ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/osx_neo2/keymap.c b/layouts/community/ergodox/osx_neo2/keymap.c index 5b279073cc8..079a92a97e7 100644 --- a/layouts/community/ergodox/osx_neo2/keymap.c +++ b/layouts/community/ergodox/osx_neo2/keymap.c @@ -686,7 +686,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if ((capslock_state & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) { // CAPSLOCK is currently active, disable it - if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) { + if (host_keyboard_led_state().caps_lock) { unregister_code(KC_LOCKING_CAPS_LOCK); } else { register_code(KC_LOCKING_CAPS_LOCK); @@ -697,11 +697,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return process_record_user_shifted(keycode, record); }; -// Runs just one time when the keyboard initializes. -void matrix_init_user(void){ - -}; - // Runs constantly in the background, in a loop. void matrix_scan_user(void) { uint8_t layer = get_highest_layer(layer_state); diff --git a/layouts/community/ergodox/software_neo2/keymap.c b/layouts/community/ergodox/software_neo2/keymap.c index c191a034f20..1c68a68b0fb 100644 --- a/layouts/community/ergodox/software_neo2/keymap.c +++ b/layouts/community/ergodox/software_neo2/keymap.c @@ -106,7 +106,7 @@ void matrix_scan_user(void) { ergodox_right_led_3_off(); ergodox_board_led_off(); - if (host_keyboard_leds() & (1<. +*/ + +#include "scotto.h" + +#define LAYOUT_ortho_4x10_wrapper(...) LAYOUT_ortho_4x10(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_4x10_wrapper( + _________________KEYMAP1__________________, + _________________KEYMAP2__________________, + _________________KEYMAP3a_________________, + KC_NO, KC_NO, _______THUMB6_1_______, KC_NO, KC_NO + ), + [1] = LAYOUT_ortho_4x10_wrapper( + ______________SYM_MEDIA_NAV1______________, + ______________SYM_MEDIA_NAV2______________, + ______________SYM_MEDIA_NAV3______________, + KC_NO, KC_NO, _____THUMB6_TRNS______, KC_NO, KC_NO + ), + [2] = LAYOUT_ortho_4x10_wrapper( + _________________NUM_SYM1_________________, + _________________NUM_SYM2_________________, + _________________NUM_SYM3a________________, + KC_NO, KC_NO, _____THUMB6_TRNS______, KC_NO, KC_NO + ), + [3] = LAYOUT_ortho_4x10_wrapper( + ________________FUNC_SYS1a________________, + ________________FUNC_SYS2_________________, + ________________FUNC_SYS3_________________, + KC_NO, KC_NO, _____THUMB6_TRNS______, KC_NO, KC_NO + ), + [4] = LAYOUT_ortho_4x10_wrapper( + _________________KEYMAP1__________________, + _________________KEYMAP2__________________, + _________________KEYMAP3a_________________, + KC_NO, KC_NO, _______THUMB6_4_______, KC_NO, KC_NO + ), + [5] = LAYOUT_ortho_4x10_wrapper( + _________________KEYMAP1__________________, + _________________KEYMAP2__________________, + _________________KEYMAP3b_________________, + KC_NO, KC_NO, _______THUMB6_5_______, KC_NO, KC_NO + ), + [6] = LAYOUT_ortho_4x10_wrapper( + ______________SYM_MEDIA_NAV1______________, + ______________SYM_MEDIA_NAV2______________, + ______________SYM_MEDIA_NAV3______________, + KC_NO, KC_NO, _____THUMB6_TRNS______, KC_NO, KC_NO + ), + [7] = LAYOUT_ortho_4x10_wrapper( + _________________NUM_SYM1_________________, + _________________NUM_SYM2_________________, + _________________NUM_SYM3b________________, + KC_NO, KC_NO, _____THUMB6_TRNS______, KC_NO, KC_NO + ), + [8] = LAYOUT_ortho_4x10_wrapper( + ________________FUNC_SYS1b________________, + ________________FUNC_SYS2_________________, + ________________FUNC_SYS3_________________, + KC_NO, KC_NO, _____THUMB6_TRNS______, KC_NO, KC_NO + ) +}; diff --git a/layouts/community/ortho_4x12/brandonschlack/keymap.c b/layouts/community/ortho_4x12/brandonschlack/keymap.c index 7361de1a039..04c83de9e9b 100644 --- a/layouts/community/ortho_4x12/brandonschlack/keymap.c +++ b/layouts/community/ortho_4x12/brandonschlack/keymap.c @@ -100,12 +100,13 @@ void keyboard_post_init_keymap(void) { } // Use Green LED for Caps Lock -void led_set_user(uint8_t usb_led) { - if (IS_LED_OFF(usb_led, USB_LED_CAPS_LOCK)) { +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { writePinLow(LED_GREEN); } else { writePinHigh(LED_GREEN); } + return false; } #endif diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index 475ccc5c3ab..cdf41fc5dc2 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c @@ -184,7 +184,7 @@ led_config_t g_led_config = { bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { uint8_t this_mod = get_mods(); - uint8_t this_led = host_keyboard_leds(); + led_t this_led = host_keyboard_led_state(); uint8_t this_osm = get_oneshot_mods(); # ifdef KEYBOARD_planck_ez # define THUMB_LED 41 @@ -208,7 +208,7 @@ bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { break; } - if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1 << USB_LED_CAPS_LOCK)) { + if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led.caps_lock) { if (!layer_state_cmp(layer_state, _ADJUST)) { RGB_MATRIX_INDICATOR_SET_COLOR(24, 0x00, 0xFF, 0x00); } diff --git a/layouts/community/split_3x5_2/scotto/keymap.c b/layouts/community/split_3x5_2/scotto/keymap.c new file mode 100644 index 00000000000..fcba0f483b2 --- /dev/null +++ b/layouts/community/split_3x5_2/scotto/keymap.c @@ -0,0 +1,78 @@ +/* +Copyright 2023 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 "scotto.h" + +#define LAYOUT_split_3x5_2_wrapper(...) LAYOUT_split_3x5_2(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_2_wrapper( + _________________KEYMAP1__________________, + _________________KEYMAP2__________________, + _________________KEYMAP3a_________________, + _______THUMB4_1_______ + ), + [1] = LAYOUT_split_3x5_2_wrapper( + ______________SYM_MEDIA_NAV1______________, + ______________SYM_MEDIA_NAV2______________, + ______________SYM_MEDIA_NAV3______________, + _____THUMB4_TRNS______ + ), + [2] = LAYOUT_split_3x5_2_wrapper( + _________________NUM_SYM1_________________, + _________________NUM_SYM2_________________, + _________________NUM_SYM3a________________, + _____THUMB4_TRNS______ + ), + [3] = LAYOUT_split_3x5_2_wrapper( + ________________FUNC_SYS1a________________, + ________________FUNC_SYS2_________________, + ________________FUNC_SYS3_________________, + _____THUMB4_TRNS______ + ), + [4] = LAYOUT_split_3x5_2_wrapper( + _________________KEYMAP1__________________, + _________________KEYMAP2__________________, + _________________KEYMAP3a_________________, + _______THUMB4_4_______ + ), + [5] = LAYOUT_split_3x5_2_wrapper( + _________________KEYMAP1__________________, + _________________KEYMAP2__________________, + _________________KEYMAP3b_________________, + _______THUMB4_5_______ + ), + [6] = LAYOUT_split_3x5_2_wrapper( + ______________SYM_MEDIA_NAV1______________, + ______________SYM_MEDIA_NAV2______________, + ______________SYM_MEDIA_NAV3______________, + _____THUMB4_TRNS______ + ), + [7] = LAYOUT_split_3x5_2_wrapper( + _________________NUM_SYM1_________________, + _________________NUM_SYM2_________________, + _________________NUM_SYM3b________________, + _____THUMB4_TRNS______ + ), + [8] = LAYOUT_split_3x5_2_wrapper( + ________________FUNC_SYS1b________________, + ________________FUNC_SYS2_________________, + ________________FUNC_SYS3_________________, + _____THUMB4_TRNS______ + ) +}; diff --git a/layouts/community/split_3x5_3/scotto/keymap.c b/layouts/community/split_3x5_3/scotto/keymap.c new file mode 100644 index 00000000000..b0d4d9a038f --- /dev/null +++ b/layouts/community/split_3x5_3/scotto/keymap.c @@ -0,0 +1,75 @@ +/* +Copyright 2023 Joe Scotto +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more 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 "scotto.h" + +#define LAYOUT_split_3x5_3_wrapper(...) LAYOUT_split_3x5_3(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_3_wrapper( + _________________KEYMAP1__________________, + _________________KEYMAP2__________________, + _________________KEYMAP3a_________________, + _______THUMB6_1_______ + ), + [1] = LAYOUT_split_3x5_3_wrapper( + ______________SYM_MEDIA_NAV1______________, + ______________SYM_MEDIA_NAV2______________, + ______________SYM_MEDIA_NAV3______________, + _____THUMB6_TRNS______ + ), + [2] = LAYOUT_split_3x5_3_wrapper( + _________________NUM_SYM1_________________, + _________________NUM_SYM2_________________, + _________________NUM_SYM3a________________, + _____THUMB6_TRNS______ + ), + [3] = LAYOUT_split_3x5_3_wrapper( + ________________FUNC_SYS1a________________, + ________________FUNC_SYS2_________________, + ________________FUNC_SYS3_________________, + _____THUMB6_TRNS______ + ), + [4] = LAYOUT_split_3x5_3_wrapper( + _________________KEYMAP1__________________, + _________________KEYMAP2__________________, + _________________KEYMAP3a_________________, + _______THUMB6_4_______ + ), + [5] = LAYOUT_split_3x5_3_wrapper( + _________________KEYMAP1__________________, + _________________KEYMAP2__________________, + _________________KEYMAP3b_________________, + _______THUMB6_5_______ + ), + [6] = LAYOUT_split_3x5_3_wrapper( + ______________SYM_MEDIA_NAV1______________, + ______________SYM_MEDIA_NAV2______________, + ______________SYM_MEDIA_NAV3______________, + _____THUMB6_TRNS______ + ), + [7] = LAYOUT_split_3x5_3_wrapper( + _________________NUM_SYM1_________________, + _________________NUM_SYM2_________________, + _________________NUM_SYM3b________________, + _____THUMB6_TRNS______ + ), + [8] = LAYOUT_split_3x5_3_wrapper( + ________________FUNC_SYS1b________________, + ________________FUNC_SYS2_________________, + ________________FUNC_SYS3_________________, + _____THUMB6_TRNS______ + ) +}; diff --git a/layouts/community/tkl_ansi/brandonschlack/keymap.c b/layouts/community/tkl_ansi/brandonschlack/keymap.c index 8e5743136ca..9b425c477af 100644 --- a/layouts/community/tkl_ansi/brandonschlack/keymap.c +++ b/layouts/community/tkl_ansi/brandonschlack/keymap.c @@ -96,7 +96,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/layouts/default/60_abnt2/default_60_abnt2/keymap.c b/layouts/default/60_abnt2/default_60_abnt2/keymap.c index a5a8f61cb60..712931016ae 100644 --- a/layouts/default/60_abnt2/default_60_abnt2/keymap.c +++ b/layouts/default/60_abnt2/default_60_abnt2/keymap.c @@ -30,11 +30,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ * │ ' │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Delete│ - * └───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴───────┘ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ * │ Tab │ Q │ W │ E │Rst│ T │Ins│Hom│ ↑ │End│PgU│ ´ │ [ │ │ - * ├─────┴┬──┴┬──┴┬──└───┘┬──└───┴┬──┴┬──┴┬──┴┬──┴┐──┴┬──┴┐ Ent│ + * ├─────┴┬──┴┬──┴┬──┴───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ * │ Caps │ A │ S │ D │ F │ G │ H │ ← │ ↓ │ → │PgD│ ~ │ ] │ │ - * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─└───┴───┴───┴───┘─┬─┴─┬─┴────┤ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ; │ / │ Shift│ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤ * │Ctrl│GUI │Alt │ │ Alt│ GUI│ MO1│Ctrl│ diff --git a/layouts/default/60_jis/default_60_jis/keymap.c b/layouts/default/60_jis/default_60_jis/keymap.c new file mode 100644 index 00000000000..a35e3f0f795 --- /dev/null +++ b/layouts/default/60_jis/default_60_jis/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ZHK│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │Bsp│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ + * │ Eisu │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ] │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ Shft │ + * ├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┴─┬─┴──┬┴───┼───┴┬──┴─┬────┤ + * │Ctrl│GUI │Alt │Mhen│ Space │Henk│Kana│Alt │GUI │Ctrl│ + * └────┴────┴────┴────┴──────────────┴────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_jis( + 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_INT3, 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_INT1, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_RGUI, KC_RCTL + ) +}; diff --git a/layouts/default/60_jis/info.json b/layouts/default/60_jis/info.json new file mode 100644 index 00000000000..56972148bda --- /dev/null +++ b/layouts/default/60_jis/info.json @@ -0,0 +1,80 @@ +{ + "keyboard_name": "60% JIS layout", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_60_jis": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3}, + {"x": 13.25, "y": 3, "w": 1.75}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 1.25}, + {"x": 5, "y": 4, "w": 3.75}, + {"x": 8.75, "y": 4, "w": 1.25}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y": 4, "w": 1.25}, + {"x": 12.5, "y": 4, "w": 1.25}, + {"x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/layouts/default/60_jis/layout.json b/layouts/default/60_jis/layout.json new file mode 100644 index 00000000000..a93cc2bbfd2 --- /dev/null +++ b/layouts/default/60_jis/layout.json @@ -0,0 +1,5 @@ +[{a:7},"","","","","","","","","","","","","","",""], +[{w:1.5},"","","","","","","","","","","","","",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},""], +[{w:1.75},"","","","","","","","","","","","",""], +[{w:2.25},"","","","","","","","","","","","",{w:1.75},""], +[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:3.75},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},""] diff --git a/layouts/default/60_jis/readme.md b/layouts/default/60_jis/readme.md new file mode 100644 index 00000000000..236abdfa074 --- /dev/null +++ b/layouts/default/60_jis/readme.md @@ -0,0 +1,3 @@ +# 60_jis + + LAYOUT_60_jis diff --git a/layouts/default/64_ansi/default_64_ansi/keymap.c b/layouts/default/64_ansi/default_64_ansi/keymap.c index fdbb44117fb..ede754b2ca7 100644 --- a/layouts/default/64_ansi/default_64_ansi/keymap.c +++ b/layouts/default/64_ansi/default_64_ansi/keymap.c @@ -4,6 +4,19 @@ #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│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ 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 │ , │ . │ / │Sft│ ↑ │mo1│ + * ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + * │Ctrl│GUI │Alt │ │Alt│Ctl│ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + */ [0] = LAYOUT_64_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, @@ -11,6 +24,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_RGHT ), + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Delete│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │PSn│SLk│Pause│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │PgU│ │ + * ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + * │ │ │ │ │ │mo2│Hom│PgD│End│ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + */ [1] = LAYOUT_64_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_PSCR, KC_SCRL, KC_PAUS, @@ -18,9 +44,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, MO(2), KC_HOME, KC_PGDN, KC_END ), + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │QBt│ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + */ [2] = LAYOUT_64_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/layouts/default/64_iso/default_64_iso/keymap.c b/layouts/default/64_iso/default_64_iso/keymap.c index 1dfcdd3eb70..a28e652024b 100644 --- a/layouts/default/64_iso/default_64_iso/keymap.c +++ b/layouts/default/64_iso/default_64_iso/keymap.c @@ -4,6 +4,19 @@ #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│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ + * ├───┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ + * │Sft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Sft│ ↑ │mo1│ + * ├───┴┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + * │Ctrl│GUI │Alt │ │Alt│Ctl│ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + */ [0] = LAYOUT_64_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, @@ -11,6 +24,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_RGHT ), + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Delete│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │PSn│SLk│ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │PgU│ │ + * ├───┴┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + * │ │ │ │ │ │mo2│Hom│PgD│End│ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + */ [1] = LAYOUT_64_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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, @@ -18,9 +44,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, MO(2), KC_HOME, KC_PGDN, KC_END ), + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │QBt│ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ + */ [2] = LAYOUT_64_iso( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/layouts/default/fullsize_jis/default_fullsize_jis/keymap.c b/layouts/default/fullsize_jis/default_fullsize_jis/keymap.c new file mode 100644 index 00000000000..068bd5024bf --- /dev/null +++ b/layouts/default/fullsize_jis/default_fullsize_jis/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ZHK│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │Bsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Eisu │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │ │ 4 │ 5 │ 6 │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ Shft │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┼───┴┬──┴─┬─┴─┬─┴─┬─┴─┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │Mhen│ Space │Henk│Kana│Alt│GUI│App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────┴────────────┴────┴────┴───┴───┴───┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [0] = LAYOUT_fullsize_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, + + 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_INT3, 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_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_NUHS, 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_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ) +}; diff --git a/layouts/default/fullsize_jis/info.json b/layouts/default/fullsize_jis/info.json new file mode 100644 index 00000000000..8acd5f2fe3a --- /dev/null +++ b/layouts/default/fullsize_jis/info.json @@ -0,0 +1,125 @@ +{ + "keyboard_name": "Fullsize JIS layout", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_fullsize_jis": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6.5, "y": 0}, + {"x": 7.5, "y": 0}, + {"x": 8.5, "y": 0}, + {"x": 9.5, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15.25, "y": 0}, + {"x": 16.25, "y": 0}, + {"x": 17.25, "y": 0}, + + {"x": 0, "y": 1.25}, + {"x": 1, "y": 1.25}, + {"x": 2, "y": 1.25}, + {"x": 3, "y": 1.25}, + {"x": 4, "y": 1.25}, + {"x": 5, "y": 1.25}, + {"x": 6, "y": 1.25}, + {"x": 7, "y": 1.25}, + {"x": 8, "y": 1.25}, + {"x": 9, "y": 1.25}, + {"x": 10, "y": 1.25}, + {"x": 11, "y": 1.25}, + {"x": 12, "y": 1.25}, + {"x": 13, "y": 1.25}, + {"x": 14, "y": 1.25}, + {"x": 15.25, "y": 1.25}, + {"x": 16.25, "y": 1.25}, + {"x": 17.25, "y": 1.25}, + {"x": 18.5, "y": 1.25}, + {"x": 19.5, "y": 1.25}, + {"x": 20.5, "y": 1.25}, + {"x": 21.5, "y": 1.25}, + {"x": 0, "y": 2.25, "w": 1.5}, + + {"x": 1.5, "y": 2.25}, + {"x": 2.5, "y": 2.25}, + {"x": 3.5, "y": 2.25}, + {"x": 4.5, "y": 2.25}, + {"x": 5.5, "y": 2.25}, + {"x": 6.5, "y": 2.25}, + {"x": 7.5, "y": 2.25}, + {"x": 8.5, "y": 2.25}, + {"x": 9.5, "y": 2.25}, + {"x": 10.5, "y": 2.25}, + {"x": 11.5, "y": 2.25}, + {"x": 12.5, "y": 2.25}, + {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"x": 15.25, "y": 2.25}, + {"x": 16.25, "y": 2.25}, + {"x": 17.25, "y": 2.25}, + {"x": 18.5, "y": 2.25}, + {"x": 19.5, "y": 2.25}, + {"x": 20.5, "y": 2.25}, + {"x": 21.5, "y": 2.25, "h": 2}, + + {"x": 0, "y": 3.25, "w": 1.75}, + {"x": 1.75, "y": 3.25}, + {"x": 2.75, "y": 3.25}, + {"x": 3.75, "y": 3.25}, + {"x": 4.75, "y": 3.25}, + {"x": 5.75, "y": 3.25}, + {"x": 6.75, "y": 3.25}, + {"x": 7.75, "y": 3.25}, + {"x": 8.75, "y": 3.25}, + {"x": 9.75, "y": 3.25}, + {"x": 10.75, "y": 3.25}, + {"x": 11.75, "y": 3.25}, + {"x": 12.75, "y": 3.25}, + {"x": 18.5, "y": 3.25}, + {"x": 19.5, "y": 3.25}, + {"x": 20.5, "y": 3.25}, + + {"x": 0, "y": 4.25, "w": 2.25}, + {"x": 2.25, "y": 4.25}, + {"x": 3.25, "y": 4.25}, + {"x": 4.25, "y": 4.25}, + {"x": 5.25, "y": 4.25}, + {"x": 6.25, "y": 4.25}, + {"x": 7.25, "y": 4.25}, + {"x": 8.25, "y": 4.25}, + {"x": 9.25, "y": 4.25}, + {"x": 10.25, "y": 4.25}, + {"x": 11.25, "y": 4.25}, + {"x": 12.25, "y": 4.25}, + {"x": 13.25, "y": 4.25, "w": 1.75}, + {"x": 16.25, "y": 4.25}, + {"x": 18.5, "y": 4.25}, + {"x": 19.5, "y": 4.25}, + {"x": 20.5, "y": 4.25}, + {"x": 21.5, "y": 4.25, "h": 2}, + + {"x": 0, "y": 5.25, "w": 1.25}, + {"x": 1.25, "y": 5.25, "w": 1.25}, + {"x": 2.5, "y": 5.25, "w": 1.25}, + {"x": 3.75, "y": 5.25, "w": 1.25}, + {"x": 5, "y": 5.25, "w": 3.25}, + {"x": 8.25, "y": 5.25, "w": 1.25}, + {"x": 9.5, "y": 5.25, "w": 1.25}, + {"x": 10.75, "y": 5.25}, + {"x": 11.75, "y": 5.25}, + {"x": 12.75, "y": 5.25}, + {"x": 13.75, "y": 5.25, "w": 1.25}, + {"x": 15.25, "y": 5.25}, + {"x": 16.25, "y": 5.25}, + {"x": 17.25, "y": 5.25}, + {"x": 18.5, "y": 5.25, "w": 2}, + {"x": 20.5, "y": 5.25} + ] + } + } +} diff --git a/layouts/default/fullsize_jis/layout.json b/layouts/default/fullsize_jis/layout.json new file mode 100644 index 00000000000..e8caad88788 --- /dev/null +++ b/layouts/default/fullsize_jis/layout.json @@ -0,0 +1,6 @@ +[{a:7},"",{x:1},"","","","",{x:0.5},"","","","",{x:0.5},"","","","",{x:0.25},"","",""], +[{y:0.25},"","","","","","","","","","","","","","","",{x:0.25},"","","",{x:0.25},"","","",""], +[{w:1.5},"","","","","","","","","","","","","",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"",{x:0.25},"","","",{x:0.25},"","","",{h:2},""], +[{w:1.75},"","","","","","","","","","","","","",{x:4.75},"","",""], +[{w:2.25},"","","","","","","","","","","","",{w:1.75},"",{x:1.25},"",{x:1.25},"","","",{h:2},""], +[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:3.25},"",{w:1.25},"",{w:1.25},"","","","",{w:1.25},"",{x:0.25},"","","",{x:0.25,w:2},"",""] diff --git a/layouts/default/fullsize_jis/readme.md b/layouts/default/fullsize_jis/readme.md new file mode 100644 index 00000000000..93853251572 --- /dev/null +++ b/layouts/default/fullsize_jis/readme.md @@ -0,0 +1,3 @@ +# fullsize_jis + + LAYOUT_fullsize_jis diff --git a/layouts/default/readme.md b/layouts/default/readme.md index a728d93d1a2..439613911ac 100644 --- a/layouts/default/readme.md +++ b/layouts/default/readme.md @@ -154,6 +154,21 @@ LAYOUT_60_iso_tsangan └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ ``` +``` +LAYOUT_60_jis +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┴─┬─┴──┬┴───┼───┴┬──┴─┬────┤ +│ │ │ │ │ │ │ │ │ │ │ +└────┴────┴────┴────┴──────────────┴────┴────┴────┴────┴────┘ +``` + ``` LAYOUT_60_tsangan_hhkb ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ @@ -623,6 +638,24 @@ LAYOUT_tkl_iso_tsangan_split_bs_rshift └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘ ``` +``` +LAYOUT_tkl_jis +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ └───┴───┴───┘ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┴─┬─┴──┬┴───┼───┴┬──┴─┬────┤ ┌───┼───┼───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +└────┴────┴────┴────┴──────────────┴────┴────┴────┴────┴────┘ └───┴───┴───┘ +``` + ``` LAYOUT_tkl_f13_ansi ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐ @@ -767,6 +800,25 @@ LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┘ ``` +``` +LAYOUT_tkl_f13_jis +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │└───┴───┴───┘ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┴─┬─┴──┬┴───┼───┴┬──┴─┬────┤┌───┼───┼───┐ +│ │ │ │ │ │ │ │ │ │ ││ │ │ │ +└────┴────┴────┴────┴──────────────┴────┴────┴────┴────┴────┘└───┴───┴───┘ + +``` + ``` LAYOUT_tkl_nofrow_ansi ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ @@ -872,6 +924,23 @@ LAYOUT_fullsize_iso └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ ``` +``` +LAYOUT_fullsize_jis +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ └───┴───┴───┘ ├───┼───┼───┤ │ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┐ ├───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┼───┴┬──┴─┬─┴─┬─┴─┬─┴─┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +└────┴────┴────┴────┴────────────┴────┴────┴───┴───┴───┴────┘ └───┴───┴───┘ └───────┴───┴───┘ +``` ### Split Layouts diff --git a/layouts/default/tkl_f13_jis/default_tkl_f13_jis/keymaps.c b/layouts/default/tkl_f13_jis/default_tkl_f13_jis/keymaps.c new file mode 100644 index 00000000000..ec5c35cb542 --- /dev/null +++ b/layouts/default/tkl_f13_jis/default_tkl_f13_jis/keymaps.c @@ -0,0 +1,32 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ + * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ + * │ZHK│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │Bsp││Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ ││Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│└───┴───┴───┘ + * │ Eisu │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┐ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ Shft │ │ ↑ │ + * ├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┴─┬─┴──┬┴───┼───┴┬──┴─┬────┤┌───┼───┼───┐ + * │Ctrl│GUI │Alt │Mhen│ Space │Henk│Kana│Alt │GUI │Ctrl││ ← │ ↓ │ → │ + * └────┴────┴────┴────┴──────────────┴────┴────┴────┴────┴────┘└───┴───┴───┘ + */ + [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, + + 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_INT3, 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_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, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/layouts/default/tkl_f13_jis/info.json b/layouts/default/tkl_f13_jis/info.json new file mode 100644 index 00000000000..97f5bd3880e --- /dev/null +++ b/layouts/default/tkl_f13_jis/info.json @@ -0,0 +1,108 @@ +{ + "keyboard_name": "Tenkeyless JIS layout with F13 key", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_tkl_f13_jis": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1.25, "y": 0}, + {"x": 2.25, "y": 0}, + {"x": 3.25, "y": 0}, + {"x": 4.25, "y": 0}, + {"x": 5.5, "y": 0}, + {"x": 6.5, "y": 0}, + {"x": 7.5, "y": 0}, + {"x": 8.5, "y": 0}, + {"x": 9.75, "y": 0}, + {"x": 10.75, "y": 0}, + {"x": 11.75, "y": 0}, + {"x": 12.75, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15.25, "y": 0}, + {"x": 16.25, "y": 0}, + {"x": 17.25, "y": 0}, + + {"x": 0, "y": 1.25}, + {"x": 1, "y": 1.25}, + {"x": 2, "y": 1.25}, + {"x": 3, "y": 1.25}, + {"x": 4, "y": 1.25}, + {"x": 5, "y": 1.25}, + {"x": 6, "y": 1.25}, + {"x": 7, "y": 1.25}, + {"x": 8, "y": 1.25}, + {"x": 9, "y": 1.25}, + {"x": 10, "y": 1.25}, + {"x": 11, "y": 1.25}, + {"x": 12, "y": 1.25}, + {"x": 13, "y": 1.25}, + {"x": 14, "y": 1.25}, + {"x": 15.25, "y": 1.25}, + {"x": 16.25, "y": 1.25}, + {"x": 17.25, "y": 1.25}, + {"x": 0, "y": 2.25, "w": 1.5}, + + {"x": 1.5, "y": 2.25}, + {"x": 2.5, "y": 2.25}, + {"x": 3.5, "y": 2.25}, + {"x": 4.5, "y": 2.25}, + {"x": 5.5, "y": 2.25}, + {"x": 6.5, "y": 2.25}, + {"x": 7.5, "y": 2.25}, + {"x": 8.5, "y": 2.25}, + {"x": 9.5, "y": 2.25}, + {"x": 10.5, "y": 2.25}, + {"x": 11.5, "y": 2.25}, + {"x": 12.5, "y": 2.25}, + {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"x": 15.25, "y": 2.25}, + {"x": 16.25, "y": 2.25}, + {"x": 17.25, "y": 2.25}, + + {"x": 0, "y": 3.25, "w": 1.75}, + {"x": 1.75, "y": 3.25}, + {"x": 2.75, "y": 3.25}, + {"x": 3.75, "y": 3.25}, + {"x": 4.75, "y": 3.25}, + {"x": 5.75, "y": 3.25}, + {"x": 6.75, "y": 3.25}, + {"x": 7.75, "y": 3.25}, + {"x": 8.75, "y": 3.25}, + {"x": 9.75, "y": 3.25}, + {"x": 10.75, "y": 3.25}, + {"x": 11.75, "y": 3.25}, + {"x": 12.75, "y": 3.25}, + + {"x": 0, "y": 4.25, "w": 2.25}, + {"x": 2.25, "y": 4.25}, + {"x": 3.25, "y": 4.25}, + {"x": 4.25, "y": 4.25}, + {"x": 5.25, "y": 4.25}, + {"x": 6.25, "y": 4.25}, + {"x": 7.25, "y": 4.25}, + {"x": 8.25, "y": 4.25}, + {"x": 9.25, "y": 4.25}, + {"x": 10.25, "y": 4.25}, + {"x": 11.25, "y": 4.25}, + {"x": 12.25, "y": 4.25}, + {"x": 13.25, "y": 4.25, "w": 1.75}, + {"x": 16.25, "y": 4.25}, + + {"x": 0, "y": 5.25, "w": 1.25}, + {"x": 1.25, "y": 5.25, "w": 1.25}, + {"x": 2.5, "y": 5.25, "w": 1.25}, + {"x": 3.75, "y": 5.25, "w": 1.25}, + {"x": 5, "y": 5.25, "w": 3.75}, + {"x": 8.75, "y": 5.25, "w": 1.25}, + {"x": 10, "y": 5.25, "w": 1.25}, + {"x": 11.25, "y": 5.25, "w": 1.25}, + {"x": 12.5, "y": 5.25, "w": 1.25}, + {"x": 13.75, "y": 5.25, "w": 1.25}, + {"x": 15.25, "y": 5.25}, + {"x": 16.25, "y": 5.25}, + {"x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/layouts/default/tkl_f13_jis/layout.json b/layouts/default/tkl_f13_jis/layout.json new file mode 100644 index 00000000000..8b20546b74a --- /dev/null +++ b/layouts/default/tkl_f13_jis/layout.json @@ -0,0 +1,6 @@ +[{a:7},"",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"","","","",{x:0.25},"",{x:0.25},"","",""], +[{y:0.25},"","","","","","","","","","","","","","","",{x:0.25},"","",""], +[{w:1.5},"","","","","","","","","","","","","",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"",{x:0.25},"","",""], +[{w:1.75},"","","","","","","","","","","","",""], +[{w:2.25},"","","","","","","","","","","","",{w:1.75},"",{x:1.25},""], +[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:3.75},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{x:0.25},"","",""] diff --git a/layouts/default/tkl_f13_jis/readme.md b/layouts/default/tkl_f13_jis/readme.md new file mode 100644 index 00000000000..cc49ffd8301 --- /dev/null +++ b/layouts/default/tkl_f13_jis/readme.md @@ -0,0 +1,3 @@ +# tkl_f13_jis + + LAYOUT_tkl_f13_jis diff --git a/layouts/default/tkl_jis/default_tkl_jis/keymap.c b/layouts/default/tkl_jis/default_tkl_jis/keymap.c new file mode 100644 index 00000000000..c60165afcb2 --- /dev/null +++ b/layouts/default/tkl_jis/default_tkl_jis/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ZHK│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │Bsp│ │Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │ │Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ + * │ Eisu │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┐ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ Shft │ │ ↑ │ + * ├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┴─┬─┴──┬┴───┼───┴┬──┴─┬────┤ ┌───┼───┼───┐ + * │Ctrl│GUI │Alt │Mhen│ Space │Henk│Kana│Alt │GUI │Ctrl│ │ ← │ ↓ │ → │ + * └────┴────┴────┴────┴──────────────┴────┴────┴────┴────┴────┘ └───┴───┴───┘ + */ + [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, + + 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_INT3, 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_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, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/layouts/default/tkl_jis/info.json b/layouts/default/tkl_jis/info.json new file mode 100644 index 00000000000..513852193a5 --- /dev/null +++ b/layouts/default/tkl_jis/info.json @@ -0,0 +1,107 @@ +{ + "keyboard_name": "Tenkeyless JIS layout", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_tkl_jis": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6.5, "y": 0}, + {"x": 7.5, "y": 0}, + {"x": 8.5, "y": 0}, + {"x": 9.5, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15.25, "y": 0}, + {"x": 16.25, "y": 0}, + {"x": 17.25, "y": 0}, + + {"x": 0, "y": 1.25}, + {"x": 1, "y": 1.25}, + {"x": 2, "y": 1.25}, + {"x": 3, "y": 1.25}, + {"x": 4, "y": 1.25}, + {"x": 5, "y": 1.25}, + {"x": 6, "y": 1.25}, + {"x": 7, "y": 1.25}, + {"x": 8, "y": 1.25}, + {"x": 9, "y": 1.25}, + {"x": 10, "y": 1.25}, + {"x": 11, "y": 1.25}, + {"x": 12, "y": 1.25}, + {"x": 13, "y": 1.25}, + {"x": 14, "y": 1.25}, + {"x": 15.25, "y": 1.25}, + {"x": 16.25, "y": 1.25}, + {"x": 17.25, "y": 1.25}, + {"x": 0, "y": 2.25, "w": 1.5}, + + {"x": 1.5, "y": 2.25}, + {"x": 2.5, "y": 2.25}, + {"x": 3.5, "y": 2.25}, + {"x": 4.5, "y": 2.25}, + {"x": 5.5, "y": 2.25}, + {"x": 6.5, "y": 2.25}, + {"x": 7.5, "y": 2.25}, + {"x": 8.5, "y": 2.25}, + {"x": 9.5, "y": 2.25}, + {"x": 10.5, "y": 2.25}, + {"x": 11.5, "y": 2.25}, + {"x": 12.5, "y": 2.25}, + {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"x": 15.25, "y": 2.25}, + {"x": 16.25, "y": 2.25}, + {"x": 17.25, "y": 2.25}, + + {"x": 0, "y": 3.25, "w": 1.75}, + {"x": 1.75, "y": 3.25}, + {"x": 2.75, "y": 3.25}, + {"x": 3.75, "y": 3.25}, + {"x": 4.75, "y": 3.25}, + {"x": 5.75, "y": 3.25}, + {"x": 6.75, "y": 3.25}, + {"x": 7.75, "y": 3.25}, + {"x": 8.75, "y": 3.25}, + {"x": 9.75, "y": 3.25}, + {"x": 10.75, "y": 3.25}, + {"x": 11.75, "y": 3.25}, + {"x": 12.75, "y": 3.25}, + + {"x": 0, "y": 4.25, "w": 2.25}, + {"x": 2.25, "y": 4.25}, + {"x": 3.25, "y": 4.25}, + {"x": 4.25, "y": 4.25}, + {"x": 5.25, "y": 4.25}, + {"x": 6.25, "y": 4.25}, + {"x": 7.25, "y": 4.25}, + {"x": 8.25, "y": 4.25}, + {"x": 9.25, "y": 4.25}, + {"x": 10.25, "y": 4.25}, + {"x": 11.25, "y": 4.25}, + {"x": 12.25, "y": 4.25}, + {"x": 13.25, "y": 4.25, "w": 1.75}, + {"x": 16.25, "y": 4.25}, + + {"x": 0, "y": 5.25, "w": 1.25}, + {"x": 1.25, "y": 5.25, "w": 1.25}, + {"x": 2.5, "y": 5.25, "w": 1.25}, + {"x": 3.75, "y": 5.25, "w": 1.25}, + {"x": 5, "y": 5.25, "w": 3.75}, + {"x": 8.75, "y": 5.25, "w": 1.25}, + {"x": 10, "y": 5.25, "w": 1.25}, + {"x": 11.25, "y": 5.25, "w": 1.25}, + {"x": 12.5, "y": 5.25, "w": 1.25}, + {"x": 13.75, "y": 5.25, "w": 1.25}, + {"x": 15.25, "y": 5.25}, + {"x": 16.25, "y": 5.25}, + {"x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/layouts/default/tkl_jis/layout.json b/layouts/default/tkl_jis/layout.json new file mode 100644 index 00000000000..c7a6833b75d --- /dev/null +++ b/layouts/default/tkl_jis/layout.json @@ -0,0 +1,6 @@ +[{a:7},"",{x:1},"","","","",{x:0.5},"","","","",{x:0.5},"","","","",{x:0.25},"","",""], +[{y:0.25},"","","","","","","","","","","","","","","",{x:0.25},"","",""], +[{w:1.5},"","","","","","","","","","","","","",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"",{x:0.25},"","",""], +[{w:1.75},"","","","","","","","","","","","",""], +[{w:2.25},"","","","","","","","","","","","",{w:1.75},"",{x:1.25},""], +[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:3.75},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{x:0.25},"","",""] diff --git a/layouts/default/tkl_jis/readme.md b/layouts/default/tkl_jis/readme.md new file mode 100644 index 00000000000..59505a19664 --- /dev/null +++ b/layouts/default/tkl_jis/readme.md @@ -0,0 +1,5 @@ +# tkl_jis + + LAYOUT_tkl_jis + +A standard JIS TKL layout. diff --git a/lib/chibios-contrib b/lib/chibios-contrib index a224be155ae..5d2d95c520a 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit a224be155ae18d38deccf33a6c1d259b9a5ad8d3 +Subproject commit 5d2d95c520a13d2c3e42343f51b18822d63781d6 diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index 52c1cae4c2d..ddd946a32bc 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -53,20 +53,22 @@ def mass_compile(cli): keyboard_name = target[0] keymap_name = target[1] keyboard_safe = keyboard_name.replace('/', '_') + build_log = f"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" + failed_log = f"{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" # yapf: disable f.write( f"""\ all: {keyboard_safe}_{keymap_name}_binary {keyboard_safe}_{keymap_name}_binary: - @rm -f "{QMK_FIRMWARE}/.build/failed.log.{keyboard_safe}.{keymap_name}" || true - @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}" + @rm -f "{build_log}" || true + @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{build_log}" +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{keymap_name}" COLOR=true SILENT=false {' '.join(cli.args.env)} \\ - >>"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" 2>&1 \\ - || cp "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" "{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" - @{{ grep '\[ERRORS\]' "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ - || {{ grep '\[WARNINGS\]' "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" >/dev/null 2>&1 && printf "Build %-64s \e[1;33m[WARNINGS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ + >>"{build_log}" 2>&1 \\ + || cp "{build_log}" "{failed_log}" + @{{ grep '\[ERRORS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ + || {{ grep '\[WARNINGS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;33m[WARNINGS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ || printf "Build %-64s \e[1;32m[OK]\e[0m\\n" "{keyboard_name}:{keymap_name}" - @rm -f "{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" || true + @rm -f "{build_log}" || true """# noqa ) # yapf: enable @@ -77,7 +79,6 @@ all: {keyboard_safe}_{keymap_name}_binary f"""\ @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}" || true @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true """# noqa ) diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index b1eac139576..ab8e323edf1 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -9,7 +9,7 @@ from pathlib import Path from milc import cli import jsonschema -from qmk.constants import KEYBOARD_OUTPUT_PREFIX +from qmk.constants import INTERMEDIATE_OUTPUT_PREFIX from qmk.json_schema import json_load, validate @@ -134,16 +134,13 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, clean=Fa keyboard_filesafe = user_keymap['keyboard'].replace('/', '_') target = f'{keyboard_filesafe}_{user_keymap["keymap"]}' - keyboard_output = Path(f'{KEYBOARD_OUTPUT_PREFIX}{keyboard_filesafe}') - keymap_output = Path(f'{keyboard_output}_{user_keymap["keymap"]}') - keymap_dir = keymap_output / 'src' + intermediate_output = Path(f'{INTERMEDIATE_OUTPUT_PREFIX}{keyboard_filesafe}_{user_keymap["keymap"]}') + keymap_dir = intermediate_output / 'src' keymap_json = keymap_dir / 'keymap.json' if clean: - if keyboard_output.exists(): - shutil.rmtree(keyboard_output) - if keymap_output.exists(): - shutil.rmtree(keymap_output) + if intermediate_output.exists(): + shutil.rmtree(intermediate_output) # begin with making the deepest folder in the tree keymap_dir.mkdir(exist_ok=True, parents=True) @@ -183,13 +180,12 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, clean=Fa f'KEYMAP={user_keymap["keymap"]}', f'KEYBOARD_FILESAFE={keyboard_filesafe}', f'TARGET={target}', - f'KEYBOARD_OUTPUT={keyboard_output}', - f'KEYMAP_OUTPUT={keymap_output}', - f'MAIN_KEYMAP_PATH_1={keymap_output}', - f'MAIN_KEYMAP_PATH_2={keymap_output}', - f'MAIN_KEYMAP_PATH_3={keymap_output}', - f'MAIN_KEYMAP_PATH_4={keymap_output}', - f'MAIN_KEYMAP_PATH_5={keymap_output}', + f'INTERMEDIATE_OUTPUT={intermediate_output}', + f'MAIN_KEYMAP_PATH_1={intermediate_output}', + f'MAIN_KEYMAP_PATH_2={intermediate_output}', + f'MAIN_KEYMAP_PATH_3={intermediate_output}', + f'MAIN_KEYMAP_PATH_4={intermediate_output}', + f'MAIN_KEYMAP_PATH_5={intermediate_output}', f'KEYMAP_JSON={keymap_json}', f'KEYMAP_PATH={keymap_dir}', f'VERBOSE={verbose}', diff --git a/lib/python/qmk/constants.py b/lib/python/qmk/constants.py index 6a6e4221a33..1dcce612df2 100644 --- a/lib/python/qmk/constants.py +++ b/lib/python/qmk/constants.py @@ -14,7 +14,7 @@ QMK_FIRMWARE_UPSTREAM = 'qmk/qmk_firmware' MAX_KEYBOARD_SUBFOLDERS = 5 # Supported processor types -CHIBIOS_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'MK64FX512', 'MK66FX1M0', 'RP2040', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F405', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G431', 'STM32G474', 'STM32L412', 'STM32L422', 'STM32L432', 'STM32L433', 'STM32L442', 'STM32L443', 'GD32VF103', 'WB32F3G71', 'WB32FQ95' +CHIBIOS_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'MK64FX512', 'MK66FX1M0', 'RP2040', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F405', 'STM32F407', 'STM32F411', 'STM32F446', 'STM32G431', 'STM32G474', 'STM32H723', 'STM32H733', 'STM32L412', 'STM32L422', 'STM32L432', 'STM32L433', 'STM32L442', 'STM32L443', 'GD32VF103', 'WB32F3G71', 'WB32FQ95' LUFA_PROCESSORS = 'at90usb162', 'atmega16u2', 'atmega32u2', 'atmega16u4', 'atmega32u4', 'at90usb646', 'at90usb647', 'at90usb1286', 'at90usb1287', None VUSB_PROCESSORS = 'atmega32a', 'atmega328p', 'atmega328', 'attiny85' @@ -36,6 +36,8 @@ MCU2BOOTLOADER = { "STM32F446": "stm32-dfu", "STM32G431": "stm32-dfu", "STM32G474": "stm32-dfu", + "STM32H723": "stm32-dfu", + "STM32H733": "stm32-dfu", "STM32L412": "stm32-dfu", "STM32L422": "stm32-dfu", "STM32L432": "stm32-dfu", @@ -82,6 +84,7 @@ BOOTLOADER_VIDS_PIDS = { }, 'apm32-dfu': {("314b", "0106")}, 'gd32v-dfu': {("28e9", "0189")}, + 'wb32-dfu': {("342d", "dfa0")}, 'bootloadhid': {("16c0", "05df")}, 'usbasploader': {("16c0", "05dc")}, 'usbtinyisp': {("1782", "0c9f")}, @@ -128,7 +131,7 @@ ROW_LETTERS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnop' # Constants that should match their counterparts in make BUILD_DIR = environ.get('BUILD_DIR', '.build') -KEYBOARD_OUTPUT_PREFIX = f'{BUILD_DIR}/obj_' +INTERMEDIATE_OUTPUT_PREFIX = f'{BUILD_DIR}/obj_' # Headers for generated files GPL2_HEADER_C_LIKE = f'''\ diff --git a/lib/python/qmk/flashers.py b/lib/python/qmk/flashers.py index d30c4c38851..77452b92fa0 100644 --- a/lib/python/qmk/flashers.py +++ b/lib/python/qmk/flashers.py @@ -96,7 +96,7 @@ def _find_bootloader(): details = 'halfkay' else: details = 'qmk-hid' - elif bl == 'stm32-dfu' or bl == 'apm32-dfu' or bl == 'gd32v-dfu' or bl == 'kiibohd' or bl == 'sn32-dfu': + elif bl in {'apm32-dfu', 'gd32v-dfu', 'kiibohd', 'stm32-dfu', 'sn32-dfu'}: details = (vid, pid) else: details = None @@ -181,9 +181,18 @@ def _flash_dfu_util(details, file): cli.run(['dfu-util', '-a', '0', '-d', f'{details[0]}:{details[1]}', '-s', '0x08000000:leave', '-D', file], capture_output=False) +def _flash_wb32_dfu_updater(file): + if shutil.which('wb32-dfu-updater_cli'): + cmd = 'wb32-dfu-updater_cli' + else: + return True + + cli.run([cmd, '-t', '-s', '0x08000000', '-D', file], capture_output=False) + + def _flash_isp(mcu, programmer, file): programmer = 'usbasp' if programmer == 'usbasploader' else 'usbtiny' - # Check if the provide mcu has an avrdude-specific name, otherwise pass on what the user provided + # Check if the provided mcu has an avrdude-specific name, otherwise pass on what the user provided mcu = AVRDUDE_MCU.get(mcu, mcu) cli.run(['avrdude', '-p', mcu, '-c', programmer, '-U', f'flash:w:{file}:i'], capture_output=False) @@ -219,8 +228,11 @@ def flasher(mcu, file): return (True, "Please make sure 'teensy_loader_cli' or 'hid_bootloader_cli' is available on your system.") else: return (True, "Specifying the MCU with '-m' is necessary for HalfKay/HID bootloaders!") - elif bl == 'stm32-dfu' or bl == 'apm32-dfu' or bl == 'gd32v-dfu' or bl == 'kiibohd': + elif bl in {'apm32-dfu', 'gd32v-dfu', 'kiibohd', 'stm32-dfu'}: _flash_dfu_util(details, file) + elif bl == 'wb32-dfu': + if _flash_wb32_dfu_updater(file): + return (True, "Please make sure 'wb32-dfu-updater_cli' is available on your system.") elif bl == 'usbasploader' or bl == 'usbtinyisp': if mcu: _flash_isp(mcu, bl, file) diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index 0c980faf2b8..235b62640c2 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -182,7 +182,7 @@ def render_layout(layout_data, render_ascii, key_labels=None): if x >= 0.25 and w == 1.25 and h == 2: render_key_isoenter(textpad, x, y, w, h, label, style) - elif w == 2.25 and h == 2: + elif w == 1.5 and h == 2: render_key_baenter(textpad, x, y, w, h, label, style) else: render_key_rect(textpad, x, y, w, h, label, style) @@ -275,7 +275,7 @@ def render_key_baenter(textpad, x, y, w, h, label, style): w = ceil(w * 4) h = ceil(h * 3) - label_len = w - 2 + label_len = w + 1 label_leftover = label_len - len(label) if len(label) > label_len: @@ -292,9 +292,9 @@ def render_key_baenter(textpad, x, y, w, h, label, style): lab_line = array('u', box_chars['v'] + label_middle + box_chars['v']) bot_line = array('u', box_chars['bl'] + label_border_bottom + box_chars['br']) - textpad[y][x + 3:x + w] = top_line - textpad[y + 1][x + 3:x + w] = mid_line - textpad[y + 2][x + 3:x + w] = mid_line - textpad[y + 3][x:x + w] = crn_line - textpad[y + 4][x:x + w] = lab_line - textpad[y + 5][x:x + w] = bot_line + textpad[y][x:x + w] = top_line + textpad[y + 1][x:x + w] = mid_line + textpad[y + 2][x:x + w] = mid_line + textpad[y + 3][x - 3:x + w] = crn_line + textpad[y + 4][x - 3:x + w] = lab_line + textpad[y + 5][x - 3:x + w] = bot_line diff --git a/lib/python/qmk/painter.py b/lib/python/qmk/painter.py index 48310c89616..381a9964431 100644 --- a/lib/python/qmk/painter.py +++ b/lib/python/qmk/painter.py @@ -191,6 +191,12 @@ def convert_requested_format(im, format): return im +def rgb_to565(r, g, b): + msb = ((r >> 3 & 0x1F) << 3) + (g >> 5 & 0x07) + lsb = ((g >> 2 & 0x07) << 5) + (b >> 3 & 0x1F) + return [msb, lsb] + + def convert_image_bytes(im, format): """Convert the supplied image to the equivalent bytes required by the QMK firmware. """ @@ -248,41 +254,25 @@ def convert_image_bytes(im, format): if image_format == 'IMAGE_FORMAT_RGB565': # Take the red, green, and blue channels - image_bytes_red = im.tobytes("raw", "R") - image_bytes_green = im.tobytes("raw", "G") - image_bytes_blue = im.tobytes("raw", "B") - image_pixels_len = len(image_bytes_red) + red = im.tobytes("raw", "R") + green = im.tobytes("raw", "G") + blue = im.tobytes("raw", "B") # No palette palette = None - bytearray = [] - for x in range(image_pixels_len): - # 5 bits of red, 3 MSb of green - byte = ((image_bytes_red[x] >> 3 & 0x1F) << 3) + (image_bytes_green[x] >> 5 & 0x07) - bytearray.append(byte) - # 3 LSb of green, 5 bits of blue - byte = ((image_bytes_green[x] >> 2 & 0x07) << 5) + (image_bytes_blue[x] >> 3 & 0x1F) - bytearray.append(byte) + bytearray = [byte for r, g, b in zip(red, green, blue) for byte in rgb_to565(r, g, b)] if image_format == 'IMAGE_FORMAT_RGB888': # Take the red, green, and blue channels - image_bytes_red = im.tobytes("raw", "R") - image_bytes_green = im.tobytes("raw", "G") - image_bytes_blue = im.tobytes("raw", "B") - image_pixels_len = len(image_bytes_red) + red = im.tobytes("raw", "R") + green = im.tobytes("raw", "G") + blue = im.tobytes("raw", "B") # No palette palette = None - bytearray = [] - for x in range(image_pixels_len): - byte = image_bytes_red[x] - bytearray.append(byte) - byte = image_bytes_green[x] - bytearray.append(byte) - byte = image_bytes_blue[x] - bytearray.append(byte) + bytearray = [byte for r, g, b in zip(red, green, blue) for byte in (r, g, b)] if len(bytearray) != expected_byte_count: raise Exception(f"Wrong byte count, was {len(bytearray)}, expected {expected_byte_count}") diff --git a/quantum/backlight/backlight_avr.c b/platforms/avr/drivers/backlight_pwm.c similarity index 97% rename from quantum/backlight/backlight_avr.c rename to platforms/avr/drivers/backlight_pwm.c index 474e0a86f5e..d2341156410 100644 --- a/quantum/backlight/backlight_avr.c +++ b/platforms/avr/drivers/backlight_pwm.c @@ -1,7 +1,8 @@ -#include "quantum.h" #include "backlight.h" #include "backlight_driver_common.h" -#include "debug.h" +#include "progmem.h" +#include +#include // Maximum duty cycle limit #ifndef BACKLIGHT_LIMIT_VAL @@ -17,7 +18,6 @@ // 3. Full software PWM, driven by the matrix scan, if both timers are used by Audio. #if (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) && (BACKLIGHT_PIN == B5 || BACKLIGHT_PIN == B6 || BACKLIGHT_PIN == B7) -# define HARDWARE_PWM # define ICRx ICR1 # define TCCRxA TCCR1A # define TCCRxB TCCR1B @@ -39,7 +39,6 @@ # define OCRxx OCR1C # endif #elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) && (BACKLIGHT_PIN == C4 || BACKLIGHT_PIN == C5 || BACKLIGHT_PIN == C6) -# define HARDWARE_PWM # define ICRx ICR3 # define TCCRxA TCCR3A # define TCCRxB TCCR3B @@ -69,7 +68,6 @@ # define OCRxx OCR3A # endif #elif (defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__)) && (BACKLIGHT_PIN == B7 || BACKLIGHT_PIN == C5 || BACKLIGHT_PIN == C6) -# define HARDWARE_PWM # define ICRx ICR1 # define TCCRxA TCCR1A # define TCCRxB TCCR1B @@ -91,7 +89,6 @@ # define OCRxx OCR1A # endif #elif defined(__AVR_ATmega32A__) && (BACKLIGHT_PIN == D4 || BACKLIGHT_PIN == D5) -# define HARDWARE_PWM # define ICRx ICR1 # define TCCRxA TCCR1A # define TCCRxB TCCR1B @@ -109,7 +106,6 @@ # define OCRxx OCR1A # endif #elif (defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__)) && (BACKLIGHT_PIN == B1 || BACKLIGHT_PIN == B2) -# define HARDWARE_PWM # define ICRx ICR1 # define TCCRxA TCCR1A # define TCCRxB TCCR1B @@ -129,7 +125,6 @@ #elif (AUDIO_PIN != B5) && (AUDIO_PIN != B6) && (AUDIO_PIN != B7) && (AUDIO_PIN_ALT != B5) && (AUDIO_PIN_ALT != B6) && (AUDIO_PIN_ALT != B7) // Timer 1 is not in use by Audio feature, Backlight can use it # pragma message "Using hardware timer 1 with software PWM" -# define HARDWARE_PWM # define BACKLIGHT_PWM_TIMER # define ICRx ICR1 # define TCCRxA TCCR1A @@ -148,7 +143,6 @@ #elif (AUDIO_PIN != C4) && (AUDIO_PIN != C5) && (AUDIO_PIN != C6) # pragma message "Using hardware timer 3 with software PWM" // Timer 3 is not in use by Audio feature, Backlight can use it -# define HARDWARE_PWM # define BACKLIGHT_PWM_TIMER # define ICRx ICR1 # define TCCRxA TCCR3A @@ -160,10 +154,6 @@ # define OCIExA OCIE3A # define OCRxx OCR3A -#elif defined(BACKLIGHT_CUSTOM_DRIVER) -error("Please set 'BACKLIGHT_DRIVER = custom' within rules.mk") -#else -error("Please set 'BACKLIGHT_DRIVER = software' within rules.mk") #endif #ifndef BACKLIGHT_PWM_TIMER // pwm through software diff --git a/platforms/avr/sleep_led.c b/platforms/avr/sleep_led.c index b05431633ba..ad6253be93f 100644 --- a/platforms/avr/sleep_led.c +++ b/platforms/avr/sleep_led.c @@ -109,16 +109,19 @@ ISR(TIMERx_COMPA_vect) { uint8_t duration : 2; uint8_t index : 6; } pwm; - } timer = {.row = 0}; + } timer = {.row = 0}; + static led_t led_state = {0}; timer.row++; // LED on if (timer.pwm.count == 0) { - led_set(1 << USB_LED_CAPS_LOCK); + led_state.caps_lock = true; + led_set(led_state.raw); } // LED off if (timer.pwm.count == pgm_read_byte(&breathing_table[timer.pwm.index])) { - led_set(0); + led_state.caps_lock = false; + led_set(led_state.raw); } } diff --git a/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h index ab293c0b404..8621807cbbc 100644 --- a/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h @@ -106,7 +106,6 @@ #define RP_USB_USE_USBD0 TRUE #define RP_USB_FORCE_VBUS_DETECT TRUE #define RP_USE_EXTERNAL_VBUS_DETECT FALSE -#define RP_USB_USE_SOF_INTR TRUE #define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE #endif /* MCUCONF_H */ diff --git a/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h index b91d7624199..902f9b5005b 100644 --- a/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h @@ -106,7 +106,6 @@ #define RP_USB_USE_USBD0 TRUE #define RP_USB_FORCE_VBUS_DETECT TRUE #define RP_USE_EXTERNAL_VBUS_DETECT FALSE -#define RP_USB_USE_SOF_INTR TRUE #define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE #endif /* MCUCONF_H */ diff --git a/platforms/chibios/boards/PJRC_TEENSY_3_5/board/board.mk b/platforms/chibios/boards/GENERIC_STM32_H723XG/board/board.mk similarity index 57% rename from platforms/chibios/boards/PJRC_TEENSY_3_5/board/board.mk rename to platforms/chibios/boards/GENERIC_STM32_H723XG/board/board.mk index e129836b080..3511f752a91 100644 --- a/platforms/chibios/boards/PJRC_TEENSY_3_5/board/board.mk +++ b/platforms/chibios/boards/GENERIC_STM32_H723XG/board/board.mk @@ -1,10 +1,11 @@ -include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_5/board.mk - # List of all the board related files. +BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_H723ZG/board.c + +# Extra files BOARDSRC += $(BOARD_PATH)/board/extra.c # Required include directories -BOARDINC += $(BOARD_PATH)/board +BOARDINC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_H723ZG # Shared variables ALLCSRC += $(BOARDSRC) diff --git a/platforms/chibios/boards/GENERIC_STM32_H723XG/board/extra.c b/platforms/chibios/boards/GENERIC_STM32_H723XG/board/extra.c new file mode 100755 index 00000000000..fce0b4abad1 --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_H723XG/board/extra.c @@ -0,0 +1,36 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#include +#define BOOTLOADER_MAGIC 0xDEADBEEF + +//////////////////////////////////////////////////////////////////////////////// +// Different signalling for bootloader entry +// - RAM is cleared on reset, so we can't use the usual __ram0_end__ symbol. +// - Use backup registers in the RTC peripheral to store the magic value instead. + +static inline void enable_backup_register_access(void) { + PWR->CR1 |= PWR_CR1_DBP; +} + +static inline void disable_backup_register_access(void) { + PWR->CR1 &= ~PWR_CR1_DBP; +} + +void bootloader_marker_enable(void) { + enable_backup_register_access(); + RTC->BKP0R = BOOTLOADER_MAGIC; + disable_backup_register_access(); +} + +bool bootloader_marker_active(void) { + enable_backup_register_access(); + bool ret = RTC->BKP0R == BOOTLOADER_MAGIC; + disable_backup_register_access(); + return ret; +} + +void bootloader_marker_disable(void) { + enable_backup_register_access(); + RTC->BKP0R = 0; + disable_backup_register_access(); +} diff --git a/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/config.h new file mode 100644 index 00000000000..f43df29b54a --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/config.h @@ -0,0 +1,9 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define USB_DRIVER USBD2 + +#ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP +# define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE +#endif diff --git a/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h new file mode 100644 index 00000000000..0239ec5273b --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_H723XG/configs/mcuconf.h @@ -0,0 +1,511 @@ +/* + ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef MCUCONF_H +#define MCUCONF_H + +/* + * STM32H723/33/25/35 drivers configuration. + * The following settings override the default settings present in + * the various device driver implementation headers. + * Note that the settings for each driver only have effect if the whole + * driver is enabled in halconf.h. + * + * IRQ priorities: + * 15...0 Lowest...Highest. + * + * DMA priorities: + * 0...3 Lowest...Highest. + */ + +#define STM32H7xx_MCUCONF +#define STM32H723_MCUCONF +#define STM32H733_MCUCONF +#define STM32H725_MCUCONF +#define STM32H735_MCUCONF + +/* + * General settings. + */ +#define STM32_NO_INIT FALSE + +/* + * Memory attributes settings. + */ +#define STM32_NOCACHE_ENABLE FALSE +#define STM32_NOCACHE_MPU_REGION MPU_REGION_6 +#define STM32_NOCACHE_RBAR 0x24000000U +#define STM32_NOCACHE_RASR MPU_RASR_SIZE_16K + +/* + * PWR system settings. + * Reading STM32 Reference Manual is required, settings in PWR_CR3 are + * very critical. + * Register constants are taken from the ST header. + */ +#define STM32_VOS STM32_VOS_SCALE0 +#define STM32_PWR_CR1 (PWR_CR1_SVOS_1 | PWR_CR1_SVOS_0) +#define STM32_PWR_CR2 (PWR_CR2_BREN) +#define STM32_PWR_CR3 (PWR_CR3_LDOEN | PWR_CR3_USB33DEN) +#define STM32_PWR_CPUCR 0 + +/* + * Clock tree static settings. + * Reading STM32 Reference Manual is required. + */ +#define STM32_HSI_ENABLED TRUE +#define STM32_LSI_ENABLED FALSE +#define STM32_CSI_ENABLED FALSE +#define STM32_HSI48_ENABLED TRUE +#define STM32_HSE_ENABLED TRUE +#define STM32_LSE_ENABLED FALSE +#define STM32_HSIDIV STM32_HSIDIV_DIV1 + +/* + * PLLs static settings. + * Reading STM32 Reference Manual is required. + */ +#define STM32_PLLSRC STM32_PLLSRC_HSE_CK +#define STM32_PLLCFGR_MASK ~0 +#define STM32_PLL1_ENABLED TRUE +#define STM32_PLL1_P_ENABLED TRUE +#define STM32_PLL1_Q_ENABLED TRUE +#define STM32_PLL1_R_ENABLED TRUE +#define STM32_PLL1_DIVM_VALUE 4 +#define STM32_PLL1_DIVN_VALUE 275 +#define STM32_PLL1_FRACN_VALUE 0 +#define STM32_PLL1_DIVP_VALUE 1 +#define STM32_PLL1_DIVQ_VALUE 10 +#define STM32_PLL1_DIVR_VALUE 4 +#define STM32_PLL2_ENABLED TRUE +#define STM32_PLL2_P_ENABLED TRUE +#define STM32_PLL2_Q_ENABLED TRUE +#define STM32_PLL2_R_ENABLED TRUE +#define STM32_PLL2_DIVM_VALUE 4 +#define STM32_PLL2_DIVN_VALUE 400 +#define STM32_PLL2_FRACN_VALUE 0 +#define STM32_PLL2_DIVP_VALUE 40 +#define STM32_PLL2_DIVQ_VALUE 8 +#define STM32_PLL2_DIVR_VALUE 8 +#define STM32_PLL3_ENABLED TRUE +#define STM32_PLL3_P_ENABLED TRUE +#define STM32_PLL3_Q_ENABLED TRUE +#define STM32_PLL3_R_ENABLED TRUE +#define STM32_PLL3_DIVM_VALUE 4 +#define STM32_PLL3_DIVN_VALUE 240 +#define STM32_PLL3_FRACN_VALUE 0 +#define STM32_PLL3_DIVP_VALUE 10 +#define STM32_PLL3_DIVQ_VALUE 10 +#define STM32_PLL3_DIVR_VALUE 10 + +/* + * Core clocks dynamic settings (can be changed at runtime). + * Reading STM32 Reference Manual is required. + */ +#define STM32_SW STM32_SW_PLL1_P_CK +#define STM32_RTCSEL STM32_RTCSEL_LSI_CK +#define STM32_D1CPRE STM32_D1CPRE_DIV1 +#define STM32_D1HPRE STM32_D1HPRE_DIV2 +#define STM32_D1PPRE3 STM32_D1PPRE3_DIV2 +#define STM32_D2PPRE1 STM32_D2PPRE1_DIV2 +#define STM32_D2PPRE2 STM32_D2PPRE2_DIV2 +#define STM32_D3PPRE4 STM32_D3PPRE4_DIV2 + +/* + * Peripherals clocks static settings. + * Reading STM32 Reference Manual is required. + */ +#define STM32_MCO1SEL STM32_MCO1SEL_HSI_CK +#define STM32_MCO1PRE_VALUE 4 +#define STM32_MCO2SEL STM32_MCO2SEL_SYS_CK +#define STM32_MCO2PRE_VALUE 4 +#define STM32_TIMPRE_ENABLE TRUE +#define STM32_HRTIMSEL 0 +#define STM32_STOPKERWUCK 0 +#define STM32_STOPWUCK 0 +#define STM32_RTCPRE_VALUE 8 +#define STM32_CKPERSEL STM32_CKPERSEL_HSE_CK +#define STM32_SDMMCSEL STM32_SDMMCSEL_PLL1_Q_CK +#define STM32_OCTOSPISEL STM32_OCTOSPISEL_HCLK +#define STM32_FMCSEL STM32_FMCSEL_HCLK +#define STM32_SWPSEL STM32_SWPSEL_PCLK1 +#define STM32_FDCANSEL STM32_FDCANSEL_HSE_CK +#define STM32_DFSDM1SEL STM32_DFSDM1SEL_PCLK2 +#define STM32_SPDIFSEL STM32_SPDIFSEL_PLL1_Q_CK +#define STM32_SPI45SEL STM32_SPI45SEL_PCLK2 +#define STM32_SPI123SEL STM32_SPI123SEL_PLL1_Q_CK +#define STM32_SAI1SEL STM32_SAI1SEL_PLL1_Q_CK +#define STM32_LPTIM1SEL STM32_LPTIM1SEL_PCLK1 +#define STM32_CECSEL STM32_CECSEL_LSE_CK +#define STM32_USBSEL STM32_USBSEL_PLL3_Q_CK +#define STM32_I2C1235SEL STM32_I2C1235SEL_PCLK1 +#define STM32_RNGSEL STM32_RNGSEL_PLL1_Q_CK +#define STM32_USART16910SEL STM32_USART16910SEL_PCLK2 +#define STM32_USART234578SEL STM32_USART234578SEL_PCLK1 +#define STM32_SPI6SEL STM32_SPI6SEL_PCLK4 +#define STM32_SAI4BSEL STM32_SAI4BSEL_PLL1_Q_CK +#define STM32_SAI4ASEL STM32_SAI4ASEL_PLL1_Q_CK +#define STM32_ADCSEL STM32_ADCSEL_PLL2_P_CK +#define STM32_LPTIM345SEL STM32_LPTIM345SEL_PCLK4 +#define STM32_LPTIM2SEL STM32_LPTIM2SEL_PCLK4 +#define STM32_I2C4SEL STM32_I2C4SEL_PCLK4 +#define STM32_LPUART1SEL STM32_LPUART1SEL_PCLK4 + +/* + * IRQ system settings. + */ +#define STM32_IRQ_EXTI0_PRIORITY 6 +#define STM32_IRQ_EXTI1_PRIORITY 6 +#define STM32_IRQ_EXTI2_PRIORITY 6 +#define STM32_IRQ_EXTI3_PRIORITY 6 +#define STM32_IRQ_EXTI4_PRIORITY 6 +#define STM32_IRQ_EXTI5_9_PRIORITY 6 +#define STM32_IRQ_EXTI10_15_PRIORITY 6 +#define STM32_IRQ_EXTI16_PRIORITY 6 +#define STM32_IRQ_EXTI17_PRIORITY 6 +#define STM32_IRQ_EXTI18_PRIORITY 6 +#define STM32_IRQ_EXTI19_PRIORITY 6 +#define STM32_IRQ_EXTI20_21_PRIORITY 6 + +#define STM32_IRQ_FDCAN1_PRIORITY 10 +#define STM32_IRQ_FDCAN2_PRIORITY 10 + +#define STM32_IRQ_MDMA_PRIORITY 9 + +#define STM32_IRQ_OCTOSPI1_PRIORITY 10 +#define STM32_IRQ_OCTOSPI2_PRIORITY 10 + +#define STM32_IRQ_SDMMC1_PRIORITY 9 +#define STM32_IRQ_SDMMC2_PRIORITY 9 + +#define STM32_IRQ_TIM1_UP_PRIORITY 7 +#define STM32_IRQ_TIM1_CC_PRIORITY 7 +#define STM32_IRQ_TIM2_PRIORITY 7 +#define STM32_IRQ_TIM3_PRIORITY 7 +#define STM32_IRQ_TIM4_PRIORITY 7 +#define STM32_IRQ_TIM5_PRIORITY 7 +#define STM32_IRQ_TIM6_PRIORITY 7 +#define STM32_IRQ_TIM7_PRIORITY 7 +#define STM32_IRQ_TIM8_BRK_TIM12_PRIORITY 7 +#define STM32_IRQ_TIM8_UP_TIM13_PRIORITY 7 +#define STM32_IRQ_TIM8_TRGCO_TIM14_PRIORITY 7 +#define STM32_IRQ_TIM8_CC_PRIORITY 7 +#define STM32_IRQ_TIM15_PRIORITY 7 +#define STM32_IRQ_TIM16_PRIORITY 7 +#define STM32_IRQ_TIM17_PRIORITY 7 + +#define STM32_IRQ_USART1_PRIORITY 12 +#define STM32_IRQ_USART2_PRIORITY 12 +#define STM32_IRQ_USART3_PRIORITY 12 +#define STM32_IRQ_UART4_PRIORITY 12 +#define STM32_IRQ_UART5_PRIORITY 12 +#define STM32_IRQ_USART6_PRIORITY 12 +#define STM32_IRQ_UART7_PRIORITY 12 +#define STM32_IRQ_UART8_PRIORITY 12 +#define STM32_IRQ_UART9_PRIORITY 12 +#define STM32_IRQ_USART10_PRIORITY 12 +#define STM32_IRQ_LPUART1_PRIORITY 12 + +/* + * ADC driver system settings. + */ +#define STM32_ADC_DUAL_MODE FALSE +#define STM32_ADC_SAMPLES_SIZE 16 +#define STM32_ADC_USE_ADC12 FALSE +#define STM32_ADC_ADC12_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_ADC_ADC12_DMA_PRIORITY 2 +#define STM32_ADC_ADC12_IRQ_PRIORITY 5 +#define STM32_ADC_ADC12_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV4 + +/* + * CAN driver system settings. + */ +#define STM32_CAN_USE_FDCAN1 FALSE +#define STM32_CAN_USE_FDCAN2 FALSE + +/* + * DAC driver system settings. + */ +#define STM32_DAC_DUAL_MODE FALSE +#define STM32_DAC_USE_DAC1_CH1 FALSE +#define STM32_DAC_USE_DAC1_CH2 FALSE +#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10 +#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10 +#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2 +#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2 +#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID_ANY + +/* + * GPT driver system settings. + */ +#define STM32_GPT_USE_TIM1 FALSE +#define STM32_GPT_USE_TIM2 FALSE +#define STM32_GPT_USE_TIM3 FALSE +#define STM32_GPT_USE_TIM4 FALSE +#define STM32_GPT_USE_TIM5 FALSE +#define STM32_GPT_USE_TIM6 FALSE +#define STM32_GPT_USE_TIM7 FALSE +#define STM32_GPT_USE_TIM8 FALSE +#define STM32_GPT_USE_TIM12 FALSE +#define STM32_GPT_USE_TIM13 FALSE +#define STM32_GPT_USE_TIM14 FALSE +#define STM32_GPT_USE_TIM15 FALSE +#define STM32_GPT_USE_TIM16 FALSE +#define STM32_GPT_USE_TIM17 FALSE + +/* + * I2C driver system settings. + */ +#define STM32_I2C_USE_I2C1 FALSE +#define STM32_I2C_USE_I2C2 FALSE +#define STM32_I2C_USE_I2C3 FALSE +#define STM32_I2C_USE_I2C4 FALSE +#define STM32_I2C_BUSY_TIMEOUT 50 +#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_I2C_I2C4_RX_BDMA_STREAM STM32_BDMA_STREAM_ID_ANY +#define STM32_I2C_I2C4_TX_BDMA_STREAM STM32_BDMA_STREAM_ID_ANY +#define STM32_I2C_I2C1_IRQ_PRIORITY 5 +#define STM32_I2C_I2C2_IRQ_PRIORITY 5 +#define STM32_I2C_I2C3_IRQ_PRIORITY 5 +#define STM32_I2C_I2C4_IRQ_PRIORITY 5 +#define STM32_I2C_I2C1_DMA_PRIORITY 3 +#define STM32_I2C_I2C2_DMA_PRIORITY 3 +#define STM32_I2C_I2C3_DMA_PRIORITY 3 +#define STM32_I2C_I2C4_DMA_PRIORITY 3 +#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") + +/* + * ICU driver system settings. + */ +#define STM32_ICU_USE_TIM1 FALSE +#define STM32_ICU_USE_TIM2 FALSE +#define STM32_ICU_USE_TIM3 FALSE +#define STM32_ICU_USE_TIM4 FALSE +#define STM32_ICU_USE_TIM5 FALSE +#define STM32_ICU_USE_TIM8 FALSE +#define STM32_ICU_USE_TIM12 FALSE +#define STM32_ICU_USE_TIM13 FALSE +#define STM32_ICU_USE_TIM14 FALSE +#define STM32_ICU_USE_TIM15 FALSE +#define STM32_ICU_USE_TIM16 FALSE +#define STM32_ICU_USE_TIM17 FALSE + +/* + * MAC driver system settings. + */ +#define STM32_MAC_TRANSMIT_BUFFERS 2 +#define STM32_MAC_RECEIVE_BUFFERS 4 +#define STM32_MAC_BUFFERS_SIZE 1522 +#define STM32_MAC_PHY_TIMEOUT 100 +#define STM32_MAC_ETH1_CHANGE_PHY_STATE TRUE +#define STM32_MAC_ETH1_IRQ_PRIORITY 13 +#define STM32_MAC_IP_CHECKSUM_OFFLOAD 0 + +/* + * PWM driver system settings. + */ +#define STM32_PWM_USE_TIM1 FALSE +#define STM32_PWM_USE_TIM2 FALSE +#define STM32_PWM_USE_TIM3 FALSE +#define STM32_PWM_USE_TIM4 FALSE +#define STM32_PWM_USE_TIM5 FALSE +#define STM32_PWM_USE_TIM8 FALSE +#define STM32_PWM_USE_TIM12 FALSE +#define STM32_PWM_USE_TIM13 FALSE +#define STM32_PWM_USE_TIM14 FALSE +#define STM32_PWM_USE_TIM15 FALSE +#define STM32_PWM_USE_TIM16 FALSE +#define STM32_PWM_USE_TIM17 FALSE + +/* + * RTC driver system settings. + */ +#define STM32_RTC_PRESA_VALUE 32 +#define STM32_RTC_PRESS_VALUE 1024 +#define STM32_RTC_CR_INIT 0 +#define STM32_RTC_TAMPCR_INIT 0 + +/* + * SDC driver system settings. + */ +#define STM32_SDC_USE_SDMMC1 FALSE +#define STM32_SDC_USE_SDMMC2 FALSE +#define STM32_SDC_SDMMC_UNALIGNED_SUPPORT TRUE +#define STM32_SDC_SDMMC_WRITE_TIMEOUT 10000 +#define STM32_SDC_SDMMC_READ_TIMEOUT 10000 +#define STM32_SDC_SDMMC_CLOCK_DELAY 10 +#define STM32_SDC_SDMMC_PWRSAV TRUE + +/* + * SERIAL driver system settings. + */ +#define STM32_SERIAL_USE_USART1 FALSE +#define STM32_SERIAL_USE_USART2 FALSE +#define STM32_SERIAL_USE_USART3 FALSE +#define STM32_SERIAL_USE_UART4 FALSE +#define STM32_SERIAL_USE_UART5 FALSE +#define STM32_SERIAL_USE_USART6 FALSE +#define STM32_SERIAL_USE_UART7 FALSE +#define STM32_SERIAL_USE_UART8 FALSE +#define STM32_SERIAL_USE_UART9 FALSE +#define STM32_SERIAL_USE_USART10 FALSE +#define STM32_SERIAL_USE_LPUART1 FALSE + +/* + * SIO driver system settings. + */ +#define STM32_SIO_USE_USART1 FALSE +#define STM32_SIO_USE_USART2 FALSE +#define STM32_SIO_USE_USART3 FALSE +#define STM32_SIO_USE_UART4 FALSE +#define STM32_SIO_USE_UART5 FALSE +#define STM32_SIO_USE_USART6 FALSE +#define STM32_SIO_USE_UART7 FALSE +#define STM32_SIO_USE_UART8 FALSE +#define STM32_SIO_USE_UART9 FALSE +#define STM32_SIO_USE_USART10 FALSE +#define STM32_SIO_USE_LPUART1 FALSE + +/* + * SPI driver system settings. + */ +#define STM32_SPI_USE_SPI1 FALSE +#define STM32_SPI_USE_SPI2 FALSE +#define STM32_SPI_USE_SPI3 FALSE +#define STM32_SPI_USE_SPI4 FALSE +#define STM32_SPI_USE_SPI5 FALSE +#define STM32_SPI_USE_SPI6 FALSE +#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI4_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI4_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI5_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI5_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_SPI_SPI6_RX_BDMA_STREAM STM32_BDMA_STREAM_ID_ANY +#define STM32_SPI_SPI6_TX_BDMA_STREAM STM32_BDMA_STREAM_ID_ANY +#define STM32_SPI_SPI1_DMA_PRIORITY 1 +#define STM32_SPI_SPI2_DMA_PRIORITY 1 +#define STM32_SPI_SPI3_DMA_PRIORITY 1 +#define STM32_SPI_SPI4_DMA_PRIORITY 1 +#define STM32_SPI_SPI5_DMA_PRIORITY 1 +#define STM32_SPI_SPI6_DMA_PRIORITY 1 +#define STM32_SPI_SPI1_IRQ_PRIORITY 10 +#define STM32_SPI_SPI2_IRQ_PRIORITY 10 +#define STM32_SPI_SPI3_IRQ_PRIORITY 10 +#define STM32_SPI_SPI4_IRQ_PRIORITY 10 +#define STM32_SPI_SPI5_IRQ_PRIORITY 10 +#define STM32_SPI_SPI6_IRQ_PRIORITY 10 +#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") + +/* + * ST driver system settings. + */ +#define STM32_ST_IRQ_PRIORITY 8 +#define STM32_ST_USE_TIMER 2 + +/* + * TRNG driver system settings. + */ +#define STM32_TRNG_USE_RNG1 FALSE + +/* + * UART driver system settings. + */ +#define STM32_UART_USE_USART1 FALSE +#define STM32_UART_USE_USART2 FALSE +#define STM32_UART_USE_USART3 FALSE +#define STM32_UART_USE_UART4 FALSE +#define STM32_UART_USE_UART5 FALSE +#define STM32_UART_USE_USART6 FALSE +#define STM32_UART_USE_UART7 FALSE +#define STM32_UART_USE_UART8 FALSE +#define STM32_UART_USE_UART9 FALSE +#define STM32_UART_USE_USART10 FALSE +#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART3_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART3_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART4_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART4_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART5_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART7_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART7_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART8_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART8_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART9_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_UART9_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART10_RX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART10_TX_DMA_STREAM STM32_DMA_STREAM_ID_ANY +#define STM32_UART_USART1_DMA_PRIORITY 0 +#define STM32_UART_USART2_DMA_PRIORITY 0 +#define STM32_UART_USART3_DMA_PRIORITY 0 +#define STM32_UART_UART4_DMA_PRIORITY 0 +#define STM32_UART_UART5_DMA_PRIORITY 0 +#define STM32_UART_USART6_DMA_PRIORITY 0 +#define STM32_UART_UART7_DMA_PRIORITY 0 +#define STM32_UART_UART8_DMA_PRIORITY 0 +#define STM32_UART_UART9_DMA_PRIORITY 0 +#define STM32_UART_USART10_DMA_PRIORITY 0 +#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") + +/* + * USB driver system settings. + */ +#define STM32_USB_USE_OTG2 TRUE +#define STM32_USB_OTG2_IRQ_PRIORITY 14 +#define STM32_USB_OTG2_RX_FIFO_SIZE 1024 +#define STM32_USB_HOST_WAKEUP_DURATION 2 + +/* + * WDG driver system settings. + */ +#define STM32_WDG_USE_IWDG FALSE + +/* + * WSPI driver system settings. + */ +#define STM32_WSPI_USE_OCTOSPI1 FALSE +#define STM32_WSPI_USE_OCTOSPI2 FALSE +#define STM32_WSPI_OCTOSPI1_PRESCALER_VALUE 1 +#define STM32_WSPI_OCTOSPI2_PRESCALER_VALUE 1 +#define STM32_WSPI_OCTOSPI1_SSHIFT FALSE +#define STM32_WSPI_OCTOSPI2_SSHIFT FALSE +#define STM32_WSPI_OCTOSPI1_DHQC FALSE +#define STM32_WSPI_OCTOSPI2_DHQC FALSE +#define STM32_WSPI_OCTOSPI1_MDMA_CHANNEL STM32_MDMA_CHANNEL_ID_ANY +#define STM32_WSPI_OCTOSPI2_MDMA_CHANNEL STM32_MDMA_CHANNEL_ID_ANY +#define STM32_WSPI_OCTOSPI1_MDMA_PRIORITY 1 +#define STM32_WSPI_OCTOSPI2_MDMA_PRIORITY 1 +#define STM32_WSPI_OCTOSPI1_MDMA_IRQ_PRIORITY 10 +#define STM32_WSPI_OCTOSPI2_MDMA_IRQ_PRIORITY 10 +#define STM32_WSPI_DMA_ERROR_HOOK(wspip) osalSysHalt("MDMA failure") + +#endif /* MCUCONF_H */ diff --git a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c index f74c9e8be7f..e38a7e00549 100644 --- a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c +++ b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c @@ -80,7 +80,3 @@ void __early_init(void) { void boardInit(void) { } - -void restart_usb_driver(USBDriver *usbp) { - // Do nothing. Restarting the USB driver on these boards breaks it. -} diff --git a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c index a99537fc270..22b4ff73b53 100644 --- a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c +++ b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c @@ -80,7 +80,3 @@ void __early_init(void) { void boardInit(void) { } - -void restart_usb_driver(USBDriver *usbp) { - // Do nothing. Restarting the USB driver on these boards breaks it. -} diff --git a/platforms/chibios/boards/IC_TEENSY_3_1/board/board.c b/platforms/chibios/boards/IC_TEENSY_3_1/board/board.c index 424e0c975b4..36ae8051eee 100644 --- a/platforms/chibios/boards/IC_TEENSY_3_1/board/board.c +++ b/platforms/chibios/boards/IC_TEENSY_3_1/board/board.c @@ -144,8 +144,3 @@ void __early_init(void) { * @todo Add your board-specific code, if any. */ void boardInit(void) {} - - -void restart_usb_driver(USBDriver *usbp) { - // Do nothing. Restarting the USB driver on these boards breaks it. -} diff --git a/platforms/chibios/boards/PJRC_TEENSY_3_5/board/extra.c b/platforms/chibios/boards/PJRC_TEENSY_3_5/board/extra.c deleted file mode 100644 index 4940d6d99b5..00000000000 --- a/platforms/chibios/boards/PJRC_TEENSY_3_5/board/extra.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -void restart_usb_driver(USBDriver *usbp) { - // Do nothing. Restarting the USB driver on the Teensy 3.6 breaks it, - // resulting in a keyboard which can wake up a PC from Suspend-to-RAM, but - // does not actually produce any keypresses until you un-plug and re-plug. -} diff --git a/platforms/chibios/boards/PJRC_TEENSY_3_6/board/board.mk b/platforms/chibios/boards/PJRC_TEENSY_3_6/board/board.mk deleted file mode 100644 index aba195db042..00000000000 --- a/platforms/chibios/boards/PJRC_TEENSY_3_6/board/board.mk +++ /dev/null @@ -1,11 +0,0 @@ -include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_6/board.mk - -# List of all the board related files. -BOARDSRC += $(BOARD_PATH)/board/extra.c - -# Required include directories -BOARDINC += $(BOARD_PATH)/board - -# Shared variables -ALLCSRC += $(BOARDSRC) -ALLINC += $(BOARDINC) diff --git a/platforms/chibios/boards/PJRC_TEENSY_3_6/board/extra.c b/platforms/chibios/boards/PJRC_TEENSY_3_6/board/extra.c deleted file mode 100644 index 4940d6d99b5..00000000000 --- a/platforms/chibios/boards/PJRC_TEENSY_3_6/board/extra.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -void restart_usb_driver(USBDriver *usbp) { - // Do nothing. Restarting the USB driver on the Teensy 3.6 breaks it, - // resulting in a keyboard which can wake up a PC from Suspend-to-RAM, but - // does not actually produce any keypresses until you un-plug and re-plug. -} diff --git a/platforms/chibios/boards/QMK_BLOK/configs/mcuconf.h b/platforms/chibios/boards/QMK_BLOK/configs/mcuconf.h index eb51e251718..0c2ef592d6f 100644 --- a/platforms/chibios/boards/QMK_BLOK/configs/mcuconf.h +++ b/platforms/chibios/boards/QMK_BLOK/configs/mcuconf.h @@ -106,7 +106,6 @@ #define RP_USB_USE_USBD0 TRUE #define RP_USB_FORCE_VBUS_DETECT TRUE #define RP_USE_EXTERNAL_VBUS_DETECT FALSE -#define RP_USB_USE_SOF_INTR TRUE #define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE #endif /* MCUCONF_H */ diff --git a/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h b/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h index f19f08e93c0..493dcf64342 100644 --- a/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h +++ b/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h @@ -106,7 +106,6 @@ #define RP_USB_USE_USBD0 TRUE #define RP_USB_FORCE_VBUS_DETECT TRUE #define RP_USE_EXTERNAL_VBUS_DETECT FALSE -#define RP_USB_USE_SOF_INTR TRUE #define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE #endif /* MCUCONF_H */ diff --git a/platforms/chibios/bootloaders/rp2040.c b/platforms/chibios/bootloaders/rp2040.c index bedc00f32ea..524d13e636f 100644 --- a/platforms/chibios/bootloaders/rp2040.c +++ b/platforms/chibios/bootloaders/rp2040.c @@ -1,9 +1,10 @@ // Copyright 2022 Stefan Kerkmann // SPDX-License-Identifier: GPL-2.0-or-later -#include "quantum.h" #include "hal.h" #include "bootloader.h" +#include "gpio.h" +#include "wait.h" #include "pico/bootrom.h" #if !defined(RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED) diff --git a/platforms/chibios/bootloaders/stm32_dfu.c b/platforms/chibios/bootloaders/stm32_dfu.c index f845bf21e92..fba3086e7af 100644 --- a/platforms/chibios/bootloaders/stm32_dfu.c +++ b/platforms/chibios/bootloaders/stm32_dfu.c @@ -1,4 +1,4 @@ -/* Copyright 2021 QMK +/* Copyright 2021-2023 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 @@ -15,12 +15,17 @@ */ #include "bootloader.h" +#include "util.h" #include #include #include "wait.h" -extern uint32_t __ram0_end__; +#ifndef STM32_BOOTLOADER_RAM_SYMBOL +# define STM32_BOOTLOADER_RAM_SYMBOL __ram0_end__ +#endif + +extern uint32_t STM32_BOOTLOADER_RAM_SYMBOL; #ifndef STM32_BOOTLOADER_DUAL_BANK # define STM32_BOOTLOADER_DUAL_BANK FALSE @@ -72,10 +77,25 @@ void enter_bootloader_mode_if_requested(void) {} /* This code should be checked whether it runs correctly on platforms */ # define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) # define BOOTLOADER_MAGIC 0xDEADBEEF -# define MAGIC_ADDR (unsigned long *)(SYMVAL(__ram0_end__) - 4) +# define MAGIC_ADDR (unsigned long *)(SYMVAL(STM32_BOOTLOADER_RAM_SYMBOL) - 4) + +__attribute__((weak)) void bootloader_marker_enable(void) { + uint32_t *marker = (uint32_t *)MAGIC_ADDR; + *marker = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader +} + +__attribute__((weak)) bool bootloader_marker_active(void) { + const uint32_t *marker = (const uint32_t *)MAGIC_ADDR; + return (*marker == BOOTLOADER_MAGIC) ? true : false; +} + +__attribute__((weak)) void bootloader_marker_disable(void) { + uint32_t *marker = (uint32_t *)MAGIC_ADDR; + *marker = 0; +} __attribute__((weak)) void bootloader_jump(void) { - *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader + bootloader_marker_enable(); NVIC_SystemReset(); } @@ -84,18 +104,44 @@ __attribute__((weak)) void mcu_reset(void) { } void enter_bootloader_mode_if_requested(void) { - unsigned long *check = MAGIC_ADDR; - if (*check == BOOTLOADER_MAGIC) { - *check = 0; + if (bootloader_marker_active()) { + bootloader_marker_disable(); + + struct system_memory_vector_t { + uint32_t stack_top; + void (*entrypoint)(void); + }; + const struct system_memory_vector_t *bootloader = (const struct system_memory_vector_t *)(STM32_BOOTLOADER_ADDRESS); + + __disable_irq(); + +# if defined(QMK_MCU_ARCH_CORTEX_M7) + SCB_DisableDCache(); + SCB_DisableICache(); +# endif + +# if defined(__MPU_PRESENT) && (__MPU_PRESENT == 1U) + ARM_MPU_Disable(); +# endif + + SysTick->CTRL = 0; + SysTick->VAL = 0; + SysTick->LOAD = 0; + + // Clear interrupt enable and interrupt pending registers + for (int i = 0; i < ARRAY_SIZE(NVIC->ICER); i++) { + NVIC->ICER[i] = 0xFFFFFFFF; + NVIC->ICPR[i] = 0xFFFFFFFF; + } + __set_CONTROL(0); - __set_MSP(*(__IO uint32_t *)STM32_BOOTLOADER_ADDRESS); + __set_MSP(bootloader->stack_top); __enable_irq(); - typedef void (*BootJump_t)(void); - BootJump_t boot_jump = *(BootJump_t *)(STM32_BOOTLOADER_ADDRESS + 4); - boot_jump(); - while (1) - ; + // Jump to bootloader + bootloader->entrypoint(); + while (true) { + } } } #endif diff --git a/platforms/chibios/chibios_config.h b/platforms/chibios/chibios_config.h index 52632a051ed..1f8a7842fe2 100644 --- a/platforms/chibios/chibios_config.h +++ b/platforms/chibios/chibios_config.h @@ -71,7 +71,11 @@ // STM32 compatibility #if defined(MCU_STM32) -# define CPU_CLOCK STM32_SYSCLK +# if defined(STM32_CORE_CK) +# define CPU_CLOCK STM32_CORE_CK +# else +# define CPU_CLOCK STM32_SYSCLK +# endif # if defined(STM32F1XX) # define USE_GPIOV1 diff --git a/platforms/chibios/config.h b/platforms/chibios/config.h new file mode 100644 index 00000000000..006415a5dc5 --- /dev/null +++ b/platforms/chibios/config.h @@ -0,0 +1,7 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifndef CORTEX_ENABLE_WFI_IDLE +# define CORTEX_ENABLE_WFI_IDLE TRUE +#endif // CORTEX_ENABLE_WFI_IDLE diff --git a/quantum/backlight/backlight_chibios.c b/platforms/chibios/drivers/backlight_pwm.c similarity index 98% rename from quantum/backlight/backlight_chibios.c rename to platforms/chibios/drivers/backlight_pwm.c index 30e95bd5c80..01e6f71307a 100644 --- a/quantum/backlight/backlight_chibios.c +++ b/platforms/chibios/drivers/backlight_pwm.c @@ -1,7 +1,7 @@ -#include "quantum.h" #include "backlight.h" +#include "gpio.h" +#include "wait.h" #include -#include "debug.h" // Maximum duty cycle limit #ifndef BACKLIGHT_LIMIT_VAL @@ -13,7 +13,7 @@ # define BACKLIGHT_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL # else // GPIOV2 && GPIOV3 -# define BACKLIGHT_PAL_MODE 5 +# define BACKLIGHT_PAL_MODE 2 # endif #endif diff --git a/quantum/backlight/backlight_timer.c b/platforms/chibios/drivers/backlight_timer.c similarity index 99% rename from quantum/backlight/backlight_timer.c rename to platforms/chibios/drivers/backlight_timer.c index 82fb6a6a83e..0fabee93b1c 100644 --- a/quantum/backlight/backlight_timer.c +++ b/platforms/chibios/drivers/backlight_timer.c @@ -1,7 +1,6 @@ -#include "quantum.h" #include "backlight.h" #include "backlight_driver_common.h" -#include "debug.h" +#include "wait.h" #ifndef BACKLIGHT_GPT_DRIVER # define BACKLIGHT_GPT_DRIVER GPTD15 diff --git a/platforms/chibios/drivers/i2c_master.c b/platforms/chibios/drivers/i2c_master.c index 4c7a5daa171..7c49f9d0059 100644 --- a/platforms/chibios/drivers/i2c_master.c +++ b/platforms/chibios/drivers/i2c_master.c @@ -24,8 +24,10 @@ * STM32_I2C_USE_I2C1 is TRUE in the mcuconf.h file. Pins B6 and B7 are used * but using any other I2C pins should be trivial. */ -#include "quantum.h" + #include "i2c_master.h" +#include "gpio.h" +#include "chibios_config.h" #include #include #include diff --git a/platforms/chibios/drivers/serial.c b/platforms/chibios/drivers/serial.c index 0dd8e71ae82..f087d0c2edf 100644 --- a/platforms/chibios/drivers/serial.c +++ b/platforms/chibios/drivers/serial.c @@ -2,8 +2,8 @@ * WARNING: be careful changing this code, it is very timing dependent */ -#include "quantum.h" #include "serial.h" +#include "gpio.h" #include "wait.h" #include "synchronization_util.h" diff --git a/platforms/chibios/drivers/serial_protocol.c b/platforms/chibios/drivers/serial_protocol.c index ccaf73282dd..e0f583ccde6 100644 --- a/platforms/chibios/drivers/serial_protocol.c +++ b/platforms/chibios/drivers/serial_protocol.c @@ -3,10 +3,8 @@ #include -#include "quantum.h" #include "serial.h" #include "serial_protocol.h" -#include "printf.h" #include "synchronization_util.h" static inline bool initiate_transaction(uint8_t transaction_id); diff --git a/platforms/chibios/drivers/serial_usart.c b/platforms/chibios/drivers/serial_usart.c index 6ebbf7c8ca1..767ef8726fc 100644 --- a/platforms/chibios/drivers/serial_usart.c +++ b/platforms/chibios/drivers/serial_usart.c @@ -5,6 +5,7 @@ #include "serial_usart.h" #include "serial_protocol.h" #include "synchronization_util.h" +#include "chibios_config.h" #if defined(SERIAL_USART_CONFIG) static QMKSerialConfig serial_config = SERIAL_USART_CONFIG; diff --git a/platforms/chibios/drivers/serial_usart.h b/platforms/chibios/drivers/serial_usart.h index fa062cd736b..dec8a292e98 100644 --- a/platforms/chibios/drivers/serial_usart.h +++ b/platforms/chibios/drivers/serial_usart.h @@ -3,7 +3,6 @@ #pragma once -#include "quantum.h" #include "serial.h" #include diff --git a/platforms/chibios/drivers/uart.c b/platforms/chibios/drivers/uart.c index 34f77232b6c..39a59dd4450 100644 --- a/platforms/chibios/drivers/uart.c +++ b/platforms/chibios/drivers/uart.c @@ -16,8 +16,6 @@ #include "uart.h" -#include "quantum.h" - #if defined(MCU_KINETIS) static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE}; #elif defined(WB32F3G71xx) || defined(WB32FQ95xx) diff --git a/platforms/chibios/drivers/uart.h b/platforms/chibios/drivers/uart.h index e9e3b0855b3..d1917bfc800 100644 --- a/platforms/chibios/drivers/uart.h +++ b/platforms/chibios/drivers/uart.h @@ -17,6 +17,7 @@ #pragma once #include +#include #include diff --git a/platforms/chibios/drivers/usbpd_stm32g4.c b/platforms/chibios/drivers/usbpd_stm32g4.c index 0096f22f077..21b8f6db95a 100644 --- a/platforms/chibios/drivers/usbpd_stm32g4.c +++ b/platforms/chibios/drivers/usbpd_stm32g4.c @@ -22,8 +22,6 @@ // Initialises the USBPD subsystem __attribute__((weak)) void usbpd_init(void) { - // Disable dead-battery signals - PWR->CR3 |= PWR_CR3_UCPD_DBDIS; // Enable the clock for the UCPD1 peripheral RCC->APB1ENR2 |= RCC_APB1ENR2_UCPD1EN; @@ -46,6 +44,11 @@ __attribute__((weak)) void usbpd_init(void) { CR |= UCPD_CR_ANAMODE | UCPD_CR_CCENABLE_Msk; // Apply the changes UCPD1->CR = CR; + + // Disable dead-battery signals only after UCPD1 is configured to ensure + // that the transition does not go through any intermediate state without + // any pull-down resistance. + PWR->CR3 |= PWR_CR3_UCPD_DBDIS; } // Gets the current state of the USBPD allowance diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c index 937fa5de6f2..d775ec29d59 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c @@ -1,12 +1,10 @@ // Copyright 2022 Marek Kraus (@gamelaster) // SPDX-License-Identifier: GPL-2.0-or-later -#include "quantum.h" - #include "hardware/pio.h" #include "hardware/clocks.h" #include "ps2.h" -#include "print.h" +#include "debug.h" #if !defined(MCU_RP) # error PIO Driver is only available for Raspberry Pi 2040 MCUs! diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c index dd4723a086d..3aa8e1165fa 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c @@ -1,11 +1,12 @@ // Copyright 2022 Stefan Kerkmann // SPDX-License-Identifier: GPL-2.0-or-later -#include "quantum.h" #include "serial_usart.h" #include "serial_protocol.h" #include "hardware/pio.h" #include "hardware/clocks.h" +#include "wait.h" +#include "debug.h" #if !defined(MCU_RP) # error PIO Driver is only available for Raspberry Pi 2040 MCUs! diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c index 99a6cfaba9c..8d59e13bb25 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/ws2812_vendor.c @@ -2,13 +2,19 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "ws2812.h" -#include "hardware/timer.h" -#include "hardware/clocks.h" + // Keep this exact include order otherwise we run into naming conflicts between // pico-sdk and rp2040.h which we don't control. -#include "quantum.h" +#include "hardware/timer.h" +#include "hardware/clocks.h" +#include #include "hardware/pio.h" +#include "gpio.h" +#include "debug.h" +#include "wait.h" +#include "util.h" + #if !defined(MCU_RP) # error PIO Driver is only available for Raspberry Pi 2040 MCUs! #endif diff --git a/platforms/chibios/drivers/ws2812_bitbang.c b/platforms/chibios/drivers/ws2812_bitbang.c index d05deb1a50e..c55e0f654c2 100644 --- a/platforms/chibios/drivers/ws2812_bitbang.c +++ b/platforms/chibios/drivers/ws2812_bitbang.c @@ -1,7 +1,7 @@ -#include "quantum.h" #include "ws2812.h" -#include -#include + +#include "gpio.h" +#include "chibios_config.h" /* Adapted from https://github.com/bigjosh/SimpleNeoPixelDemo/ */ diff --git a/platforms/chibios/drivers/ws2812_pwm.c b/platforms/chibios/drivers/ws2812_pwm.c index 04c8279a970..cfee547a822 100644 --- a/platforms/chibios/drivers/ws2812_pwm.c +++ b/platforms/chibios/drivers/ws2812_pwm.c @@ -1,6 +1,6 @@ #include "ws2812.h" -#include "quantum.h" -#include +#include "gpio.h" +#include "chibios_config.h" /* Adapted from https://github.com/joewa/WS2812-LED-Driver_ChibiOS/ */ diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c index c28f5007f15..f188576e046 100644 --- a/platforms/chibios/drivers/ws2812_spi.c +++ b/platforms/chibios/drivers/ws2812_spi.c @@ -1,5 +1,7 @@ -#include "quantum.h" #include "ws2812.h" +#include "gpio.h" +#include "util.h" +#include "chibios_config.h" /* Adapted from https://github.com/gamazeps/ws2812b-chibios-SPIDMA/ */ diff --git a/platforms/chibios/mcu_selection.mk b/platforms/chibios/mcu_selection.mk index 56b81493de2..5122ed4634e 100644 --- a/platforms/chibios/mcu_selection.mk +++ b/platforms/chibios/mcu_selection.mk @@ -546,6 +546,9 @@ ifneq ($(findstring STM32G431, $(MCU)),) # Bootloader address for STM32 DFU STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 + + # Default to transient driver as ChibiOS EFL is currently broken for single-bank G4xx devices + EEPROM_DRIVER ?= transient endif ifneq ($(findstring STM32G474, $(MCU)),) @@ -702,6 +705,45 @@ ifneq (,$(filter $(MCU),STM32L412 STM32L422)) STM32_BOOTLOADER_ADDRESS ?= 0x1FFF0000 endif +ifneq (,$(filter $(MCU),STM32H723 STM32H733)) + # Cortex version + MCU = cortex-m7 + + # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7 + ARMV = 7 + + ## chip/board settings + # - the next two should match the directories in + # /os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) + # OR + # /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) + MCU_FAMILY = STM32 + MCU_SERIES = STM32H7xx + + # Linker script to use + # - it should exist either in /os/common/startup/ARMCMx/compilers/GCC/ld/ + # or /ld/ + MCU_LDSCRIPT ?= STM32H723xG_ITCM64k + + # Startup code to use + # - it should exist in /os/common/startup/ARMCMx/compilers/GCC/mk/ + MCU_STARTUP ?= stm32h7xx + + # Board: it should exist either in /os/hal/boards/, + # /boards/, or drivers/boards/ + BOARD ?= GENERIC_STM32_H723XG + + PLATFORM_NAME ?= platform_type2 + + USE_FPU ?= yes + + # UF2 settings + UF2_FAMILY ?= STM32H7 + + # Bootloader address for STM32 DFU + STM32_BOOTLOADER_ADDRESS ?= 0x1FF09800 +endif + ifneq ($(findstring WB32F3G71, $(MCU)),) # Cortex version MCU = cortex-m3 diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk index 6304b42d873..081b001e6da 100644 --- a/platforms/chibios/platform.mk +++ b/platforms/chibios/platform.mk @@ -432,6 +432,15 @@ else endif endif +# Extra config.h files for the platform +ifneq ("$(wildcard $(PLATFORM_COMMON_DIR)/vendors/$(MCU_FAMILY)/$(MCU_SERIES)/config.h)","") + CONFIG_H += $(PLATFORM_COMMON_DIR)/vendors/$(MCU_FAMILY)/$(MCU_SERIES)/config.h +endif +ifneq ("$(wildcard $(PLATFORM_COMMON_DIR)/vendors/$(MCU_FAMILY)/config.h)","") + CONFIG_H += $(PLATFORM_COMMON_DIR)/vendors/$(MCU_FAMILY)/config.h +endif +CONFIG_H += $(PLATFORM_COMMON_DIR)/config.h + # Assembler flags ASFLAGS += $(SHARED_ASFLAGS) $(TOOLCHAIN_ASFLAGS) diff --git a/platforms/chibios/sleep_led.c b/platforms/chibios/sleep_led.c index a777d60468b..a35514bf2e9 100644 --- a/platforms/chibios/sleep_led.c +++ b/platforms/chibios/sleep_led.c @@ -41,17 +41,20 @@ void sleep_led_timer_callback(void) { uint8_t duration : 2; uint8_t index : 6; } pwm; - } timer = {.row = 0}; + } timer = {.row = 0}; + static led_t led_state = {0}; timer.row++; // LED on if (timer.pwm.count == 0) { - led_set(1 << USB_LED_CAPS_LOCK); + led_state.caps_lock = true; + led_set(led_state.raw); } // LED off if (timer.pwm.count == breathing_table[timer.pwm.index]) { - led_set(0); + led_state.caps_lock = false; + led_set(led_state.raw); } } @@ -190,7 +193,7 @@ void sleep_led_toggle(void) { void sleep_led_init(void) {} void sleep_led_enable(void) { - led_set(1 << USB_LED_CAPS_LOCK); + led_set(2); // Caps Lock } void sleep_led_disable(void) { diff --git a/platforms/chibios/suspend.c b/platforms/chibios/suspend.c index ce03433e3a2..a937ccf0599 100644 --- a/platforms/chibios/suspend.c +++ b/platforms/chibios/suspend.c @@ -42,6 +42,7 @@ void suspend_wakeup_init(void) { clear_keys(); #ifdef MOUSEKEY_ENABLE mousekey_clear(); + mousekey_send(); #endif /* MOUSEKEY_ENABLE */ #ifdef PROGRAMMABLE_BUTTON_ENABLE programmable_button_clear(); diff --git a/platforms/chibios/vendors/RP/pico_sdk_shims.c b/platforms/chibios/vendors/RP/pico_sdk_shims.c index 239155c0865..caab4005316 100644 --- a/platforms/chibios/vendors/RP/pico_sdk_shims.c +++ b/platforms/chibios/vendors/RP/pico_sdk_shims.c @@ -2,7 +2,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include -#include + +extern void chSysHalt(const char *reason) __attribute__((noreturn)); void panic(const char *fmt, ...) { chSysHalt(fmt); diff --git a/platforms/test/drivers/audio_pwm.h b/platforms/test/drivers/audio_pwm.h new file mode 100644 index 00000000000..9a3fa88cec3 --- /dev/null +++ b/platforms/test/drivers/audio_pwm.h @@ -0,0 +1,16 @@ +// Copyright 2023 Google 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 . + +#pragma once diff --git a/platforms/test/drivers/audio_pwm_hardware.c b/platforms/test/drivers/audio_pwm_hardware.c new file mode 100644 index 00000000000..336e4f58449 --- /dev/null +++ b/platforms/test/drivers/audio_pwm_hardware.c @@ -0,0 +1,20 @@ +// Copyright 2023 Google 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 "audio.h" + +void audio_driver_initialize(void) {} +void audio_driver_start() {} +void audio_driver_stop() {} diff --git a/quantum/action.c b/quantum/action.c index a45e70c5572..6368f7398c6 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -528,6 +528,13 @@ void process_action(keyrecord_t *record, action_t action) { unregister_code(action.key.code); } else { ac_dprintf("MODS_TAP: No tap: add_mods\n"); +# if defined(RETRO_TAPPING) && defined(DUMMY_MOD_NEUTRALIZER_KEYCODE) + // Send a dummy keycode to neutralize flashing modifiers + // if the key was held and then released with no interruptions. + if (retro_tapping_counter == 2) { + neutralize_flashing_modifiers(get_mods()); + } +# endif unregister_mods(mods); } } @@ -882,7 +889,7 @@ __attribute__((weak)) void register_code(uint8_t code) { } else if (KC_LOCKING_CAPS_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE // Resync: ignore if caps lock already is on - if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) return; + if (host_keyboard_led_state().caps_lock) return; # endif add_key(KC_CAPS_LOCK); send_keyboard_report(); @@ -892,7 +899,7 @@ __attribute__((weak)) void register_code(uint8_t code) { } else if (KC_LOCKING_NUM_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE - if (host_keyboard_leds() & (1 << USB_LED_NUM_LOCK)) return; + if (host_keyboard_led_state().num_lock) return; # endif add_key(KC_NUM_LOCK); send_keyboard_report(); @@ -902,7 +909,7 @@ __attribute__((weak)) void register_code(uint8_t code) { } else if (KC_LOCKING_SCROLL_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE - if (host_keyboard_leds() & (1 << USB_LED_SCROLL_LOCK)) return; + if (host_keyboard_led_state().scroll_lock) return; # endif add_key(KC_SCROLL_LOCK); send_keyboard_report(); @@ -952,7 +959,7 @@ __attribute__((weak)) void unregister_code(uint8_t code) { } else if (KC_LOCKING_CAPS_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE // Resync: ignore if caps lock already is off - if (!(host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK))) return; + if (!host_keyboard_led_state().caps_lock) return; # endif add_key(KC_CAPS_LOCK); send_keyboard_report(); @@ -961,7 +968,7 @@ __attribute__((weak)) void unregister_code(uint8_t code) { } else if (KC_LOCKING_NUM_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE - if (!(host_keyboard_leds() & (1 << USB_LED_NUM_LOCK))) return; + if (!host_keyboard_led_state().num_lock) return; # endif add_key(KC_NUM_LOCK); send_keyboard_report(); @@ -970,7 +977,7 @@ __attribute__((weak)) void unregister_code(uint8_t code) { } else if (KC_LOCKING_SCROLL_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE - if (!(host_keyboard_leds() & (1 << USB_LED_SCROLL_LOCK))) return; + if (!host_keyboard_led_state().scroll_lock) return; # endif add_key(KC_SCROLL_LOCK); send_keyboard_report(); diff --git a/quantum/action_util.c b/quantum/action_util.c index 361f410d2dd..909dea05959 100644 --- a/quantum/action_util.c +++ b/quantum/action_util.c @@ -500,3 +500,28 @@ __attribute__((weak)) void oneshot_layer_changed_kb(uint8_t layer) { uint8_t has_anymod(void) { return bitpop(real_mods); } + +#ifdef DUMMY_MOD_NEUTRALIZER_KEYCODE +/** \brief Send a dummy keycode in between the register and unregister event of a modifier key, to neutralize the "flashing modifiers" phenomenon. + * + * \param active_mods 8-bit packed bit-array describing the currently active modifiers (in the format GASCGASC). + * + * Certain QMK features like key overrides or retro tap must unregister a previously + * registered modifier before sending another keycode but this can trigger undesired + * keyboard shortcuts if the clean tap of a single modifier key is bound to an action + * on the host OS, as is for example the case for the left GUI key on Windows, which + * opens the Start Menu when tapped. + */ +void neutralize_flashing_modifiers(uint8_t active_mods) { + // In most scenarios, the flashing modifiers phenomenon is a problem + // only for a subset of modifier masks. + const static uint8_t mods_to_neutralize[] = MODS_TO_NEUTRALIZE; + const static uint8_t n_mods = ARRAY_SIZE(mods_to_neutralize); + for (uint8_t i = 0; i < n_mods; ++i) { + if (active_mods == mods_to_neutralize[i]) { + tap_code(DUMMY_MOD_NEUTRALIZER_KEYCODE); + break; + } + } +} +#endif diff --git a/quantum/action_util.h b/quantum/action_util.h index 02f6e9e6df2..831caf3c0a1 100644 --- a/quantum/action_util.h +++ b/quantum/action_util.h @@ -102,6 +102,19 @@ void use_oneshot_swaphands(void); void clear_oneshot_swaphands(void); #endif +#ifdef DUMMY_MOD_NEUTRALIZER_KEYCODE +// KC_A is used as the lowerbound instead of QK_BASIC because the range QK_BASIC...KC_A includes +// internal keycodes like KC_NO and KC_TRANSPARENT which are unsuitable for use with `tap_code(kc)`. +# if !(KC_A <= DUMMY_MOD_NEUTRALIZER_KEYCODE && DUMMY_MOD_NEUTRALIZER_KEYCODE <= QK_BASIC_MAX) +# error "DUMMY_MOD_NEUTRALIZER_KEYCODE must be a basic, unmodified, HID keycode!" +# endif +void neutralize_flashing_modifiers(uint8_t active_mods); +#endif +#ifndef MODS_TO_NEUTRALIZE +# define MODS_TO_NEUTRALIZE \ + { MOD_BIT(KC_LEFT_ALT), MOD_BIT(KC_LEFT_GUI) } +#endif + #ifdef __cplusplus } #endif diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index 2570ad9cd1e..0300483a938 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -547,20 +547,39 @@ void audio_decrease_tempo(uint8_t tempo_change) { note_tempo -= tempo_change; } -// TODO in the int-math version are some bugs; songs sometimes abruptly end - maybe an issue with the timer/system-tick wrapping around? +/** + * Converts from units of 1/64ths of a beat to milliseconds. + * + * Round-off error is at most 1 millisecond. + * + * Conversion will never overflow for duration_bpm <= 699, provided that + * note_tempo is at least 10. This is quite a long duration, over ten beats. + * + * Beware that for duration_bpm > 699, the result may overflow uint16_t range + * when duration_bpm is large compared to note_tempo: + * + * duration_bpm * 60 * 1000 / (64 * note_tempo) > UINT16_MAX + * + * duration_bpm > (2 * 65535 / 1875) * note_tempo + * = 69.904 * note_tempo. + */ uint16_t audio_duration_to_ms(uint16_t duration_bpm) { -#if defined(__AVR__) - // doing int-math saves us some bytes in the overall firmware size, but the intermediate result is less accurate before being cast to/returned as uint - return ((uint32_t)duration_bpm * 60 * 1000) / (64 * note_tempo); - // NOTE: beware of uint16_t overflows when note_tempo is low and/or the duration is long -#else - return ((float)duration_bpm * 60) / (64 * note_tempo) * 1000; -#endif + return ((uint32_t)duration_bpm * 1875) / ((uint_fast16_t)note_tempo * 2); } + +/** + * Converts from units of milliseconds to 1/64ths of a beat. + * + * Round-off error is at most 1/64th of a beat. + * + * This conversion never overflows: since duration_ms <= UINT16_MAX = 65535 + * and note_tempo <= 255, the result is always in uint16_t range: + * + * duration_ms * 64 * note_tempo / 60 / 1000 + * <= 65535 * 2 * 255 / 1875 + * = 17825.52 + * <= UINT16_MAX. + */ uint16_t audio_ms_to_duration(uint16_t duration_ms) { -#if defined(__AVR__) - return ((uint32_t)duration_ms * 64 * note_tempo) / 60 / 1000; -#else - return ((float)duration_ms * 64 * note_tempo) / 60 / 1000; -#endif + return ((uint32_t)duration_ms * 2 * note_tempo) / 1875; } diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c index 52ec086bb09..9d9f944f5db 100644 --- a/quantum/backlight/backlight.c +++ b/quantum/backlight/backlight.c @@ -15,7 +15,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" #include "backlight.h" #include "eeprom.h" #include "eeconfig.h" diff --git a/quantum/backlight/backlight_driver_common.c b/quantum/backlight/backlight_driver_common.c index 1eb8969084e..8c3fe461d7c 100644 --- a/quantum/backlight/backlight_driver_common.c +++ b/quantum/backlight/backlight_driver_common.c @@ -1,6 +1,7 @@ -#include "quantum.h" #include "backlight.h" #include "backlight_driver_common.h" +#include "gpio.h" +#include "util.h" #if !defined(BACKLIGHT_PIN) && !defined(BACKLIGHT_PINS) # error "Backlight pin/pins not defined. Please configure." diff --git a/quantum/debounce.h b/quantum/debounce.h index a8629654c20..cea1f2b5260 100644 --- a/quantum/debounce.h +++ b/quantum/debounce.h @@ -1,5 +1,9 @@ #pragma once +#include +#include +#include "matrix.h" + /** * @brief Debounce raw matrix events according to the choosen debounce algorithm. * diff --git a/quantum/debounce/asym_eager_defer_pk.c b/quantum/debounce/asym_eager_defer_pk.c index 0f7640a80cc..954d43536c0 100644 --- a/quantum/debounce/asym_eager_defer_pk.c +++ b/quantum/debounce/asym_eager_defer_pk.c @@ -22,9 +22,8 @@ Basic symmetric per-key algorithm. Uses an 8-bit counter per key. When no state changes have occured for DEBOUNCE milliseconds, we push the state. */ -#include "matrix.h" +#include "debounce.h" #include "timer.h" -#include "quantum.h" #include #ifdef PROTOCOL_CHIBIOS diff --git a/quantum/debounce/none.c b/quantum/debounce/none.c index 4cff5e05e26..1b8b1dc13a3 100644 --- a/quantum/debounce/none.c +++ b/quantum/debounce/none.c @@ -14,9 +14,7 @@ * along with this program. If not, see . */ -#include "matrix.h" -#include "quantum.h" -#include +#include "debounce.h" #include void debounce_init(uint8_t num_rows) {} diff --git a/quantum/debounce/sym_defer_g.c b/quantum/debounce/sym_defer_g.c index d04310a7615..25e18890aff 100644 --- a/quantum/debounce/sym_defer_g.c +++ b/quantum/debounce/sym_defer_g.c @@ -17,9 +17,8 @@ along with this program. If not, see . Basic global debounce algorithm. Used in 99% of keyboards at time of implementation When no state changes have occured for DEBOUNCE milliseconds, we push the state. */ -#include "matrix.h" +#include "debounce.h" #include "timer.h" -#include "quantum.h" #include #ifndef DEBOUNCE # define DEBOUNCE 5 diff --git a/quantum/debounce/sym_defer_pk.c b/quantum/debounce/sym_defer_pk.c index 7b59b5e1007..156535a3733 100644 --- a/quantum/debounce/sym_defer_pk.c +++ b/quantum/debounce/sym_defer_pk.c @@ -19,9 +19,8 @@ Basic symmetric per-key algorithm. Uses an 8-bit counter per key. When no state changes have occured for DEBOUNCE milliseconds, we push the state. */ -#include "matrix.h" +#include "debounce.h" #include "timer.h" -#include "quantum.h" #include #ifdef PROTOCOL_CHIBIOS diff --git a/quantum/debounce/sym_defer_pr.c b/quantum/debounce/sym_defer_pr.c index 452c4599d0a..d6222af5b29 100644 --- a/quantum/debounce/sym_defer_pr.c +++ b/quantum/debounce/sym_defer_pr.c @@ -17,9 +17,8 @@ Symmetric per-row debounce algorithm. Changes only apply when DEBOUNCE milliseconds have elapsed since the last change. */ -#include "matrix.h" +#include "debounce.h" #include "timer.h" -#include "quantum.h" #include #ifndef DEBOUNCE diff --git a/quantum/debounce/sym_eager_pk.c b/quantum/debounce/sym_eager_pk.c index 15360441dea..b359e79287e 100644 --- a/quantum/debounce/sym_eager_pk.c +++ b/quantum/debounce/sym_eager_pk.c @@ -19,9 +19,8 @@ After pressing a key, it immediately changes state, and sets a counter. No further inputs are accepted until DEBOUNCE milliseconds have occurred. */ -#include "matrix.h" +#include "debounce.h" #include "timer.h" -#include "quantum.h" #include #ifdef PROTOCOL_CHIBIOS diff --git a/quantum/debounce/sym_eager_pr.c b/quantum/debounce/sym_eager_pr.c index 84f897d6749..ccc5d20fa2c 100644 --- a/quantum/debounce/sym_eager_pr.c +++ b/quantum/debounce/sym_eager_pr.c @@ -19,9 +19,8 @@ After pressing a key, it immediately changes state, and sets a counter. No further inputs are accepted until DEBOUNCE milliseconds have occurred. */ -#include "matrix.h" +#include "debounce.h" #include "timer.h" -#include "quantum.h" #include #ifdef PROTOCOL_CHIBIOS diff --git a/quantum/debounce/tests/debounce_test_common.cpp b/quantum/debounce/tests/debounce_test_common.cpp index bd98e329554..b11378b286a 100644 --- a/quantum/debounce/tests/debounce_test_common.cpp +++ b/quantum/debounce/tests/debounce_test_common.cpp @@ -23,9 +23,8 @@ #include extern "C" { -#include "quantum.h" -#include "timer.h" #include "debounce.h" +#include "timer.h" void set_time(uint32_t t); void advance_time(uint32_t ms); diff --git a/quantum/debounce/tests/debounce_test_common.h b/quantum/debounce/tests/debounce_test_common.h index b7becb37826..7319abfbf3f 100644 --- a/quantum/debounce/tests/debounce_test_common.h +++ b/quantum/debounce/tests/debounce_test_common.h @@ -21,7 +21,7 @@ #include extern "C" { -#include "quantum.h" +#include "matrix.h" #include "timer.h" } diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c index 90a0f208382..2030c82a1be 100644 --- a/quantum/dynamic_keymap.c +++ b/quantum/dynamic_keymap.c @@ -152,22 +152,13 @@ void dynamic_keymap_reset(void) { for (int layer = 0; layer < DYNAMIC_KEYMAP_LAYER_COUNT; layer++) { for (int row = 0; row < MATRIX_ROWS; row++) { for (int column = 0; column < MATRIX_COLS; column++) { - if (layer < keymap_layer_count()) { - dynamic_keymap_set_keycode(layer, row, column, keycode_at_keymap_location_raw(layer, row, column)); - } else { - dynamic_keymap_set_keycode(layer, row, column, KC_TRANSPARENT); - } + dynamic_keymap_set_keycode(layer, row, column, keycode_at_keymap_location_raw(layer, row, column)); } } #ifdef ENCODER_MAP_ENABLE for (int encoder = 0; encoder < NUM_ENCODERS; encoder++) { - if (layer < encodermap_layer_count()) { - dynamic_keymap_set_encoder(layer, encoder, true, keycode_at_encodermap_location_raw(layer, encoder, true)); - dynamic_keymap_set_encoder(layer, encoder, false, keycode_at_encodermap_location_raw(layer, encoder, false)); - } else { - dynamic_keymap_set_encoder(layer, encoder, true, KC_TRANSPARENT); - dynamic_keymap_set_encoder(layer, encoder, false, KC_TRANSPARENT); - } + dynamic_keymap_set_encoder(layer, encoder, true, keycode_at_encodermap_location_raw(layer, encoder, true)); + dynamic_keymap_set_encoder(layer, encoder, false, keycode_at_encodermap_location_raw(layer, encoder, false)); } #endif // ENCODER_MAP_ENABLE } diff --git a/quantum/keycode_config.c b/quantum/keycode_config.c index 9dd7097c861..864488a65c9 100644 --- a/quantum/keycode_config.c +++ b/quantum/keycode_config.c @@ -122,40 +122,36 @@ __attribute__((weak)) uint16_t keycode_config(uint16_t keycode) { */ __attribute__((weak)) uint8_t mod_config(uint8_t mod) { + /** + * Note: This function is for the 5-bit packed mods, NOT the full 8-bit mods. + * More info about the mods can be seen in modifiers.h. + */ if (keymap_config.swap_lalt_lgui) { - if ((mod & MOD_RGUI) == MOD_LGUI) { - mod &= ~MOD_LGUI; - mod |= MOD_LALT; - } else if ((mod & MOD_RALT) == MOD_LALT) { - mod &= ~MOD_LALT; - mod |= MOD_LGUI; + /** If both modifiers pressed or neither pressed, do nothing + * Otherwise swap the values + * Note: The left mods are ANDed with the right-hand values to check + * if they were pressed with the right hand bit set + */ + if (((mod & MOD_RALT) == MOD_LALT) ^ ((mod & MOD_RGUI) == MOD_LGUI)) { + mod ^= (MOD_LALT | MOD_LGUI); } } if (keymap_config.swap_ralt_rgui) { - if ((mod & MOD_RGUI) == MOD_RGUI) { - mod &= ~MOD_RGUI; - mod |= MOD_RALT; - } else if ((mod & MOD_RALT) == MOD_RALT) { - mod &= ~MOD_RALT; - mod |= MOD_RGUI; + if (((mod & MOD_RALT) == MOD_RALT) ^ ((mod & MOD_RGUI) == MOD_RGUI)) { + /* lefthand values to preserve the right hand bit */ + mod ^= (MOD_LALT | MOD_LGUI); } } if (keymap_config.swap_lctl_lgui) { - if ((mod & MOD_RGUI) == MOD_LGUI) { - mod &= ~MOD_LGUI; - mod |= MOD_LCTL; - } else if ((mod & MOD_RCTL) == MOD_LCTL) { - mod &= ~MOD_LCTL; - mod |= MOD_LGUI; + /* left mods ANDed with right-hand values to check for right hand bit */ + if (((mod & MOD_RCTL) == MOD_LCTL) ^ ((mod & MOD_RGUI) == MOD_LGUI)) { + mod ^= (MOD_LCTL | MOD_LGUI); } } if (keymap_config.swap_rctl_rgui) { - if ((mod & MOD_RGUI) == MOD_RGUI) { - mod &= ~MOD_RGUI; - mod |= MOD_RCTL; - } else if ((mod & MOD_RCTL) == MOD_RCTL) { - mod &= ~MOD_RCTL; - mod |= MOD_RGUI; + if (((mod & MOD_RCTL) == MOD_RCTL) ^ ((mod & MOD_RGUI) == MOD_RGUI)) { + /* lefthand values to preserve the right hand bit */ + mod ^= (MOD_LCTL | MOD_LGUI); } } if (keymap_config.no_gui) { diff --git a/quantum/keymap_extras/sendstring_belgian.h b/quantum/keymap_extras/sendstring_belgian.h index 34ca9514c81..f33d6272e82 100644 --- a/quantum/keymap_extras/sendstring_belgian.h +++ b/quantum/keymap_extras/sendstring_belgian.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_belgian.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_bepo.h b/quantum/keymap_extras/sendstring_bepo.h index 0f0d5a2111e..1d24728ab66 100644 --- a/quantum/keymap_extras/sendstring_bepo.h +++ b/quantum/keymap_extras/sendstring_bepo.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_bepo.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_brazilian_abnt2.h b/quantum/keymap_extras/sendstring_brazilian_abnt2.h index b52ce4958ab..ca908353ab4 100644 --- a/quantum/keymap_extras/sendstring_brazilian_abnt2.h +++ b/quantum/keymap_extras/sendstring_brazilian_abnt2.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_brazilian_abnt2.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_canadian_multilingual.h b/quantum/keymap_extras/sendstring_canadian_multilingual.h index 92b588c82e4..63bca96de9e 100644 --- a/quantum/keymap_extras/sendstring_canadian_multilingual.h +++ b/quantum/keymap_extras/sendstring_canadian_multilingual.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_canadian_multilingual.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_colemak.h b/quantum/keymap_extras/sendstring_colemak.h index 3aef96b24af..1514620cb66 100644 --- a/quantum/keymap_extras/sendstring_colemak.h +++ b/quantum/keymap_extras/sendstring_colemak.h @@ -18,6 +18,7 @@ #pragma once +#include "send_string.h" #include "keymap_colemak.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_croatian.h b/quantum/keymap_extras/sendstring_croatian.h index bf51c81a884..e43b54713d4 100644 --- a/quantum/keymap_extras/sendstring_croatian.h +++ b/quantum/keymap_extras/sendstring_croatian.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_croatian.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_czech.h b/quantum/keymap_extras/sendstring_czech.h index 54c33174186..083a723403b 100644 --- a/quantum/keymap_extras/sendstring_czech.h +++ b/quantum/keymap_extras/sendstring_czech.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_czech.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_danish.h b/quantum/keymap_extras/sendstring_danish.h index 6923063ce2c..573e4afae22 100644 --- a/quantum/keymap_extras/sendstring_danish.h +++ b/quantum/keymap_extras/sendstring_danish.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_danish.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_dvorak.h b/quantum/keymap_extras/sendstring_dvorak.h index 25e1d31423a..d31a33ba518 100644 --- a/quantum/keymap_extras/sendstring_dvorak.h +++ b/quantum/keymap_extras/sendstring_dvorak.h @@ -18,6 +18,7 @@ #pragma once +#include "send_string.h" #include "keymap_dvorak.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_dvorak_fr.h b/quantum/keymap_extras/sendstring_dvorak_fr.h index 2f4f2817949..f1c3fa04ccc 100644 --- a/quantum/keymap_extras/sendstring_dvorak_fr.h +++ b/quantum/keymap_extras/sendstring_dvorak_fr.h @@ -18,6 +18,7 @@ #pragma once +#include "send_string.h" #include "keymap_dvorak_fr.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_dvorak_programmer.h b/quantum/keymap_extras/sendstring_dvorak_programmer.h index f19bb6f4b21..372ee5726b3 100644 --- a/quantum/keymap_extras/sendstring_dvorak_programmer.h +++ b/quantum/keymap_extras/sendstring_dvorak_programmer.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_dvorak_programmer.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_estonian.h b/quantum/keymap_extras/sendstring_estonian.h index 9ea2ab3f8ff..903ec3cab37 100644 --- a/quantum/keymap_extras/sendstring_estonian.h +++ b/quantum/keymap_extras/sendstring_estonian.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_estonian.h" -#include "quantum" // clang-format off diff --git a/quantum/keymap_extras/sendstring_finnish.h b/quantum/keymap_extras/sendstring_finnish.h index 197836ba83d..f797f34e0ad 100644 --- a/quantum/keymap_extras/sendstring_finnish.h +++ b/quantum/keymap_extras/sendstring_finnish.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_finnish.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_french.h b/quantum/keymap_extras/sendstring_french.h index a37a5d314bd..0e585ec0937 100644 --- a/quantum/keymap_extras/sendstring_french.h +++ b/quantum/keymap_extras/sendstring_french.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_french.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_french_afnor.h b/quantum/keymap_extras/sendstring_french_afnor.h index 1408634a266..55b90b32046 100644 --- a/quantum/keymap_extras/sendstring_french_afnor.h +++ b/quantum/keymap_extras/sendstring_french_afnor.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_french_afnor.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_french_mac_iso.h b/quantum/keymap_extras/sendstring_french_mac_iso.h index 1033c3991fe..9a170078986 100644 --- a/quantum/keymap_extras/sendstring_french_mac_iso.h +++ b/quantum/keymap_extras/sendstring_french_mac_iso.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_french_mac_iso.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_german.h b/quantum/keymap_extras/sendstring_german.h index 69c7dd996ed..79357d71e49 100644 --- a/quantum/keymap_extras/sendstring_german.h +++ b/quantum/keymap_extras/sendstring_german.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_german.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_german_mac_iso.h b/quantum/keymap_extras/sendstring_german_mac_iso.h index 8345dbaaa14..711ba7d05bf 100644 --- a/quantum/keymap_extras/sendstring_german_mac_iso.h +++ b/quantum/keymap_extras/sendstring_german_mac_iso.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_german_mac_iso.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_hungarian.h b/quantum/keymap_extras/sendstring_hungarian.h index 9169ba25575..d96a8fcd049 100644 --- a/quantum/keymap_extras/sendstring_hungarian.h +++ b/quantum/keymap_extras/sendstring_hungarian.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_hungarian.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_icelandic.h b/quantum/keymap_extras/sendstring_icelandic.h index b25a4e76e7a..8515c6cccf5 100644 --- a/quantum/keymap_extras/sendstring_icelandic.h +++ b/quantum/keymap_extras/sendstring_icelandic.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_icelandic.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_italian.h b/quantum/keymap_extras/sendstring_italian.h index dad4902d34d..322da2ac1b8 100644 --- a/quantum/keymap_extras/sendstring_italian.h +++ b/quantum/keymap_extras/sendstring_italian.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_italian.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_italian_mac_ansi.h b/quantum/keymap_extras/sendstring_italian_mac_ansi.h index 97b5164e23b..2961316de69 100644 --- a/quantum/keymap_extras/sendstring_italian_mac_ansi.h +++ b/quantum/keymap_extras/sendstring_italian_mac_ansi.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_italian_mac_ansi.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_italian_mac_iso.h b/quantum/keymap_extras/sendstring_italian_mac_iso.h index d82e8bbddf1..25eb2549bda 100644 --- a/quantum/keymap_extras/sendstring_italian_mac_iso.h +++ b/quantum/keymap_extras/sendstring_italian_mac_iso.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_italian_mac_iso.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_japanese.h b/quantum/keymap_extras/sendstring_japanese.h index 13628d70238..043446acbf6 100644 --- a/quantum/keymap_extras/sendstring_japanese.h +++ b/quantum/keymap_extras/sendstring_japanese.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_japanese.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_latvian.h b/quantum/keymap_extras/sendstring_latvian.h index bd73a01e484..9323c603cc2 100644 --- a/quantum/keymap_extras/sendstring_latvian.h +++ b/quantum/keymap_extras/sendstring_latvian.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_latvian.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_lithuanian_azerty.h b/quantum/keymap_extras/sendstring_lithuanian_azerty.h index a886411143e..92d25700229 100644 --- a/quantum/keymap_extras/sendstring_lithuanian_azerty.h +++ b/quantum/keymap_extras/sendstring_lithuanian_azerty.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_lithuanian_azerty.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_lithuanian_qwerty.h b/quantum/keymap_extras/sendstring_lithuanian_qwerty.h index 69cb94de713..676930e9d3c 100644 --- a/quantum/keymap_extras/sendstring_lithuanian_qwerty.h +++ b/quantum/keymap_extras/sendstring_lithuanian_qwerty.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_lithuanian_qwerty.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_norman.h b/quantum/keymap_extras/sendstring_norman.h index 21dbbdd7054..b9b175c8220 100644 --- a/quantum/keymap_extras/sendstring_norman.h +++ b/quantum/keymap_extras/sendstring_norman.h @@ -18,6 +18,7 @@ #pragma once +#include "send_string.h" #include "keymap_norman.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_norwegian.h b/quantum/keymap_extras/sendstring_norwegian.h index 28813da51f4..ce362b76db1 100644 --- a/quantum/keymap_extras/sendstring_norwegian.h +++ b/quantum/keymap_extras/sendstring_norwegian.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_norwegian.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_portuguese.h b/quantum/keymap_extras/sendstring_portuguese.h index 37db5f97aab..951da2397ce 100644 --- a/quantum/keymap_extras/sendstring_portuguese.h +++ b/quantum/keymap_extras/sendstring_portuguese.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_portuguese.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_portuguese_mac_iso.h b/quantum/keymap_extras/sendstring_portuguese_mac_iso.h index 5d43c66279b..cda5541a50f 100644 --- a/quantum/keymap_extras/sendstring_portuguese_mac_iso.h +++ b/quantum/keymap_extras/sendstring_portuguese_mac_iso.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_portuguese_mac_iso.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_romanian.h b/quantum/keymap_extras/sendstring_romanian.h index 9b5bee4a13e..16d91371023 100644 --- a/quantum/keymap_extras/sendstring_romanian.h +++ b/quantum/keymap_extras/sendstring_romanian.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_romanian.h" -#include "quantum" // clang-format off diff --git a/quantum/keymap_extras/sendstring_serbian_latin.h b/quantum/keymap_extras/sendstring_serbian_latin.h index 7e19a62595c..5e3df75a951 100644 --- a/quantum/keymap_extras/sendstring_serbian_latin.h +++ b/quantum/keymap_extras/sendstring_serbian_latin.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_serbian_latin.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_slovak.h b/quantum/keymap_extras/sendstring_slovak.h index c94cca1379f..a908773969b 100644 --- a/quantum/keymap_extras/sendstring_slovak.h +++ b/quantum/keymap_extras/sendstring_slovak.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_slovak.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_slovenian.h b/quantum/keymap_extras/sendstring_slovenian.h index 117af7e76d6..1b863aa6e9f 100644 --- a/quantum/keymap_extras/sendstring_slovenian.h +++ b/quantum/keymap_extras/sendstring_slovenian.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_slovenian.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_spanish.h b/quantum/keymap_extras/sendstring_spanish.h index 680e99ef4ef..374ceaddfe0 100644 --- a/quantum/keymap_extras/sendstring_spanish.h +++ b/quantum/keymap_extras/sendstring_spanish.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_spanish.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_spanish_dvorak.h b/quantum/keymap_extras/sendstring_spanish_dvorak.h index ccf94582473..279b6f736ab 100644 --- a/quantum/keymap_extras/sendstring_spanish_dvorak.h +++ b/quantum/keymap_extras/sendstring_spanish_dvorak.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_spanish_dvorak.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_swedish.h b/quantum/keymap_extras/sendstring_swedish.h index d4513429927..6dd81ac95d6 100644 --- a/quantum/keymap_extras/sendstring_swedish.h +++ b/quantum/keymap_extras/sendstring_swedish.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_swedish.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_swiss_de.h b/quantum/keymap_extras/sendstring_swiss_de.h index f6aa19210c6..b352ab0b379 100644 --- a/quantum/keymap_extras/sendstring_swiss_de.h +++ b/quantum/keymap_extras/sendstring_swiss_de.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_swiss_de.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_swiss_fr.h b/quantum/keymap_extras/sendstring_swiss_fr.h index 7d04cc539a9..1559b5efa43 100644 --- a/quantum/keymap_extras/sendstring_swiss_fr.h +++ b/quantum/keymap_extras/sendstring_swiss_fr.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_swiss_fr.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_turkish_f.h b/quantum/keymap_extras/sendstring_turkish_f.h index cabd5c5dc5c..6d3e70bf81a 100644 --- a/quantum/keymap_extras/sendstring_turkish_f.h +++ b/quantum/keymap_extras/sendstring_turkish_f.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_turkish_f.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_turkish_q.h b/quantum/keymap_extras/sendstring_turkish_q.h index 986f0223333..077612737cd 100644 --- a/quantum/keymap_extras/sendstring_turkish_q.h +++ b/quantum/keymap_extras/sendstring_turkish_q.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_turkish_q.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_uk.h b/quantum/keymap_extras/sendstring_uk.h index bbd30769b00..2a79507f20c 100644 --- a/quantum/keymap_extras/sendstring_uk.h +++ b/quantum/keymap_extras/sendstring_uk.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_uk.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_us_international.h b/quantum/keymap_extras/sendstring_us_international.h index d1694ff0f0f..9b13a2fcf7d 100644 --- a/quantum/keymap_extras/sendstring_us_international.h +++ b/quantum/keymap_extras/sendstring_us_international.h @@ -18,8 +18,8 @@ #pragma once +#include "send_string.h" #include "keymap_us_international.h" -#include "quantum.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_workman.h b/quantum/keymap_extras/sendstring_workman.h index 04f8e3908a4..d22104fc5a1 100644 --- a/quantum/keymap_extras/sendstring_workman.h +++ b/quantum/keymap_extras/sendstring_workman.h @@ -18,6 +18,7 @@ #pragma once +#include "send_string.h" #include "keymap_workman.h" // clang-format off diff --git a/quantum/keymap_extras/sendstring_workman_zxcvm.h b/quantum/keymap_extras/sendstring_workman_zxcvm.h index e7605d7cce1..791268fdebd 100644 --- a/quantum/keymap_extras/sendstring_workman_zxcvm.h +++ b/quantum/keymap_extras/sendstring_workman_zxcvm.h @@ -18,6 +18,7 @@ #pragma once +#include "send_string.h" #include "keymap_workman_zxcvm.h" // clang-format off diff --git a/quantum/led.c b/quantum/led.c index 42144566fdd..8d86374a6f2 100644 --- a/quantum/led.c +++ b/quantum/led.c @@ -153,14 +153,14 @@ __attribute__((weak)) void led_set(uint8_t usb_led) { /** \brief Trigger behaviour on transition to suspend */ void led_suspend(void) { - uint8_t leds_off = 0; + led_t leds_off = {0}; #ifdef BACKLIGHT_CAPS_LOCK if (is_backlight_enabled()) { // Don't try to turn off Caps Lock indicator as it is backlight and backlight is already off - leds_off |= (1 << USB_LED_CAPS_LOCK); + leds_off.caps_lock = true; } #endif - led_set(leds_off); + led_set(leds_off.raw); } /** \brief Trigger behaviour on transition from suspend diff --git a/quantum/led.h b/quantum/led.h index b9ad7ed9ae7..b9fad670aeb 100644 --- a/quantum/led.h +++ b/quantum/led.h @@ -22,13 +22,6 @@ along with this program. If not, see . /* FIXME: Add doxygen comments here. */ -/* keyboard LEDs */ -#define USB_LED_NUM_LOCK 0 -#define USB_LED_CAPS_LOCK 1 -#define USB_LED_SCROLL_LOCK 2 -#define USB_LED_COMPOSE 3 -#define USB_LED_KANA 4 - #ifdef __cplusplus extern "C" { #endif diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index 828d61641a1..4b692d19045 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -366,7 +366,10 @@ void led_matrix_task(void) { case RENDERING: led_task_render(effect); if (effect) { - led_matrix_indicators(); + // Only run the basic indicators in the last render iteration (default there are 5 iterations) + if (led_effect_params.iter == LED_MATRIX_LED_PROCESS_MAX_ITERATIONS) { + led_matrix_indicators(); + } led_matrix_indicators_advanced(&led_effect_params); } break; diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index c7d360f366d..9091f6890b9 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -42,8 +42,9 @@ #endif #ifndef LED_MATRIX_LED_PROCESS_LIMIT -# define LED_MATRIX_LED_PROCESS_LIMIT (LED_MATRIX_LED_COUNT + 4) / 5 +# define LED_MATRIX_LED_PROCESS_LIMIT ((LED_MATRIX_LED_COUNT + 4) / 5) #endif +#define LED_MATRIX_LED_PROCESS_MAX_ITERATIONS ((LED_MATRIX_LED_COUNT + LED_MATRIX_LED_PROCESS_LIMIT - 1) / LED_MATRIX_LED_PROCESS_LIMIT) #if defined(LED_MATRIX_LED_PROCESS_LIMIT) && LED_MATRIX_LED_PROCESS_LIMIT > 0 && LED_MATRIX_LED_PROCESS_LIMIT < LED_MATRIX_LED_COUNT # if defined(LED_MATRIX_SPLIT) diff --git a/quantum/mousekey.c b/quantum/mousekey.c index ede055dc8f8..c982a2f40b4 100644 --- a/quantum/mousekey.c +++ b/quantum/mousekey.c @@ -25,11 +25,16 @@ #include "mousekey.h" static inline int8_t times_inv_sqrt2(int8_t x) { - // 181/256 is pretty close to 1/sqrt(2) - // 0.70703125 0.707106781 - // 1 too small for x=99 and x=198 - // This ends up being a mult and discard lower 8 bits - return (x * 181) >> 8; + // 181/256 (0.70703125) is used as an approximation for 1/sqrt(2) + // because it is close to the exact value which is 0.707106781 + const int16_t n = x * 181; + const uint16_t d = 256; + + // To ensure that the integer result is rounded accurately after + // division, check the sign of the numerator: + // If negative, subtract half of the denominator before dividing + // Otherwise, add half of the denominator before dividing + return n < 0 ? (n - d / 2) / d : (n + d / 2) / d; } static report_mouse_t mouse_report = {0}; @@ -175,7 +180,7 @@ static uint8_t wheel_unit(void) { /* * Kinetic movement acceleration algorithm * - * current speed = I + A * T/50 + A * 0.5 * T^2 | maximum B + * current speed = I + A * T/50 + A * (T/50)^2 * 1/2 | maximum B * * T: time since the mouse movement started * E: mouse events per second (set through MOUSEKEY_INTERVAL, UHK sends 250, the @@ -192,37 +197,46 @@ const uint16_t mk_initial_speed = MOUSEKEY_INITIAL_SPEED; static uint8_t move_unit(void) { uint16_t speed = mk_initial_speed; - if (mousekey_accel & ((1 << 0) | (1 << 2))) { - speed = mousekey_accel & (1 << 2) ? mk_accelerated_speed : mk_decelerated_speed; + if (mousekey_accel & (1 << 0)) { + speed = mk_decelerated_speed; + } else if (mousekey_accel & (1 << 2)) { + speed = mk_accelerated_speed; } else if (mousekey_repeat && mouse_timer) { const uint16_t time_elapsed = timer_elapsed(mouse_timer) / 50; - speed = mk_initial_speed + MOUSEKEY_MOVE_DELTA * time_elapsed + MOUSEKEY_MOVE_DELTA * 0.5 * time_elapsed * time_elapsed; - - speed = speed > mk_base_speed ? mk_base_speed : speed; + speed = mk_initial_speed + MOUSEKEY_MOVE_DELTA * time_elapsed + (MOUSEKEY_MOVE_DELTA * time_elapsed * time_elapsed) / 2; + if (speed > mk_base_speed) { + speed = mk_base_speed; + } } - /* convert speed to USB mouse speed 1 to 127 */ speed = (uint8_t)(speed / (1000U / mk_interval)); - speed = speed < 1 ? 1 : speed; - return speed > MOUSEKEY_MOVE_MAX ? MOUSEKEY_MOVE_MAX : speed; + if (speed > MOUSEKEY_MOVE_MAX) { + speed = MOUSEKEY_MOVE_MAX; + } else if (speed < 1) { + speed = 1; + } + return speed; } static uint8_t wheel_unit(void) { uint16_t speed = MOUSEKEY_WHEEL_INITIAL_MOVEMENTS; - if (mousekey_accel & ((1 << 0) | (1 << 2))) { - speed = mousekey_accel & (1 << 2) ? MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS : MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS; + if (mousekey_accel & (1 << 0)) { + speed = MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS; + } else if (mousekey_accel & (1 << 2)) { + speed = MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS; } else if (mousekey_wheel_repeat && mouse_timer) { if (mk_wheel_interval != MOUSEKEY_WHEEL_BASE_MOVEMENTS) { const uint16_t time_elapsed = timer_elapsed(mouse_timer) / 50; - speed = MOUSEKEY_WHEEL_INITIAL_MOVEMENTS + 1 * time_elapsed + 1 * 0.5 * time_elapsed * time_elapsed; + speed = MOUSEKEY_WHEEL_INITIAL_MOVEMENTS + 1 * time_elapsed + (1 * time_elapsed * time_elapsed) / 2; + } + if (speed > MOUSEKEY_WHEEL_BASE_MOVEMENTS) { + speed = MOUSEKEY_WHEEL_BASE_MOVEMENTS; } - speed = speed > MOUSEKEY_WHEEL_BASE_MOVEMENTS ? MOUSEKEY_WHEEL_BASE_MOVEMENTS : speed; } mk_wheel_interval = 1000U / speed; - - return (uint8_t)speed > MOUSEKEY_WHEEL_INITIAL_MOVEMENTS ? 2 : 1; + return 1; } # endif /* #ifndef MK_KINETIC_SPEED */ diff --git a/quantum/painter/lvgl/qp_lvgl.c b/quantum/painter/lvgl/qp_lvgl.c index 6cc0061d73b..280aeaf91f5 100644 --- a/quantum/painter/lvgl/qp_lvgl.c +++ b/quantum/painter/lvgl/qp_lvgl.c @@ -61,7 +61,7 @@ bool qp_lvgl_attach(painter_device_t device) { qp_lvgl_detach(); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_lvgl_attach: fail (validation_ok == false)\n"); qp_lvgl_detach(); return false; diff --git a/quantum/painter/qp.c b/quantum/painter/qp.c index aea9381b602..f27bb7892ad 100644 --- a/quantum/painter/qp.c +++ b/quantum/painter/qp.c @@ -30,6 +30,11 @@ bool qp_init(painter_device_t device, painter_rotation_t rotation) { qp_dprintf("qp_init: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; + if (!driver) { + qp_dprintf("qp_init: fail (pointer to NULL)\n"); + return false; + } + driver->validate_ok = false; if (!validate_driver_integrity(driver)) { qp_dprintf("Failed to validate driver integrity in qp_init\n"); @@ -65,7 +70,7 @@ bool qp_init(painter_device_t device, painter_rotation_t rotation) { bool qp_power(painter_device_t device, bool power_on) { qp_dprintf("qp_power: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_power: fail (validation_ok == false)\n"); return false; } @@ -87,7 +92,7 @@ bool qp_power(painter_device_t device, bool power_on) { bool qp_clear(painter_device_t device) { qp_dprintf("qp_clear: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_clear: fail (validation_ok == false)\n"); return false; } @@ -109,7 +114,7 @@ bool qp_clear(painter_device_t device) { bool qp_flush(painter_device_t device) { qp_dprintf("qp_flush: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_flush: fail (validation_ok == false)\n"); return false; } @@ -129,9 +134,14 @@ bool qp_flush(painter_device_t device) { // Quantum Painter External API: qp_get_geometry void qp_get_geometry(painter_device_t device, uint16_t *width, uint16_t *height, painter_rotation_t *rotation, uint16_t *offset_x, uint16_t *offset_y) { - qp_dprintf("qp_geometry: entry\n"); + qp_dprintf("qp_get_geometry: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; + if (!driver) { + qp_dprintf("qp_get_geometry: fail (pointer to NULL)\n"); + return; + } + switch (driver->rotation) { default: case QP_ROTATION_0: @@ -166,7 +176,7 @@ void qp_get_geometry(painter_device_t device, uint16_t *width, uint16_t *height, *offset_y = driver->offset_y; } - qp_dprintf("qp_geometry: ok\n"); + qp_dprintf("qp_get_geometry: ok\n"); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -176,6 +186,11 @@ void qp_set_viewport_offsets(painter_device_t device, uint16_t offset_x, uint16_ qp_dprintf("qp_set_viewport_offsets: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; + if (!driver) { + qp_dprintf("qp_set_viewport_offsets: fail (pointer to NULL)\n"); + return; + } + driver->offset_x = offset_x; driver->offset_y = offset_y; @@ -188,7 +203,7 @@ void qp_set_viewport_offsets(painter_device_t device, uint16_t offset_x, uint16_ bool qp_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { qp_dprintf("qp_viewport: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_viewport: fail (validation_ok == false)\n"); return false; } @@ -211,7 +226,7 @@ bool qp_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t bool qp_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { qp_dprintf("qp_pixdata: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_pixdata: fail (validation_ok == false)\n"); return false; } diff --git a/quantum/painter/qp_comms.c b/quantum/painter/qp_comms.c index bcc6de8f2ec..63667783e10 100644 --- a/quantum/painter/qp_comms.c +++ b/quantum/painter/qp_comms.c @@ -8,7 +8,7 @@ bool qp_comms_init(painter_device_t device) { painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_comms_init: fail (validation_ok == false)\n"); return false; } @@ -18,7 +18,7 @@ bool qp_comms_init(painter_device_t device) { bool qp_comms_start(painter_device_t device) { painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_comms_start: fail (validation_ok == false)\n"); return false; } @@ -28,7 +28,7 @@ bool qp_comms_start(painter_device_t device) { void qp_comms_stop(painter_device_t device) { painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_comms_stop: fail (validation_ok == false)\n"); return; } @@ -38,7 +38,7 @@ void qp_comms_stop(painter_device_t device) { uint32_t qp_comms_send(painter_device_t device, const void *data, uint32_t byte_count) { painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_comms_send: fail (validation_ok == false)\n"); return false; } diff --git a/quantum/painter/qp_draw_circle.c b/quantum/painter/qp_draw_circle.c index 25517d91c59..7f5a7ddfcd7 100644 --- a/quantum/painter/qp_draw_circle.c +++ b/quantum/painter/qp_draw_circle.c @@ -128,7 +128,7 @@ static bool qp_circle_helper_impl(painter_device_t device, uint16_t centerx, uin bool qp_circle(painter_device_t device, uint16_t x, uint16_t y, uint16_t radius, uint8_t hue, uint8_t sat, uint8_t val, bool filled) { qp_dprintf("qp_circle: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_circle: fail (validation_ok == false)\n"); return false; } diff --git a/quantum/painter/qp_draw_core.c b/quantum/painter/qp_draw_core.c index 3988aaedf8e..aa5fa4aa761 100644 --- a/quantum/painter/qp_draw_core.c +++ b/quantum/painter/qp_draw_core.c @@ -145,7 +145,7 @@ bool qp_internal_load_qgf_palette(qp_stream_t *stream, uint8_t bpp) { bool qp_setpixel(painter_device_t device, uint16_t x, uint16_t y, uint8_t hue, uint8_t sat, uint8_t val) { painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_setpixel: fail (validation_ok == false)\n"); return false; } @@ -175,7 +175,7 @@ bool qp_line(painter_device_t device, uint16_t x0, uint16_t y0, uint16_t x1, uin qp_dprintf("qp_line(%d, %d, %d, %d): entry\n", (int)x0, (int)y0, (int)x1, (int)y1); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_line: fail (validation_ok == false)\n"); return false; } @@ -253,7 +253,7 @@ bool qp_internal_fillrect_helper_impl(painter_device_t device, uint16_t left, ui bool qp_rect(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint8_t hue, uint8_t sat, uint8_t val, bool filled) { qp_dprintf("qp_rect(%d, %d, %d, %d): entry\n", (int)left, (int)top, (int)right, (int)bottom); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_rect: fail (validation_ok == false)\n"); return false; } diff --git a/quantum/painter/qp_draw_ellipse.c b/quantum/painter/qp_draw_ellipse.c index 5c7abd7a7da..e912a3e91fe 100644 --- a/quantum/painter/qp_draw_ellipse.c +++ b/quantum/painter/qp_draw_ellipse.c @@ -62,7 +62,7 @@ static bool qp_ellipse_helper_impl(painter_device_t device, uint16_t centerx, ui bool qp_ellipse(painter_device_t device, uint16_t x, uint16_t y, uint16_t sizex, uint16_t sizey, uint8_t hue, uint8_t sat, uint8_t val, bool filled) { qp_dprintf("qp_ellipse: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_ellipse: fail (validation_ok == false)\n"); return false; } diff --git a/quantum/painter/qp_draw_image.c b/quantum/painter/qp_draw_image.c index 9f86b29f8b0..fb17a05a1b6 100644 --- a/quantum/painter/qp_draw_image.c +++ b/quantum/painter/qp_draw_image.c @@ -90,7 +90,7 @@ painter_image_handle_t qp_load_image_mem(const void *buffer) { bool qp_close_image(painter_image_handle_t image) { qgf_image_handle_t *qgf_image = (qgf_image_handle_t *)image; - if (!qgf_image->validate_ok) { + if (!qgf_image || !qgf_image->validate_ok) { qp_dprintf("qp_close_image: fail (invalid image)\n"); return false; } @@ -210,13 +210,13 @@ static bool qp_drawimage_prepare_frame_for_stream_read(painter_device_t device, static bool qp_drawimage_recolor_impl(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image, int frame_number, qgf_frame_info_t *frame_info, qp_pixel_t fg_hsv888, qp_pixel_t bg_hsv888) { qp_dprintf("qp_drawimage_recolor: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_drawimage_recolor: fail (validation_ok == false)\n"); return false; } qgf_image_handle_t *qgf_image = (qgf_image_handle_t *)image; - if (!qgf_image->validate_ok) { + if (!qgf_image || !qgf_image->validate_ok) { qp_dprintf("qp_drawimage_recolor: fail (invalid image)\n"); return false; } diff --git a/quantum/painter/qp_draw_text.c b/quantum/painter/qp_draw_text.c index a70caac6f4b..ff6fc01d11e 100644 --- a/quantum/painter/qp_draw_text.c +++ b/quantum/painter/qp_draw_text.c @@ -136,7 +136,7 @@ painter_font_handle_t qp_load_font_mem(const void *buffer) { bool qp_close_font(painter_font_handle_t font) { qff_font_handle_t *qff_font = (qff_font_handle_t *)font; - if (!qff_font->validate_ok) { + if (!qff_font || !qff_font->validate_ok) { qp_dprintf("qp_close_font: fail (invalid font)\n"); return false; } @@ -380,7 +380,7 @@ static inline bool qp_font_code_point_handler_drawglyph(qff_font_handle_t *qff_f int16_t qp_textwidth(painter_font_handle_t font, const char *str) { qff_font_handle_t *qff_font = (qff_font_handle_t *)font; - if (!qff_font->validate_ok) { + if (!qff_font || !qff_font->validate_ok) { qp_dprintf("qp_textwidth: fail (invalid font)\n"); return false; } @@ -406,13 +406,13 @@ int16_t qp_drawtext(painter_device_t device, uint16_t x, uint16_t y, painter_fon int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, painter_font_handle_t font, const char *str, uint8_t hue_fg, uint8_t sat_fg, uint8_t val_fg, uint8_t hue_bg, uint8_t sat_bg, uint8_t val_bg) { qp_dprintf("qp_drawtext_recolor: entry\n"); painter_driver_t *driver = (painter_driver_t *)device; - if (!driver->validate_ok) { + if (!driver || !driver->validate_ok) { qp_dprintf("qp_drawtext_recolor: fail (validation_ok == false)\n"); return 0; } qff_font_handle_t *qff_font = (qff_font_handle_t *)font; - if (!qff_font->validate_ok) { + if (!qff_font || !qff_font->validate_ok) { qp_dprintf("qp_drawtext_recolor: fail (invalid font)\n"); return false; } diff --git a/quantum/process_keycode/process_auto_shift.c b/quantum/process_keycode/process_auto_shift.c index 62c347ae0cd..63e893fc187 100644 --- a/quantum/process_keycode/process_auto_shift.c +++ b/quantum/process_keycode/process_auto_shift.c @@ -75,7 +75,15 @@ __attribute__((weak)) bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *r case AUTO_SHIFT_NUMERIC: # endif # ifndef NO_AUTO_SHIFT_SPECIAL - case AUTO_SHIFT_SPECIAL: +# ifndef NO_AUTO_SHIFT_TAB + case KC_TAB: +# endif +# ifndef NO_AUTO_SHIFT_SYMBOLS + case AUTO_SHIFT_SYMBOLS: +# endif +# endif +# ifdef AUTO_SHIFT_ENTER + case KC_ENT: # endif return true; } diff --git a/quantum/process_keycode/process_auto_shift.h b/quantum/process_keycode/process_auto_shift.h index 66a4b3138a3..780177d2ffd 100644 --- a/quantum/process_keycode/process_auto_shift.h +++ b/quantum/process_keycode/process_auto_shift.h @@ -28,10 +28,14 @@ // clang-format off #define AUTO_SHIFT_ALPHA KC_A ... KC_Z #define AUTO_SHIFT_NUMERIC KC_1 ... KC_0 +#define AUTO_SHIFT_SYMBOLS \ + KC_MINUS ... KC_SLASH: \ + case KC_NONUS_BACKSLASH + +// Kept to avoid breaking existing keymaps. #define AUTO_SHIFT_SPECIAL \ KC_TAB: \ - case KC_MINUS ... KC_SLASH: \ - case KC_NONUS_BACKSLASH + case AUTO_SHIFT_SYMBOLS // clang-format on bool process_auto_shift(uint16_t keycode, keyrecord_t *record); diff --git a/quantum/process_keycode/process_autocorrect.c b/quantum/process_keycode/process_autocorrect.c index 7c9cb814e59..cc1f19e4f97 100644 --- a/quantum/process_keycode/process_autocorrect.c +++ b/quantum/process_keycode/process_autocorrect.c @@ -1,5 +1,6 @@ // Copyright 2021 Google LLC // Copyright 2021 @filterpaper +// Copyright 2023 Pablo Martinez (@elpekenin) // SPDX-License-Identifier: Apache-2.0 // Original source: https://getreuer.info/posts/keyboards/autocorrection @@ -174,10 +175,12 @@ bool process_autocorrect_default_handler(uint16_t *keycode, keyrecord_t *record, * * @param backspaces number of characters to remove * @param str pointer to PROGMEM string to replace mistyped seletion with + * @param typo the wrong string that triggered a correction + * @param correct what it would become after the changes * @return true apply correction * @return false user handled replacement */ -__attribute__((weak)) bool apply_autocorrect(uint8_t backspaces, const char *str) { +__attribute__((weak)) bool apply_autocorrect(uint8_t backspaces, const char *str, char *typo, char *correct) { return true; } @@ -301,11 +304,57 @@ bool process_autocorrect(uint16_t keycode, keyrecord_t *record) { if (code & 128) { // A typo was found! Apply autocorrect. const uint8_t backspaces = (code & 63) + !record->event.pressed; - if (apply_autocorrect(backspaces, (char const *)(autocorrect_data + state + 1))) { + const char * changes = (const char *)(autocorrect_data + state + 1); + + /* Gather info about the typo'd word + * + * Since buffer may contain several words, delimited by spaces, we + * iterate from the end to find the start and length of the typo + */ + char typo[AUTOCORRECT_MAX_LENGTH + 1] = {0}; // extra char for null terminator + + uint8_t typo_len = 0; + uint8_t typo_start = 0; + bool space_last = typo_buffer[typo_buffer_size - 1] == KC_SPC; + for (uint8_t i = typo_buffer_size; i > 0; --i) { + // stop counting after finding space (unless it is the last thing) + if (typo_buffer[i - 1] == KC_SPC && i != typo_buffer_size) { + typo_start = i; + break; + } + + ++typo_len; + } + + // when detecting 'typo:', reduce the length of the string by one + if (space_last) { + --typo_len; + } + + // convert buffer of keycodes into a string + for (uint8_t i = 0; i < typo_len; ++i) { + typo[i] = typo_buffer[typo_start + i] - KC_A + 'a'; + } + + /* Gather the corrected word + * + * A) Correction of 'typo:' -- Code takes into account + * an extra backspace to delete the space (which we dont copy) + * for this reason the offset is correct to "skip" the null terminator + * + * B) When correcting 'typo' -- Need extra offset for terminator + */ + char correct[AUTOCORRECT_MAX_LENGTH + 10] = {0}; // let's hope this is big enough + + uint8_t offset = space_last ? backspaces : backspaces + 1; + strcpy(correct, typo); + strcpy_P(correct + typo_len - offset, changes); + + if (apply_autocorrect(backspaces, changes, typo, correct)) { for (uint8_t i = 0; i < backspaces; ++i) { tap_code(KC_BSPC); } - send_string_P((char const *)(autocorrect_data + state + 1)); + send_string_P(changes); } if (keycode == KC_SPC) { diff --git a/quantum/process_keycode/process_autocorrect.h b/quantum/process_keycode/process_autocorrect.h index 00dacbf958b..9cc7d46a8b7 100644 --- a/quantum/process_keycode/process_autocorrect.h +++ b/quantum/process_keycode/process_autocorrect.h @@ -1,5 +1,6 @@ // Copyright 2021 Google LLC // Copyright 2021 @filterpaper +// Copyright 2023 Pablo Martinez (@elpekenin) // SPDX-License-Identifier: Apache-2.0 // Original source: https://getreuer.info/posts/keyboards/autocorrection @@ -10,7 +11,7 @@ bool process_autocorrect(uint16_t keycode, keyrecord_t *record); bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods); bool process_autocorrect_default_handler(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods); -bool apply_autocorrect(uint8_t backspaces, const char *str); +bool apply_autocorrect(uint8_t backspaces, const char *str, char *typo, char *correct); bool autocorrect_is_enabled(void); void autocorrect_enable(void); diff --git a/quantum/process_keycode/process_key_override.c b/quantum/process_keycode/process_key_override.c index 17e490e67ae..de628d3fec7 100644 --- a/quantum/process_keycode/process_key_override.c +++ b/quantum/process_keycode/process_key_override.c @@ -322,6 +322,15 @@ static bool try_activating_override(const uint16_t keycode, const uint8_t layer, clear_active_override(false); +#ifdef DUMMY_MOD_NEUTRALIZER_KEYCODE + // Send a dummy keycode before unregistering the modifier(s) + // so that suppressing the modifier(s) doesn't falsely get interpreted + // by the host OS as a tap of a modifier key. + // For example, unintended activations of the start menu on Windows when + // using a GUI+ key override with suppressed mods. + neutralize_flashing_modifiers(active_mods); +#endif + active_override = override; active_override_trigger_is_down = true; diff --git a/quantum/quantum.c b/quantum/quantum.c index fe3e85720dd..c6a40a4baa2 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -310,15 +310,15 @@ bool process_record_quantum(keyrecord_t *record) { #if (defined(AUDIO_ENABLE) || (defined(MIDI_ENABLE) && defined(MIDI_BASIC))) && !defined(NO_MUSIC_MODE) process_music(keycode, record) && #endif +#ifdef CAPS_WORD_ENABLE + process_caps_word(keycode, record) && +#endif #ifdef KEY_OVERRIDE_ENABLE process_key_override(keycode, record) && #endif #ifdef TAP_DANCE_ENABLE process_tap_dance(keycode, record) && #endif -#ifdef CAPS_WORD_ENABLE - process_caps_word(keycode, record) && -#endif #if defined(UNICODE_COMMON_ENABLE) process_unicode_common(keycode, record) && #endif diff --git a/quantum/rgb_matrix/animations/pixel_fractal_anim.h b/quantum/rgb_matrix/animations/pixel_fractal_anim.h index 875b4ceb3dc..4cd1d9b8614 100644 --- a/quantum/rgb_matrix/animations/pixel_fractal_anim.h +++ b/quantum/rgb_matrix/animations/pixel_fractal_anim.h @@ -7,7 +7,11 @@ RGB_MATRIX_EFFECT(PIXEL_FRACTAL) # ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS static bool PIXEL_FRACTAL(effect_params_t* params) { -# define MID_COL MATRIX_COLS / 2 +# if MATRIX_COLS < 2 +# define MID_COL 1 +# else +# define MID_COL MATRIX_COLS / 2 +# endif static bool led[MATRIX_ROWS][MID_COL]; static uint32_t wait_timer = 0; diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 1f3912cf7e0..16803897935 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -428,7 +428,10 @@ void rgb_matrix_task(void) { case RENDERING: rgb_task_render(effect); if (effect) { - rgb_matrix_indicators(); + // Only run the basic indicators in the last render iteration (default there are 5 iterations) + if (rgb_effect_params.iter == RGB_MATRIX_LED_PROCESS_MAX_ITERATIONS) { + rgb_matrix_indicators(); + } rgb_matrix_indicators_advanced(&rgb_effect_params); } break; diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index 9ea248b66d2..83851d89950 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -49,8 +49,9 @@ #endif #ifndef RGB_MATRIX_LED_PROCESS_LIMIT -# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 +# define RGB_MATRIX_LED_PROCESS_LIMIT ((RGB_MATRIX_LED_COUNT + 4) / 5) #endif +#define RGB_MATRIX_LED_PROCESS_MAX_ITERATIONS ((RGB_MATRIX_LED_COUNT + RGB_MATRIX_LED_PROCESS_LIMIT - 1) / RGB_MATRIX_LED_PROCESS_LIMIT) #if defined(RGB_MATRIX_LED_PROCESS_LIMIT) && RGB_MATRIX_LED_PROCESS_LIMIT > 0 && RGB_MATRIX_LED_PROCESS_LIMIT < RGB_MATRIX_LED_COUNT # if defined(RGB_MATRIX_SPLIT) diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index ea28801a40a..158112f31da 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -1277,7 +1277,7 @@ void rgblight_effect_snake(animation_status_t *anim) { for (j = 0; j < RGBLIGHT_EFFECT_SNAKE_LENGTH; j++) { k = pos + j * increment; if (k > RGBLED_NUM) { - k = k % RGBLED_NUM; + k = k % (RGBLED_NUM); } if (k < 0) { k = k + rgblight_ranges.effect_num_leds; diff --git a/quantum/via.c b/quantum/via.c index c54e37a1751..f4293dacd4a 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -31,7 +31,7 @@ #include "eeprom.h" #include "version.h" // for QMK_BUILDDATE used in EEPROM magic -#if defined(RGB_MATRIX_ENABLE) +#if (defined(RGB_MATRIX_ENABLE) || defined(LED_MATRIX_ENABLE)) # include #endif @@ -141,6 +141,9 @@ __attribute__((weak)) void via_set_device_indication(uint8_t value) { #if defined(RGB_MATRIX_ENABLE) rgb_matrix_toggle_noeeprom(); #endif // RGB_MATRIX_ENABLE +#if defined(LED_MATRIX_ENABLE) + led_matrix_toggle_noeeprom(); +#endif // LED_MATRIX_ENABLE #if defined(AUDIO_ENABLE) if (value == 0) { wait_ms(10); @@ -194,6 +197,7 @@ __attribute__((weak)) void via_custom_value_command_kb(uint8_t *data, uint8_t le // id_qmk_backlight_channel -> via_qmk_backlight_command() // id_qmk_rgblight_channel -> via_qmk_rgblight_command() // id_qmk_rgb_matrix_channel -> via_qmk_rgb_matrix_command() +// id_qmk_led_matrix_channel -> via_qmk_led_matrix_command() // id_qmk_audio_channel -> via_qmk_audio_command() // __attribute__((weak)) void via_custom_value_command(uint8_t *data, uint8_t length) { @@ -219,7 +223,14 @@ __attribute__((weak)) void via_custom_value_command(uint8_t *data, uint8_t lengt via_qmk_rgb_matrix_command(data, length); return; } -#endif // RGBLIGHT_ENABLE +#endif // RGB_MATRIX_ENABLE + +#if defined(LED_MATRIX_ENABLE) + if (*channel_id == id_qmk_led_matrix_channel) { + via_qmk_led_matrix_command(data, length); + return; + } +#endif // LED_MATRIX_ENABLE #if defined(AUDIO_ENABLE) if (*channel_id == id_qmk_audio_channel) { @@ -692,6 +703,90 @@ void via_qmk_rgb_matrix_save(void) { #endif // RGB_MATRIX_ENABLE +#if defined(LED_MATRIX_ENABLE) + +# if !defined(LED_MATRIX_MAXIMUM_BRIGHTNESS) || LED_MATRIX_MAXIMUM_BRIGHTNESS > UINT8_MAX +# undef LED_MATRIX_MAXIMUM_BRIGHTNESS +# define LED_MATRIX_MAXIMUM_BRIGHTNESS UINT8_MAX +# endif + +void via_qmk_led_matrix_command(uint8_t *data, uint8_t length) { + // data = [ command_id, channel_id, value_id, value_data ] + uint8_t *command_id = &(data[0]); + uint8_t *value_id_and_data = &(data[2]); + + switch (*command_id) { + case id_custom_set_value: { + via_qmk_led_matrix_set_value(value_id_and_data); + break; + } + case id_custom_get_value: { + via_qmk_led_matrix_get_value(value_id_and_data); + break; + } + case id_custom_save: { + via_qmk_led_matrix_save(); + break; + } + default: { + *command_id = id_unhandled; + break; + } + } +} + +void via_qmk_led_matrix_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_qmk_led_matrix_brightness: { + value_data[0] = ((uint16_t)led_matrix_get_val() * UINT8_MAX) / LED_MATRIX_MAXIMUM_BRIGHTNESS; + break; + } + case id_qmk_led_matrix_effect: { + value_data[0] = led_matrix_is_enabled() ? led_matrix_get_mode() : 0; + break; + } + case id_qmk_led_matrix_effect_speed: { + value_data[0] = led_matrix_get_speed(); + break; + } + } +} + +void via_qmk_led_matrix_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_qmk_led_matrix_brightness: { + led_matrix_set_val_noeeprom(scale8(value_data[0], LED_MATRIX_MAXIMUM_BRIGHTNESS)); + break; + } + case id_qmk_led_matrix_effect: { + if (value_data[0] == 0) { + led_matrix_disable_noeeprom(); + } else { + led_matrix_enable_noeeprom(); + led_matrix_mode_noeeprom(value_data[0]); + } + break; + } + case id_qmk_led_matrix_effect_speed: { + led_matrix_set_speed_noeeprom(value_data[0]); + break; + } + } +} + +void via_qmk_led_matrix_save(void) { + eeconfig_update_led_matrix(); +} + +#endif // LED_MATRIX_ENABLE + #if defined(AUDIO_ENABLE) extern audio_config_t audio_config; diff --git a/quantum/via.h b/quantum/via.h index ab4eb050281..6c8465b81e0 100644 --- a/quantum/via.h +++ b/quantum/via.h @@ -109,6 +109,7 @@ enum via_channel_id { id_qmk_rgblight_channel = 2, id_qmk_rgb_matrix_channel = 3, id_qmk_audio_channel = 4, + id_qmk_led_matrix_channel = 5, }; enum via_qmk_backlight_value { @@ -130,6 +131,12 @@ enum via_qmk_rgb_matrix_value { id_qmk_rgb_matrix_color = 4, }; +enum via_qmk_led_matrix_value { + id_qmk_led_matrix_brightness = 1, + id_qmk_led_matrix_effect = 2, + id_qmk_led_matrix_effect_speed = 3, +}; + enum via_qmk_audio_value { id_qmk_audio_enable = 1, id_qmk_audio_clicky_enable = 2, @@ -182,6 +189,13 @@ void via_qmk_rgb_matrix_get_value(uint8_t *data); void via_qmk_rgb_matrix_save(void); #endif +#if defined(LED_MATRIX_ENABLE) +void via_qmk_led_matrix_command(uint8_t *data, uint8_t length); +void via_qmk_led_matrix_set_value(uint8_t *data); +void via_qmk_led_matrix_get_value(uint8_t *data); +void via_qmk_led_matrix_save(void); +#endif + #if defined(AUDIO_ENABLE) void via_qmk_audio_command(uint8_t *data, uint8_t length); void via_qmk_audio_set_value(uint8_t *data); diff --git a/tests/audio/config.h b/tests/audio/config.h new file mode 100644 index 00000000000..d0c4ddadbd3 --- /dev/null +++ b/tests/audio/config.h @@ -0,0 +1,18 @@ +// Copyright 2023 Google 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 . + +#pragma once + +#include "test_common.h" diff --git a/tests/audio/test.mk b/tests/audio/test.mk new file mode 100644 index 00000000000..a2c71d95878 --- /dev/null +++ b/tests/audio/test.mk @@ -0,0 +1,16 @@ +# Copyright 2023 Google 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 . + +AUDIO_ENABLE = yes diff --git a/tests/audio/test_audio.cpp b/tests/audio/test_audio.cpp new file mode 100644 index 00000000000..ef34748b060 --- /dev/null +++ b/tests/audio/test_audio.cpp @@ -0,0 +1,118 @@ +// Copyright 2023 Google 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 +#include + +#include "gtest/gtest.h" +#include "keyboard_report_util.hpp" +#include "test_common.hpp" + +namespace { + +class AudioTest : public TestFixture { + public: + uint16_t infer_tempo() { + return audio_ms_to_duration(1875) / 2; + } +}; + +TEST_F(AudioTest, OnOffToggle) { + audio_on(); + EXPECT_TRUE(audio_is_on()); + + audio_off(); + EXPECT_FALSE(audio_is_on()); + + audio_toggle(); + EXPECT_TRUE(audio_is_on()); + + audio_toggle(); + EXPECT_FALSE(audio_is_on()); +} + +TEST_F(AudioTest, ChangeTempo) { + for (int tempo = 50; tempo <= 250; tempo += 50) { + audio_set_tempo(tempo); + EXPECT_EQ(infer_tempo(), tempo); + } + + audio_set_tempo(10); + audio_increase_tempo(25); + EXPECT_EQ(infer_tempo(), 35); + + audio_decrease_tempo(4); + EXPECT_EQ(infer_tempo(), 31); + + audio_increase_tempo(250); + EXPECT_EQ(infer_tempo(), 255); + + audio_set_tempo(9); + EXPECT_EQ(infer_tempo(), 10); + + audio_decrease_tempo(100); + EXPECT_EQ(infer_tempo(), 10); +} + +TEST_F(AudioTest, BpmConversion) { + const int tol = 1; + + audio_set_tempo(120); + // At 120 bpm, there are 2 beats per second, and a whole note is 500 ms. + EXPECT_NEAR(audio_duration_to_ms(64 /* whole note */), 500, tol); + EXPECT_NEAR(audio_ms_to_duration(500), 64, tol); + EXPECT_EQ(audio_duration_to_ms(0), 0); + EXPECT_EQ(audio_ms_to_duration(0), 0); + + audio_set_tempo(10); + // At 10 bpm, UINT16_MAX ms corresponds to 699/64 beats and is the longest + // duration that can be converted without overflow. + EXPECT_NEAR(audio_ms_to_duration(UINT16_MAX), 699, tol); + EXPECT_NEAR(audio_duration_to_ms(699), 65531, tol); + + audio_set_tempo(255); + // At 255 bpm, UINT16_MAX ms corresponds to 17825/64 beats and is the longest + // duration that can be converted without overflow. + EXPECT_NEAR(audio_ms_to_duration(UINT16_MAX), 17825, tol); + EXPECT_NEAR(audio_duration_to_ms(17825), 65533, tol); + + std::mt19937 rng(0 /*seed*/); + std::uniform_int_distribution dist_tempo(10, 255); + std::uniform_int_distribution dist_ms(0, UINT16_MAX); + + // Test bpm <-> ms conversions for random tempos and durations. + for (int trial = 0; trial < 50; ++trial) { + const int tempo = dist_tempo(rng); + const int duration_ms = dist_ms(rng); + SCOPED_TRACE("tempo " + testing::PrintToString(tempo) + ", duration " + testing::PrintToString(duration_ms) + " ms"); + + audio_set_tempo(tempo); + int duration_bpm = std::round((64.0f / (60.0f * 1000.0f)) * duration_ms * tempo); + ASSERT_NEAR(audio_ms_to_duration(duration_ms), duration_bpm, tol); + + int roundtrip_ms = std::round((60.0f * 1000.0f / 64.0f) * duration_bpm / tempo); + // Because of round-off error, duration_ms and roundtrip_ms may differ by + // about (60 * 1000 / 64) / tempo. + int roundtrip_tol = tol * (60.0f * 1000.0f / 64.0f) / tempo; + ASSERT_NEAR(roundtrip_ms, duration_ms, roundtrip_tol); + + // Only test converting back to ms if the result would be in uint16_t range. + if (roundtrip_ms <= UINT16_MAX) { + ASSERT_NEAR(audio_duration_to_ms(duration_bpm), roundtrip_ms, tol); + } + } +} + +} // namespace diff --git a/tests/tap_hold_configurations/retro_tapping/config.h b/tests/tap_hold_configurations/retro_tapping/config.h index 4b38f2644b8..cc9f1624770 100644 --- a/tests/tap_hold_configurations/retro_tapping/config.h +++ b/tests/tap_hold_configurations/retro_tapping/config.h @@ -18,4 +18,7 @@ #include "test_common.h" -#define RETRO_TAPPING \ No newline at end of file +#define RETRO_TAPPING +#define DUMMY_MOD_NEUTRALIZER_KEYCODE KC_RIGHT_CTRL +#define MODS_TO_NEUTRALIZE \ + { MOD_BIT(KC_LEFT_GUI) } diff --git a/tests/tap_hold_configurations/retro_tapping/test_neutralization.cpp b/tests/tap_hold_configurations/retro_tapping/test_neutralization.cpp new file mode 100644 index 00000000000..10d675a3b18 --- /dev/null +++ b/tests/tap_hold_configurations/retro_tapping/test_neutralization.cpp @@ -0,0 +1,201 @@ +/* Copyright 2023 Vladislav Kucheriavykh + * + * This program is free software: you can 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 "keyboard_report_util.hpp" +#include "keycode.h" +#include "test_common.hpp" +#include "action_tapping.h" +#include "test_keymap_key.hpp" + +using testing::_; +using testing::InSequence; + +class RetroTapNeutralization : public TestFixture {}; + +TEST_F(RetroTapNeutralization, neutralize_retro_tapped_left_gui_mod_tap) { + TestDriver driver; + InSequence s; + auto mod_tap_hold_key = KeymapKey(0, 7, 0, LGUI_T(KC_P)); + + set_keymap({mod_tap_hold_key}); + + EXPECT_NO_REPORT(driver); + mod_tap_hold_key.press(); + idle_for(TAPPING_TERM); + VERIFY_AND_CLEAR(driver); + + EXPECT_REPORT(driver, (KC_LGUI)); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + EXPECT_REPORT(driver, (DUMMY_MOD_NEUTRALIZER_KEYCODE, KC_LGUI)); + EXPECT_REPORT(driver, (KC_LGUI)); + EXPECT_EMPTY_REPORT(driver); + EXPECT_REPORT(driver, (KC_P)); + EXPECT_EMPTY_REPORT(driver); + mod_tap_hold_key.release(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); +} + +TEST_F(RetroTapNeutralization, do_not_neutralize_retro_tapped_left_shift_mod_tap) { + TestDriver driver; + InSequence s; + auto mod_tap_hold_key = KeymapKey(0, 7, 0, LSFT_T(KC_P)); + + set_keymap({mod_tap_hold_key}); + + EXPECT_NO_REPORT(driver); + mod_tap_hold_key.press(); + idle_for(TAPPING_TERM); + VERIFY_AND_CLEAR(driver); + + EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + EXPECT_EMPTY_REPORT(driver); + EXPECT_REPORT(driver, (KC_P)); + EXPECT_EMPTY_REPORT(driver); + mod_tap_hold_key.release(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); +} + +TEST_F(RetroTapNeutralization, do_not_neutralize_retro_tapped_right_gui_mod_tap) { + TestDriver driver; + InSequence s; + auto mod_tap_hold_key = KeymapKey(0, 7, 0, RGUI_T(KC_P)); + + set_keymap({mod_tap_hold_key}); + + EXPECT_NO_REPORT(driver); + mod_tap_hold_key.press(); + idle_for(TAPPING_TERM); + VERIFY_AND_CLEAR(driver); + + EXPECT_REPORT(driver, (KC_RGUI)); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + EXPECT_EMPTY_REPORT(driver); + EXPECT_REPORT(driver, (KC_P)); + EXPECT_EMPTY_REPORT(driver); + mod_tap_hold_key.release(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); +} + +TEST_F(RetroTapNeutralization, do_not_neutralize_retro_tapped_left_gui_shift_mod_tap) { + TestDriver driver; + InSequence s; + auto mod_tap_hold_key = KeymapKey(0, 7, 0, MT(MOD_LGUI | MOD_LSFT, KC_P)); + + set_keymap({mod_tap_hold_key}); + + EXPECT_NO_REPORT(driver); + mod_tap_hold_key.press(); + idle_for(TAPPING_TERM); + VERIFY_AND_CLEAR(driver); + + EXPECT_REPORT(driver, (KC_LSFT, KC_LGUI)); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + EXPECT_EMPTY_REPORT(driver); + EXPECT_REPORT(driver, (KC_P)); + EXPECT_EMPTY_REPORT(driver); + mod_tap_hold_key.release(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); +} + +TEST_F(RetroTapNeutralization, do_not_neutralize_roll_of_regular_and_mod_tap_keys) { + TestDriver driver; + InSequence s; + auto mod_tap_hold_key = KeymapKey(0, 1, 0, LGUI_T(KC_P)); + auto regular_key = KeymapKey(0, 2, 0, KC_A); + + set_keymap({mod_tap_hold_key, regular_key}); + + /* Press mod-tap-hold key. */ + EXPECT_NO_REPORT(driver); + mod_tap_hold_key.press(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + /* Press regular key. */ + EXPECT_NO_REPORT(driver); + regular_key.press(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + /* Release regular key. */ + EXPECT_NO_REPORT(driver); + regular_key.release(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + /* Release mod-tap-hold key. */ + EXPECT_REPORT(driver, (KC_P)); + EXPECT_REPORT(driver, (KC_P, KC_A)); + EXPECT_REPORT(driver, (KC_P)); + EXPECT_EMPTY_REPORT(driver); + mod_tap_hold_key.release(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + /* Idle for tapping term of mod tap hold key. */ + idle_for(TAPPING_TERM - 3); + VERIFY_AND_CLEAR(driver); +} + +TEST_F(RetroTapNeutralization, do_not_neutralize_tap_regular_key_while_mod_tap_is_held) { + TestDriver driver; + InSequence s; + auto mod_tap_hold_key = KeymapKey(0, 1, 0, LGUI_T(KC_P)); + auto regular_key = KeymapKey(0, 2, 0, KC_A); + + set_keymap({mod_tap_hold_key, regular_key}); + + /* Press and hold mod-tap key. */ + EXPECT_REPORT(driver, (KC_LEFT_GUI)); + mod_tap_hold_key.press(); + idle_for(TAPPING_TERM + 1); + VERIFY_AND_CLEAR(driver); + + /* Press regular key. */ + EXPECT_REPORT(driver, (KC_A, KC_LEFT_GUI)); + regular_key.press(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + /* Release regular key. */ + EXPECT_REPORT(driver, (KC_LEFT_GUI)); + regular_key.release(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + /* Release mod-tap-hold key. */ + EXPECT_EMPTY_REPORT(driver); + mod_tap_hold_key.release(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + /* Idle for tapping term of mod tap hold key. */ + idle_for(TAPPING_TERM - 3); + VERIFY_AND_CLEAR(driver); +} diff --git a/tmk_core/protocol.mk b/tmk_core/protocol.mk index d3f15c45887..2ae7aa9abea 100644 --- a/tmk_core/protocol.mk +++ b/tmk_core/protocol.mk @@ -99,7 +99,7 @@ ifeq ($(strip $(SHARED_EP_ENABLE)), yes) endif ifeq ($(strip $(USB_HID_ENABLE)), yes) - include $(TMK_DIR)/protocol/usb_hid.mk + include $(TMK_DIR)/protocol/usb_hid/usb_hid.mk endif # Search Path diff --git a/tmk_core/protocol/arm_atsam.mk b/tmk_core/protocol/arm_atsam/arm_atsam.mk similarity index 100% rename from tmk_core/protocol/arm_atsam.mk rename to tmk_core/protocol/arm_atsam/arm_atsam.mk diff --git a/tmk_core/protocol/arm_atsam/main_arm_atsam.c b/tmk_core/protocol/arm_atsam/main_arm_atsam.c index 1ccfbfb54a9..5bed9e0cf45 100644 --- a/tmk_core/protocol/arm_atsam/main_arm_atsam.c +++ b/tmk_core/protocol/arm_atsam/main_arm_atsam.c @@ -23,7 +23,6 @@ along with this program. If not, see . #include "host_driver.h" #include "keycode_config.h" #include -#include "quantum.h" // From protocol directory #include "arm_atsam_protocol.h" diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c index 52fe86d297b..6069d1e6096 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c @@ -23,6 +23,7 @@ along with this program. If not, see . # include "arm_atsam_protocol.h" # include "led.h" # include "rgb_matrix.h" +# include "eeprom.h" # include # include @@ -347,24 +348,24 @@ static void flush(void) { } void md_rgb_matrix_indicators_advanced(uint8_t led_min, uint8_t led_max) { - uint8_t kbled = keyboard_leds(); - if (kbled && rgb_matrix_config.enable) { + led_t led_state = host_keyboard_led_state(); + if (led_state.raw && rgb_matrix_config.enable) { for (uint8_t i = led_min; i < led_max; i++) { if ( # if USB_LED_NUM_LOCK_SCANCODE != 255 - (led_map[i].scan == USB_LED_NUM_LOCK_SCANCODE && (kbled & (1 << USB_LED_NUM_LOCK))) || + (led_map[i].scan == USB_LED_NUM_LOCK_SCANCODE && led_state.num_lock) || # endif // NUM LOCK # if USB_LED_CAPS_LOCK_SCANCODE != 255 - (led_map[i].scan == USB_LED_CAPS_LOCK_SCANCODE && (kbled & (1 << USB_LED_CAPS_LOCK))) || + (led_map[i].scan == USB_LED_CAPS_LOCK_SCANCODE && led_state.caps_lock) || # endif // CAPS LOCK # if USB_LED_SCROLL_LOCK_SCANCODE != 255 - (led_map[i].scan == USB_LED_SCROLL_LOCK_SCANCODE && (kbled & (1 << USB_LED_SCROLL_LOCK))) || + (led_map[i].scan == USB_LED_SCROLL_LOCK_SCANCODE && led_state.scroll_lock) || # endif // SCROLL LOCK # if USB_LED_COMPOSE_SCANCODE != 255 - (led_map[i].scan == USB_LED_COMPOSE_SCANCODE && (kbled & (1 << USB_LED_COMPOSE))) || + (led_map[i].scan == USB_LED_COMPOSE_SCANCODE && led_state.compose) || # endif // COMPOSE # if USB_LED_KANA_SCANCODE != 255 - (led_map[i].scan == USB_LED_KANA_SCANCODE && (kbled & (1 << USB_LED_KANA))) || + (led_map[i].scan == USB_LED_KANA_SCANCODE && led_state.kana) || # endif // KANA (0)) { if (rgb_matrix_get_flags() & LED_FLAG_INDICATOR) { diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.h b/tmk_core/protocol/arm_atsam/md_rgb_matrix.h index f27da028a0c..bb3312e8e74 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.h +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.h @@ -15,11 +15,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef _LED_MATRIX_H_ -#define _LED_MATRIX_H_ +#pragma once -#include "quantum.h" -#include "eeprom.h" +#include // From keyboard #include "config_led.h" @@ -200,5 +198,3 @@ void md_led_changed(void); #else extern uint8_t gcr_desired; #endif // USE_MASSDROP_CONFIGURATOR - -#endif //_LED_MATRIX_H_ diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c index 58fc4efd9c6..476b6052971 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c @@ -19,6 +19,7 @@ along with this program. If not, see . # ifdef USE_MASSDROP_CONFIGURATOR # include "md_rgb_matrix.h" +# include "util.h" // Teal <-> Salmon led_setup_t leds_teal_salmon[] = { diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index 10a976608ad..1eebdaf6c3b 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -49,6 +49,8 @@ #include "suspend.h" #include "wait.h" +#define USB_GETSTATUS_REMOTE_WAKEUP_ENABLED (2U) + /* ------------------------- * TMK host driver defs * ------------------------- @@ -178,28 +180,24 @@ void protocol_post_init(void) { } void protocol_pre_task(void) { - usb_event_queue_task(); - #if !defined(NO_USB_STARTUP_CHECK) if (USB_DRIVER.state == USB_SUSPENDED) { - print("[s]"); + dprintln("suspending keyboard"); while (USB_DRIVER.state == USB_SUSPENDED) { - /* Do this in the suspended state */ - suspend_power_down(); // on AVR this deep sleeps for 15ms - /* Remote wakeup */ - if (suspend_wakeup_condition()) { + suspend_power_down(); + if ((USB_DRIVER.status & USB_GETSTATUS_REMOTE_WAKEUP_ENABLED) && suspend_wakeup_condition()) { + /* issue a remote wakeup event to the host which should resume + * the bus and get our keyboard out of suspension. */ usbWakeupHost(&USB_DRIVER); - restart_usb_driver(&USB_DRIVER); } } - /* Woken up */ - // variables has been already cleared by the wakeup hook - send_keyboard_report(); -# ifdef MOUSEKEY_ENABLE - mousekey_send(); -# endif /* MOUSEKEY_ENABLE */ + /* after a successful wakeup a USB_EVENT_WAKEUP is signaled to QMK by + * ChibiOS, which triggers a wakeup callback that restores the state of + * the keyboard. Therefore we do nothing here. */ } #endif + + usb_event_queue_task(); } void protocol_post_task(void) { diff --git a/tmk_core/protocol/chibios.mk b/tmk_core/protocol/chibios/chibios.mk similarity index 100% rename from tmk_core/protocol/chibios.mk rename to tmk_core/protocol/chibios/chibios.mk diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index 20bfc8fb3c7..f04ca79a0ca 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -48,10 +48,10 @@ # include "sleep_led.h" #endif #include "suspend.h" +#include "wait.h" #include "usb_descriptor.h" #include "lufa.h" -#include "quantum.h" #include "usb_device_state.h" #include @@ -858,7 +858,7 @@ void protocol_post_init(void) { void protocol_pre_task(void) { #if !defined(NO_USB_STARTUP_CHECK) if (USB_DeviceState == DEVICE_STATE_Suspended) { - print("[s]"); + dprintln("suspending keyboard"); while (USB_DeviceState == DEVICE_STATE_Suspended) { suspend_power_down(); if (USB_Device_RemoteWakeupEnabled && suspend_wakeup_condition()) { diff --git a/tmk_core/protocol/lufa.mk b/tmk_core/protocol/lufa/lufa.mk similarity index 100% rename from tmk_core/protocol/lufa.mk rename to tmk_core/protocol/lufa/lufa.mk diff --git a/tmk_core/protocol/usb_hid.mk b/tmk_core/protocol/usb_hid/usb_hid.mk similarity index 100% rename from tmk_core/protocol/usb_hid.mk rename to tmk_core/protocol/usb_hid/usb_hid.mk diff --git a/tmk_core/protocol/usb_util.c b/tmk_core/protocol/usb_util.c index 49aadedc2af..3b3be4a7675 100644 --- a/tmk_core/protocol/usb_util.c +++ b/tmk_core/protocol/usb_util.c @@ -13,13 +13,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "quantum.h" + #include "usb_util.h" +#include "gpio.h" +#include "wait.h" __attribute__((weak)) void usb_disconnect(void) {} + __attribute__((weak)) bool usb_connected_state(void) { return true; } + __attribute__((weak)) bool usb_vbus_state(void) { #ifdef USB_VBUS_PIN setPinInput(USB_VBUS_PIN); diff --git a/tmk_core/protocol/usb_util.h b/tmk_core/protocol/usb_util.h index 13db9fbfbdf..6f0e406378f 100644 --- a/tmk_core/protocol/usb_util.h +++ b/tmk_core/protocol/usb_util.h @@ -13,10 +13,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once #include void usb_disconnect(void); + bool usb_connected_state(void); + bool usb_vbus_state(void); diff --git a/tmk_core/protocol/vusb.mk b/tmk_core/protocol/vusb/vusb.mk similarity index 100% rename from tmk_core/protocol/vusb.mk rename to tmk_core/protocol/vusb/vusb.mk diff --git a/users/bcat/bcat.h b/users/bcat/bcat.h index 6fc84937c44..fb500b3b3ba 100644 --- a/users/bcat/bcat.h +++ b/users/bcat/bcat.h @@ -18,7 +18,7 @@ #include -#include "keycodes.h" +#include "quantum_keycodes.h" /* Layer numbers shared across keymaps. */ enum user_layer { diff --git a/users/curry/oled.c b/users/curry/oled.c index 89112af121e..2defcbd80e2 100644 --- a/users/curry/oled.c +++ b/users/curry/oled.c @@ -86,12 +86,12 @@ void render_layer_state(void) { oled_write_P(PSTR(" Mods"), layer_state_is(_MODS)); } -void render_keylock_status(uint8_t led_usb_state) { +void render_keylock_status(led_t led_state) { oled_write_P(PSTR("Lock:"), false); oled_write_P(PSTR(" "), false); - oled_write_P(PSTR("N"), led_usb_state & (1 << USB_LED_NUM_LOCK)); - oled_write_P(PSTR("C"), led_usb_state & (1 << USB_LED_CAPS_LOCK)); - oled_write_ln_P(PSTR("S"), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); + oled_write_P(PSTR("N"), led_state.num_lock); + oled_write_P(PSTR("C"), led_state.caps_lock); + oled_write_ln_P(PSTR("S"), led_state.scroll_lock); } void render_mod_status(uint8_t modifiers) { @@ -129,7 +129,7 @@ void render_user_status(void) { void render_status_main(void) { /* Show Keyboard Layout */ render_default_layer_state(); - render_keylock_status(host_keyboard_leds()); + render_keylock_status(host_keyboard_led_state()); render_bootmagic_status(); render_user_status(); diff --git a/users/curry/rgb_lighting_user.c b/users/curry/rgb_lighting_user.c index b8d519feca1..34156744fe8 100644 --- a/users/curry/rgb_lighting_user.c +++ b/users/curry/rgb_lighting_user.c @@ -11,9 +11,9 @@ void rgblight_sethsv_default_helper(uint8_t index) { rgblight_sethsv_at(rgblight * This is especially useful for One Shot Mods, since it's not always obvious if they're still lit up. */ #if defined(INDICATOR_LIGHTS) -void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) { +void set_rgb_indicators(uint8_t this_mod, led_t this_led, uint8_t this_osm) { if (userspace_config.rgb_layer_change && get_highest_layer(layer_state) == 0) { - if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1 << USB_LED_CAPS_LOCK)) { + if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led.caps_lock) { # ifdef SHFT_LED1 rgblight_sethsv_at(120, 255, 255, SHFT_LED1); # endif // SHFT_LED1 @@ -79,7 +79,7 @@ void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) { /* Function for the indicators */ void matrix_scan_indicator(void) { if (has_initialized) { - set_rgb_indicators(get_mods(), host_keyboard_leds(), get_oneshot_mods()); + set_rgb_indicators(get_mods(), host_keyboard_led_state(), get_oneshot_mods()); } } #endif // INDICATOR_LIGHTS diff --git a/users/doogle999/doogle999.c b/users/doogle999/doogle999.c index 5d71599687a..a5bd637ecea 100644 --- a/users/doogle999/doogle999.c +++ b/users/doogle999/doogle999.c @@ -389,7 +389,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) /* KC_KP_1, KC_KP_2, ..., KC_KP_0, KC_KP_DOT */ (keycode >= KC_KP_1 && keycode <= KC_KP_DOT); - if(numpadKeyPressed && !(host_keyboard_leds() & (1 << USB_LED_NUM_LOCK))) + if(numpadKeyPressed && !host_keyboard_led_state().num_lock) { add_key(KC_NUM_LOCK); send_keyboard_report(); diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index cad6db8f3d9..b8ccbb028cd 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c @@ -141,7 +141,7 @@ float autocorrect_song[][2] = SONG(PLOVER_GOODBYE_SOUND); # endif # endif -bool apply_autocorrect(uint8_t backspaces, const char *str) { +bool apply_autocorrect(uint8_t backspaces, const char* str, char *typo, char *correct) { if (layer_state_is(_GAMEPAD)) { return false; } diff --git a/users/ericgebhart/oled/oled_stuff.c b/users/ericgebhart/oled/oled_stuff.c index f2c4f0f394b..211fe4ab3ef 100755 --- a/users/ericgebhart/oled/oled_stuff.c +++ b/users/ericgebhart/oled/oled_stuff.c @@ -32,11 +32,11 @@ void oled_render_locale(void) { } } -void oled_render_keylock_status(uint8_t led_usb_state) { +void oled_render_keylock_status(led_t led_state) { oled_write_P(PSTR(" Lock:"), false); - oled_write_P(PSTR("N"), led_usb_state & (1 << USB_LED_NUM_LOCK)); - oled_write_P(PSTR("C"), led_usb_state & (1 << USB_LED_CAPS_LOCK)); - oled_write_P(PSTR("S"), led_usb_state & (1 << USB_LED_SCROLL_LOCK)); + oled_write_P(PSTR("N"), led_state.num_lock); + oled_write_P(PSTR("C"), led_state.caps_lock); + oled_write_P(PSTR("S"), led_state.scroll_lock); } void oled_render_mod_status(uint8_t modifiers) { @@ -49,7 +49,7 @@ void oled_render_mod_status(uint8_t modifiers) { void oled_render_mod_lock_status(void){ oled_render_mod_status(get_mods() | get_oneshot_mods()); - oled_render_keylock_status(host_keyboard_leds()); + oled_render_keylock_status(host_keyboard_led_state()); } @@ -187,6 +187,3 @@ bool oled_task_user(void) { } #endif - -/* oled_render_keylock_status(host_keyboard_leds()); */ -/* oled_render_mod_status(get_mods() | get_oneshot_mods()); */ diff --git a/users/mattly/mattly.c b/users/mattly/mattly.c index afb1c75df14..9e8e7cfc976 100644 --- a/users/mattly/mattly.c +++ b/users/mattly/mattly.c @@ -31,6 +31,9 @@ void layer_state_set_rgb(layer_state_t state) { case _NAVNUM_WIN: rgblight_sethsv_noeeprom(HSV_NAVNUM); break; + case _GAME: + rgblight_sethsv_noeeprom(HSV_GAME); + break; case _FUNCT: case _FUNCT_WIN: rgblight_sethsv_noeeprom(HSV_FUNCT); diff --git a/users/mattly/mattly.h b/users/mattly/mattly.h index 5f6b7c5f092..2a151939b87 100644 --- a/users/mattly/mattly.h +++ b/users/mattly/mattly.h @@ -25,12 +25,14 @@ enum { _NAVNUM, _NAVNUM_WIN, _SYMBOL, + _GAME, _FUNCT, _FUNCT_WIN, }; // == System #define TOG_WIN TG(_OVER_WIN) +#define TOG_GAM TG(_GAME) // == Thumbs // left hand @@ -47,68 +49,73 @@ enum { #define NAVLOCK TG(_NAVNUM) #define SYMLOCK TG(_SYMBOL) - // == QWERTY // left hand home row -#define A_CTL MT(MOD_LCTL, KC_A) -#define A_GUI MT(MOD_LGUI, KC_A) -#define S_ALT MT(MOD_LALT, KC_S) -#define D_GUI MT(MOD_LGUI, KC_D) -#define D_CTL MT(MOD_LCTL, KC_D) -#define F_SFT MT(MOD_LSFT, KC_F) +#define A_CTL MT(MOD_LCTL, KC_A) +#define A_GUI MT(MOD_LGUI, KC_A) +#define S_ALT MT(MOD_LALT, KC_S) +#define D_GUI MT(MOD_LGUI, KC_D) +#define D_CTL MT(MOD_LCTL, KC_D) +#define F_SFT MT(MOD_LSFT, KC_F) // left hand aux -#define W_CTL MT(MOD_LCTL, KC_W) -#define W_GUI MT(MOD_LGUI, KC_W) -#define E_ALT MT(MOD_LALT, KC_E) -#define R_GUI MT(MOD_LGUI, KC_R) -#define R_CTL MT(MOD_LCTL, KC_R) +#define W_CTL MT(MOD_LCTL, KC_W) +#define W_GUI MT(MOD_LGUI, KC_W) +#define E_ALT MT(MOD_LALT, KC_E) +#define R_GUI MT(MOD_LGUI, KC_R) +#define R_CTL MT(MOD_LCTL, KC_R) // right hand home row -#define J_SFT MT(MOD_RSFT, KC_J) -#define K_GUI MT(MOD_RGUI, KC_K) -#define K_CTL MT(MOD_RCTL, KC_K) -#define L_ALT MT(MOD_RALT, KC_L) +#define J_SFT MT(MOD_RSFT, KC_J) +#define K_GUI MT(MOD_RGUI, KC_K) +#define K_CTL MT(MOD_RCTL, KC_K) +#define L_ALT MT(MOD_RALT, KC_L) #define MINSCTL MT(MOD_RCTL, KC_MINS) #define MINSGUI MT(MOD_RGUI, KC_MINS) // right hand aux -#define U_GUI MT(MOD_RGUI, KC_U) -#define U_CTL MT(MOD_RCTL, KC_U) -#define I_ALT MT(MOD_RALT, KC_I) -#define O_CTL MT(MOD_RCTL, KC_O) -#define O_GUI MT(MOD_RGUI, KC_O) +#define U_GUI MT(MOD_RGUI, KC_U) +#define U_CTL MT(MOD_RCTL, KC_U) +#define I_ALT MT(MOD_RALT, KC_I) +#define O_CTL MT(MOD_RCTL, KC_O) +#define O_GUI MT(MOD_RGUI, KC_O) // == OS X default keys -// movement by word +// movement by text #define M_BWORD LALT(KC_LEFT) #define W_BWORD LCTL(KC_LEFT) #define M_FWORD LALT(KC_RIGHT) #define W_FWORD LCTL(KC_RIGHT) +#define M_BLINE LGUI(KC_LEFT) +#define M_ELINE LGUI(KC_RIGHT) + +#define M_BPARA LOPT(KC_UP) +#define M_NPARA LOPT(KC_DOWN) + // gui navigation -#define M_NXWIN LGUI(KC_GRV) // Next Window +#define M_NXWIN LGUI(KC_GRV) // Next Window #define W_NXWIN LALT(KC_TAB) -#define M_PVWIN LGUI(LSFT(KC_GRV)) // Prev Window +#define M_PVWIN LGUI(LSFT(KC_GRV)) // Prev Window #define W_PVWIN LALT(LSFT(KC_TAB)) -#define M_NXTAB LGUI(LSFT(KC_RBRC)) // Next Tab +#define M_NXTAB LGUI(LSFT(KC_RBRC)) // Next Tab #define W_NXTAB LCTL(KC_PGDN) -#define M_PVTAB LGUI(LSFT(KC_LBRC)) // Prev Tab +#define M_PVTAB LGUI(LSFT(KC_LBRC)) // Prev Tab #define W_PVTAB LCTL(KC_PGUP) -#define M_NAVBK LGUI(KC_LBRC) // Navigate Forward +#define M_NAVBK LGUI(KC_LBRC) // Navigate Forward #define W_NAVBK LALT(KC_LEFT) -#define M_NAVFW LGUI(KC_RBRC) // Navigate Back +#define M_NAVFW LGUI(KC_RBRC) // Navigate Back #define W_NAVFW LALT(KC_RIGHT) // == UNDERGLOW #ifdef RGBLIGHT_ENABLE -#define HSV_CAPS 55, 255, 255 -#define HSV_ERR 30, 196, 196 -#define HSV_MAC 20, 255, 128 -#define HSV_WIN 10, 255, 128 -#define HSV_SYMBOL 235, 255, 255 -#define HSV_NAVNUM 250, 255, 255 -#define HSV_FUNCT 210, 255, 255 -#define HSV_RESET 180, 255, 255 +#define HSV_CAPS 55, 255, 255 +#define HSV_ERR 0, 255, 96 +#define HSV_MAC 250, 255, 192 +#define HSV_WIN 250, 192, 128 +#define HSV_SYMBOL 235, 255, 255 +#define HSV_NAVNUM 20, 255, 255 +#define HSV_GAME 40, 255, 255 +#define HSV_FUNCT 200, 255, 255 +#define HSV_RESET 180, 255, 255 #endif #endif - diff --git a/users/mattly/rules.mk b/users/mattly/rules.mk index 85cdcc91f00..96f07658253 100644 --- a/users/mattly/rules.mk +++ b/users/mattly/rules.mk @@ -1,3 +1,4 @@ SRC += mattly.c LTO_ENABLE = yes CONSOLE_ENABLE = yes +RGB_MATRIX_ENABLE = no diff --git a/users/miketronic/config.h b/users/miketronic/config.h new file mode 100644 index 00000000000..4123caa5bc6 --- /dev/null +++ b/users/miketronic/config.h @@ -0,0 +1,12 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once + +#define DEBOUNCE 10 +#if defined(TAP_DANCE_ENABLE) +# define TAP_CODE_DELAY 5 +# define TAP_HOLD_CAPS_DELAY 25 +#endif +#define MACRO_TIMER 5 +#define ENABLE_COMPILE_KEYCODE \ No newline at end of file diff --git a/users/miketronic/miketronic.c b/users/miketronic/miketronic.c new file mode 100644 index 00000000000..3c47a72462f --- /dev/null +++ b/users/miketronic/miketronic.c @@ -0,0 +1,17 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#include "miketronic.h" + + +__attribute__ ((weak)) void keyboard_post_init_keymap(void) { } + +// Init effect for RGB boards only +void keyboard_post_init_user(void) { +#ifdef RGB_MATRIX_ENABLE + rgblight_enable_noeeprom(); // enables Rgb, without saving settings + rgblight_sethsv_noeeprom(HSV_ORANGE); // sets the color without saving + rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); +#endif + keyboard_post_init_keymap(); +} \ No newline at end of file diff --git a/users/miketronic/miketronic.h b/users/miketronic/miketronic.h new file mode 100644 index 00000000000..4032215a1d7 --- /dev/null +++ b/users/miketronic/miketronic.h @@ -0,0 +1,63 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once +#include QMK_KEYBOARD_H + +#include "quantum.h" +#include "wrappers.h" +#include "action.h" +#include "version.h" +#include "process_records.h" +#ifdef TAP_DANCE_ENABLE +# include "tapdances.h" +#endif + +enum layer_names { + _WM, + _QW, + _LOWER, + _RAISE, + _EX, + _FN, + _SYMB +}; + + +// Layer macros +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define FN MO(_FN) +#define EX MO(_EX) +#define TEX LT(_EX, KC_T) // Tap for "T", hold for Extras layer +#define BSYM LT(_SYMB, KC_B) // Tap for "B", hold for Symbols layer +#define JSYM LT(_SYMB, KC_J) // Tap for "J", hold for Symbols layer +#define FNZ LT(_FN, KC_Z) // Tap for "Z", hold for FN layer +#define VLOWER LT(_LOWER, KC_V) // Tap for "V", hold for Lower layer +#define KRAISE LT(_RAISE, KC_K) // Tap for "K", hold for Raise layer + +// Mod Tap +//#define ASFT MT(MOD_LSFT, KC_A) // Tap for "A", hold for Shift +#define ASFT SFT_T(KC_A) // Tap for "A", hold for Shift +#define GGUI MT(MOD_LGUI, KC_G) // Tap for "G", hold for OS Key +#define MGUI MT(MOD_LGUI, KC_M) // Tap for "M", hold for OS Key +#define CTRLX MT(MOD_LCTL, KC_X) // Tap for "X", hold for Ctrl +#define CALT MT(MOD_LALT, KC_C) // Tap for "C", hold for Alt +#define L_ALT MT(MOD_RALT, KC_L) // Tap for "L", hold for Alt +#define TBSHFT MT(MOD_LSFT, KC_TAB) // Tap for Tab, hold for Shift +#define SLSHFT MT(MOD_RSFT, KC_SLSH) // Tap for Slash, hold for Shift +#define SFT_ENT RSFT_T(KC_ENT) // Tap for Enter, hold for Shift +#define OSSFT OSM(MOD_LSFT) // One shot left Shift + +// MISC +#define CALTDEL LCTL(LALT(KC_DEL)) // Ctrl Alt Del +#define TSKMGR LCTL(LSFT(KC_ESC)) // Task Manager +#define CLIP LCTL(LALT(KC_Q)) // Clipboard (Ditto) +#define SS LCTL(LALT(KC_G)) // Greenshot region +#define NUM LSFT(KC_3) +#define AT LSFT(KC_2) +#define COPY LCTL(KC_C) +#define PASTE LCTL(KC_V) +#define ____ KC_TRNS +#define XXXX KC_NO +#define XXXXXXX KC_NO diff --git a/users/miketronic/process_records.c b/users/miketronic/process_records.c new file mode 100644 index 00000000000..5c60ddf1003 --- /dev/null +++ b/users/miketronic/process_records.c @@ -0,0 +1,151 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#include "miketronic.h" +#include "process_records.h" + +__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { + return true; +} + +__attribute__((weak)) bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { + return true; +} + + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + switch (keycode) { + case VERSION: + if (!record->event.pressed) { + send_string_with_delay_P(PSTR(QMK_KEYBOARD ":" QMK_KEYMAP "\nVersion:" QMK_VERSION ", built: " QMK_BUILDDATE "\n"), MACRO_TIMER); + } + break; + + case M01: + if (record->event.pressed) { + SEND_STRING("//a11"); + } + break; + + case M02: + if (record->event.pressed) { + SEND_STRING("//a12"); + } + break; + + case M03: + if (record->event.pressed) { + SEND_STRING("//a08"); + } + break; + + case M04: + if (record->event.pressed) { + SEND_STRING("//a09"); + } + break; + + case M05: + if (record->event.pressed) { + SEND_STRING("//th"); + } + break; + + case M06: + if (record->event.pressed) { + SEND_STRING("//re"); + } + break; + + case M07: + if (record->event.pressed) { + SEND_STRING("//yw"); + } + break; + + case M08: + if (record->event.pressed) { + tap_random_base64(); + } + break; + + case CCCV: // One key copy/paste + if (record->event.pressed) { + copy_paste_timer = timer_read(); + } else { + if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy + tap_code16(LCTL(KC_C)); + } else { // Tap, paste + tap_code16(LCTL(KC_V)); + } + } + break; + + case IENTER: // Tap for letter "i", slight hold for "enter" + if (record->event.pressed) { + copy_paste_timer = timer_read(); + } else { + if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, enter + tap_code16(KC_ENT); + } else { // Tap, "i" + tap_code16(KC_I); + } + } + break; + + case PRN: + if (record->event.pressed) { + SEND_STRING("()"); + tap_code(KC_LEFT); + } + break; + + case BRACES: + if (record->event.pressed) { + uint8_t shifted = get_mods() & (MOD_MASK_SHIFT); + if (shifted) { + unregister_code(KC_LSFT); + unregister_code(KC_RSFT); + SEND_STRING("<>"SS_TAP(X_LEFT)); + } + else { + SEND_STRING("[]"SS_TAP(X_LEFT)); + } + } + break; + +#if defined(RGBLIGHT_ENABLE) + case RGB1: + if (record->event.pressed) { + rgblight_sethsv_noeeprom(HSV_BLUE); + } + break; + + case RGB2: + if (record->event.pressed) { + rgblight_sethsv_noeeprom(HSV_RED); + } + break; + + case RGB3: + if (record->event.pressed) { + rgblight_sethsv_noeeprom(HSV_ORANGE); + } + break; + + case RGB4: + if (record->event.pressed) { + rgblight_sethsv_noeeprom(HSV_WHITE); + } + break; + + case RGB5: + if (record->event.pressed) { + rgblight_sethsv_noeeprom(HSV_GREEN); + } + break; +#endif + } + return process_record_keymap(keycode, record) && process_record_secrets(keycode, record); +} diff --git a/users/miketronic/process_records.h b/users/miketronic/process_records.h new file mode 100644 index 00000000000..17737490a17 --- /dev/null +++ b/users/miketronic/process_records.h @@ -0,0 +1,38 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once +#include "miketronic.h" + + +bool process_record_secrets(uint16_t keycode, keyrecord_t *record); +bool process_record_keymap(uint16_t keycode, keyrecord_t *record); +uint16_t copy_paste_timer; + +enum custom_keycodes { + WM = QK_USER, + QW, + MAKE, + VERSION, + M01, + M02, + M03, + M04, + M05, + M06, + M07, + M08, + M09, + M10, + M11, + M12, + RGB1, + RGB2, + RGB3, + RGB4, + RGB5, + IENTER, + PRN, + BRACES, + CCCV +}; diff --git a/users/miketronic/readme.md b/users/miketronic/readme.md new file mode 100644 index 00000000000..619a84ec2e6 --- /dev/null +++ b/users/miketronic/readme.md @@ -0,0 +1,25 @@ +Copyright 2023 @miketronic -- Mike B +SPDX-License-Identifier: GPL-2.0+ + +# Layout for ortho 4x12 and 3x10 boards +# My current daily drivers: Planck, Pi40 and Satpad + +**Objective:** I tried to make layouts with core functions that are able to be present on the 3x10 boards and adapt those to the "middle 3x10" of the 4x12 boards to make going back and forth between the two board sizes easier. + + +##### My Main Layer - Workman + +| | | | | | | | | | | | | +| ---- |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| ----:| +| Tab/Esc | Q/Esc | D | R | W | B/SYM | J/SYM | F | U | P | BSPC | BSPC | +| Tab/Shift | A | S | H | T/EX | G | Y | N | E | O | I/Enter | Enter| +| Shft | Z | X | M | C | V | K | L | Spc/, | Spc/. | / | Up/Right | +| FN | Ctrl | OS | Alt |Lower | Spc/Enter |Spc/Enter |Raise | SS| Clip | CopyPaste | Dn/Left | + +SYM - Symbols layer on hold +FN - Function layer on hold +EX - Extras layer on hold +Clip - Macro to my clipboard app (Ditto) +SS - Greenshot screenshot region + +##### Will add the other layers as I find time \ No newline at end of file diff --git a/users/miketronic/rules.mk b/users/miketronic/rules.mk new file mode 100644 index 00000000000..bbd3e4131e0 --- /dev/null +++ b/users/miketronic/rules.mk @@ -0,0 +1,4 @@ +SRC += miketronic.c process_records.c +ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) + SRC += $(USER_PATH)/tapdances.c +endif diff --git a/users/miketronic/tapdances.c b/users/miketronic/tapdances.c new file mode 100644 index 00000000000..5fcf66062b1 --- /dev/null +++ b/users/miketronic/tapdances.c @@ -0,0 +1,33 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#include "miketronic.h" +#include "tapdances.h" + + +tap_dance_action_t tap_dance_actions[] = { + + [T_BRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), // Tap once for Left Brace, twice for Right Brace + [T_MIN] = ACTION_TAP_DANCE_DOUBLE(KC_MINUS, KC_EQUAL), // Minus, Equals + [T_UMIN] = ACTION_TAP_DANCE_DOUBLE(KC_UNDS, KC_MINS), // Underscore, Minus + [T_GESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRAVE, KC_ESCAPE), // Grave, Escape + [T_SE] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT), // Space, Enter + [T_MULTDIV] = ACTION_TAP_DANCE_DOUBLE(KC_PAST, KC_PSLS), // Multiply, Divide + [T_UR] = ACTION_TAP_DANCE_DOUBLE(KC_UP, KC_RGHT), // Up, Right + [T_DL] = ACTION_TAP_DANCE_DOUBLE(KC_DOWN, KC_LEFT), // Down, Left + [T_CP] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_C), LCTL(KC_V)), // Copy, Paste + [T_DENT] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_ENT), // Dot, Enter + [T_IENT] = ACTION_TAP_DANCE_DOUBLE(KC_I, KC_ENT), // "I", Enter + [T_CSPC] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_COMM), // Space, Comma + [T_DSPC] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_DOT), // Space, Dot + [T_QEXC] = ACTION_TAP_DANCE_DOUBLE(KC_QUES, KC_EXLM), // "?", "!" + [T_QESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC), // "q", Escape + [T_TE] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC), // Tab, Escape + [T_20] = ACTION_TAP_DANCE_DOUBLE(KC_2, KC_0), // "2", "0" + [T_SL] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_BSLS), // Slash, Backslash + [T_XX] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN), // Left Paren, Right Paren + [T_YY] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), // Left Bracket, Right Bracket + [T_ATH] = ACTION_TAP_DANCE_DOUBLE(KC_AT, KC_HASH), // "@", "#" + [T_PRAM] = ACTION_TAP_DANCE_DOUBLE(KC_PERC, KC_AMPR) // "%", "&" +}; + diff --git a/users/miketronic/tapdances.h b/users/miketronic/tapdances.h new file mode 100644 index 00000000000..8135bac2695 --- /dev/null +++ b/users/miketronic/tapdances.h @@ -0,0 +1,57 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once +#include "quantum.h" + + +#define TD_BRC TD(T_BRC) +#define TD_ATH TD(T_ATH) +#define TD_CSPC TD(T_CSPC) +#define TD_DSPC TD(T_DSPC) +#define TD_CP TD(T_CP) +#define TD_DENT TD(T_DENT) +#define TD_IENT TD(T_IENT) +#define TD_MIN TD(T_MIN) +#define TD_UMIN TD(T_UMIN) +#define TD_GESC TD(T_GESC) +#define TD_QESC TD(T_QESC) +#define TD_QEXC TD(T_QEXC) +#define TD_PRAM TD(T_PRAM) +#define TD_SE TD(T_SE) +#define TD_MD TD(T_MULTDIV) +#define TD_UR TD(T_UR) +#define TD_DL TD(T_DL) +#define TD_TE TD(T_TE) +#define TD_20 TD(T_20) +#define TD_SL TD(T_SL) +#define TD_XX TD(T_XX) +#define TD_YY TD(T_YY) + + + +// Tap Dance +enum tapdance_id{ + T_BRC = 0, + T_ATH, + T_CSPC, + T_DSPC, + T_CP, + T_DENT, + T_IENT, + T_MIN, + T_UMIN, + T_GESC, + T_QESC, + T_QEXC, + T_SE, + T_MULTDIV, + T_UR, + T_DL, + T_TE, + T_20, + T_SL, + T_XX, + T_YY, + T_PRAM +}; \ No newline at end of file diff --git a/users/miketronic/wrappers.h b/users/miketronic/wrappers.h new file mode 100644 index 00000000000..7d955f4172a --- /dev/null +++ b/users/miketronic/wrappers.h @@ -0,0 +1,226 @@ +// Copyright 2023 @miketronic -- Mike B +// SPDX-License-Identifier: GPL-2.0+ + +#pragma once +#include "miketronic.h" + +/* Pattern adapted from users/drashna/wrapper.h + Define per-layout keymap sections. Also requires a wrapper. + Example: + #define LAYOUT_:name_wrapper(...) LAYOUT_:name(__VA_ARGS__) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MODS] = LAYOUT_:name _wrapper( + _______, ___________________BLANK___________________, ... + ... + ), + } +*/ + + +// clang-format off +# define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__) +# define LAYOUT_planck_grid_wrapper(...) LAYOUT_planck_grid(__VA_ARGS__) +#if (defined(KEYBOARD_hazel_satpad)) +# define LAYOUT_3x11_wrapper(...) LAYOUT(__VA_ARGS__) +#endif +#if (defined(KEYBOARD_mechwild_bde_rev2)) +# define LAYOUT_3x14_wrapper(...) LAYOUT(__VA_ARGS__) +#endif +#if (defined(KEYBOARD_hazel_bad_wings)) +# define LAYOUT_split_3x5_3_wrapper(...) LAYOUT_split_3x5_3(__VA_ARGS__) +#endif +#if (defined(KEYBOARD_idobao_id75_v1)) +# define LAYOUT_ortho_5x15_wrapper(...) LAYOUT_ortho_5x15(__VA_ARGS__) +#endif + + +#define _________NUMBER_01__________ KC_7, KC_8, KC_9 +#define _________NUMBER_02__________ KC_4, KC_5, KC_6 +#define _________NUMBER_03__________ KC_1, TD_20, KC_3 + + + +#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T +#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G +#define _________________QWERTY_L3_________________ FNZ, KC_X, KC_C, VLOWER, KC_B + +#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P +#define _________________QWERTY_R2_________________ KC_H, KC_J, KRAISE, KC_L, KC_SCLN +#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH + + + +#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 +#define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0 +#define _________________FUNC_LEFT_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 +#define _________________FUNC_RIGHT________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 + +#define ______________LONG_FUNC_LEFT_______________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6 +#define ______________LONG_FUNC_RIGHT______________ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 + +#define _________________BLANK_5___________________ _______, _______, _______, _______, _______ +#define _________________BLANK_6___________________ _______, _______, _______, _______, _______, _______ + +#define _________________LOWER_L1__________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC +#define _________________LOWER_L2__________________ _________________FUNC_LEFT_________________ +#define _________________LOWER_L3__________________ _________________FUNC_RIGHT________________ + +#define _________________LOWER_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN +#define _________________LOWER_R2__________________ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR +#define _________________LOWER_R3__________________ _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + +#define _______________LOWER_310_L1________________ PRN, BRACES, TD_SL, _______, _______ +#define _______________LOWER_310_L2________________ TD_ATH, TD_PRAM, _______, _______, _______ +#define _______________LOWER_310_L3________________ _______, _______, _______, _______, _______ + +#define _______________LOWER_310_R1________________ _______, KC_7, KC_8, KC_9, _______ +#define _______________LOWER_310_R2________________ TD_DENT, KC_4, KC_5, KC_6, TD_UR +#define _______________LOWER_310_R3________________ KC_0, KC_1, TD_20, KC_3, TD_DL + +#define _______________LOWER_412_L1________________ _______, PRN, BRACES, TD_SL, _______, _______ +#define _______________LOWER_412_L2________________ _______, TD_ATH, TD_PRAM, _______, _______, _______ +#define _______________LOWER_412_L3________________ _______, _______, _______, _______, _______, _______ +#define _______________LOWER_412_L4________________ _______, _______, _______, _______, _______, _______ + +#define _______________LOWER_412_R1________________ _______, KC_7, KC_8, KC_9, _______, _______ +#define _______________LOWER_412_R2________________ TD_DENT, KC_4, KC_5, KC_6, _______, _______ +#define _______________LOWER_412_R3________________ KC_0, KC_1, TD_20, KC_3, _______, TD_UR +#define _______________LOWER_412_R4________________ _______, _______, KC_BSPC, KC_SPC, TD_DENT, TD_DL + + + +#define _________________RAISE_L1__________________ ________________NUMBER_LEFT________________ +#define _________________RAISE_L2__________________ ___________________BLANK___________________ +#define _________________RAISE_L3__________________ ___________________BLANK___________________ + +#define _________________RAISE_R1__________________ ________________NUMBER_RIGHT_______________ +#define _________________RAISE_R2__________________ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC +#define _________________RAISE_R3__________________ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END + +#define _______________RAISE_310_L1________________ QK_BOOT, DB_TOGG, _______, _______, QK_MAKE +#define _______________RAISE_310_L2________________ KC_LSFT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD +#define _______________RAISE_310_L3________________ _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD + +#define _______________RAISE_310_R1________________ _______, KC_F7, KC_F8, KC_F9, KC_F10 +#define _______________RAISE_310_R2________________ TD_UMIN, KC_F4, KC_F5, KC_F6, KC_F11 +#define _______________RAISE_310_R3________________ _______, KC_F1, KC_F2, KC_F3, KC_F12 + +#define _______________RAISE_412_L1________________ QK_BOOT, DB_TOGG, _______, _______, _______, QK_MAKE +#define _______________RAISE_412_L2________________ KC_LSFT, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, WM +#define _______________RAISE_412_L3________________ _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, QW + +#define _______________RAISE_412_R1________________ _______, _______, KC_F7, KC_F8, KC_F9, KC_F10 +#define _______________RAISE_412_R2________________ _______, _______, KC_F4, KC_F5, KC_F6, KC_F11 +#define _______________RAISE_412_R3________________ _______, TD_UMIN, KC_F1, KC_F2, KC_F3, KC_F12 + + + +#define ______________EXTRAS_310_L1________________ KC_EXLM, _______, _______, _______, _______ +#define ______________EXTRAS_310_L2________________ KC_LSFT, _______, _______, _______, _______ +#define ______________EXTRAS_310_L3________________ _______, _______, _______, _______, _______ + +#define ______________EXTRAS_310_R1________________ _______, TD_SL, PRN, BRACES, KC_SCLN +#define ______________EXTRAS_310_R2________________ QK_LEAD, TD_ATH, TD_PRAM, _______, KC_QUOT +#define ______________EXTRAS_310_R3________________ _______, _______, KC_COMM, KC_DOT, KC_QUES + +#define ______________EXTRAS_412_L1________________ _______, KC_EXLM, _______, _______, _______, _______ +#define ______________EXTRAS_412_L2________________ KC_LSFT, _______, _______, _______, _______, _______ +#define ______________EXTRAS_412_L3________________ _______, _______, _______, _______, _______, _______ +#define ______________EXTRAS_412_L4________________ _______, _______, _______, _______, _______, TD_SE + +#define ______________EXTRAS_412_R1________________ _______, TD_SL, PRN, BRACES, KC_SCLN, _______ +#define ______________EXTRAS_412_R2________________ QK_LEAD, TD_ATH, TD_PRAM, _______, KC_QUOT, _______ +#define ______________EXTRAS_412_R3________________ _______, _______, KC_COMM, KC_DOT, KC_QUES, _______ +#define ______________EXTRAS_412_R4________________ TD_SE, _______, _______, _______, _______, _______ + + + +#define _____________FUNCTION_310_L1_______________ CCCV, CLIP, SS, _______, _______ +#define _____________FUNCTION_310_L2_______________ TBSHFT, M05, M06, M07, M08 +#define _____________FUNCTION_310_L3_______________ _______, M01, M02, M03, M04 + +#define _____________FUNCTION_310_R1_______________ _______, TD_SL, KC_UP, _______, KC_DEL +#define _____________FUNCTION_310_R2_______________ _______, KC_LEFT, KC_DOWN, KC_RGHT, TD_UR +#define _____________FUNCTION_310_R3_______________ _______, _______, KC_COMM, KC_DOT, TD_DL + +#define _____________FUNCTION_412_L1_______________ CCCV, CLIP, SS, _______, _______, _______ +#define _____________FUNCTION_412_L2_______________ TBSHFT, M05, M06, M07, M08, _______ +#define _____________FUNCTION_412_L3_______________ _______, M01, M02, M03, M04, _______ +#define _____________FUNCTION_412_L4_______________ _______, RGB1, RGB2, RGB3, RGB4, _______ + +#define _____________FUNCTION_412_R1_______________ _______, T_SL, KC_UP, _______, _______, KC_DEL +#define _____________FUNCTION_412_R2_______________ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______ +#define _____________FUNCTION_412_R3_______________ _______, _______, KC_COMM, KC_DOT, KC_QUES, T_UR +#define _____________FUNCTION_412_R4_______________ _______, _______, _______, _______, _______, T_DL + +#define ____________FUNCTION_ID75_TOP_R____________ M06, M07, M08, M09, M10, KC_DEL + + + +#define _____________SYMBOLS_310_L1________________ KC_DLR, KC_CIRC, KC_LABK, KC_RABK, ____ +#define _____________SYMBOLS_310_L2________________ KC_PERC, KC_COLN, KC_SCLN, KC_PLUS, KC_EQL +#define _____________SYMBOLS_310_L3________________ KC_AMPR, KC_QUOT, KC_DQUO, KC_ASTR, KC_HASH + +#define _____________SYMBOLS_310_R1________________ ____, KC_PIPE, KC_LBRC, KC_RBRC, KC_MINS +#define _____________SYMBOLS_310_R2________________ XXXX, XXXX, KC_LPRN, KC_RPRN, KC_UNDS +#define _____________SYMBOLS_310_R3________________ KC_EXLM, KC_QUES, KC_SLSH, KC_BSLS, KC_AT + + + +#define _________________ADJUST_L1_________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG +#define _________________ADJUST_L2_________________ MU_TOGG, CK_TOGG, AU_ON, AU_OFF, AG_NORM +#define _________________ADJUST_L3_________________ RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T + +#define _________________ADJUST_R1_________________ KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5 +#define _________________ADJUST_R2_________________ AG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN +#define _________________ADJUST_R3_________________ MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT + + +#define _________FOUR_001__________ KC_BSPC, M08, M08, KC_MUTE +#define _________FOUR_002__________ KC_ENT, M08, PRN, TD_UR +#define _________FOUR_003__________ KC_BSLS, TD_ATH, BRACES, TD_DL + +#define _________3KEY_LEFT___________ OSSFT, KC_SPC, LOWER +#define _________3KEY_RIGHT__________ RAISE, KC_ENT, CCCV + +#define ________3KEY_ID75_01_________ OSSFT, QK_LEAD, LOWER +#define ________3KEY_ID75_02_________ KC_7, KC_8, KC_9 +#define ________3KEY_ID75_03_________ KC_4, KC_5, KC_6 +#define ________3KEY_ID75_04_________ KC_1, TD_20, KC_3 +#define ________3KEY_ID75_05_________ KC_SPC, TD_DENT, KC_ENT + + +#define _____________WORKMAN_310_001_L_____________ TD_QESC, KC_D, KC_R, KC_W, BSYM +#define _____________WORKMAN_310_001_R_____________ JSYM, KC_F, KC_U, KC_P, KC_BSPC +#define _____________WORKMAN_310_002_L_____________ ASFT, KC_S, KC_H, TEX, KC_G +#define _____________WORKMAN_310_002_R_____________ KC_Y, KC_N, KC_E, KC_O, KC_I +#define _____________WORKMAN_310_003_L_____________ FNZ, CTRLX, MGUI, CALT, VLOWER +#define _____________WORKMAN_310_003_R_____________ KRAISE, KC_L, TD_CSPC, TD_DSPC, SFT_ENT +#define _____________WORKMAN_310_004_L_____________ FN, KC_LCTL, KC_LGUI, KC_LALT, LOWER +#define _____________WORKMAN_310_004_R_____________ RAISE, SS, CLIP, CCCV, FN + +#define _____________WORKMAN_410_003_L_____________ FNZ, KC_X, KC_M, KC_C, KC_V +#define _____________WORKMAN_410_003_R_____________ KC_K, KC_L, TD_CSPC, TD_DSPC, SFT_ENT + +#define _____________WORKMAN_311_001_L_____________ TD_QESC, KC_D, KC_R, KC_W, BSYM +#define _____________WORKMAN_311_001_R_____________ JSYM, KC_F, KC_U, KC_P, KC_BSPC +#define _____________WORKMAN_311_002_L_____________ ASFT, KC_S, KC_H, TEX, KC_G +#define _____________WORKMAN_311_002_R_____________ KC_Y, KC_N, KC_E, KC_O, KC_I +#define _____________WORKMAN_311_003_L_____________ FNZ, CTRLX, MGUI, CALT, VLOWER, KC_ENT +#define _____________WORKMAN_311_003_R_____________ KRAISE, KC_L, TD_CSPC, TD_DSPC, SFT_ENT + +#define _____________WORKMAN_412_001_L_____________ TD_TE, TD_QESC, KC_D, KC_R, KC_W, BSYM +#define _____________WORKMAN_412_001_R_____________ JSYM, KC_F, KC_U, KC_P, KC_BSPC, KC_BSPC +#define _____________WORKMAN_412_002_L_____________ TBSHFT, KC_A, KC_S, KC_H, TEX, KC_G +#define _____________WORKMAN_412_002_R_____________ KC_Y, KC_N, KC_E, KC_O, KC_I, KC_ENT +#define _____________WORKMAN_412_003_L_____________ KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V +#define _____________WORKMAN_412_003_R_____________ KC_K, KC_L, TD_CSPC, TD_DSPC, SFT_ENT, TD_UR +#define _____________WORKMAN_412_004_L_____________ FN, KC_LCTL, KC_LGUI, KC_LALT, LOWER, TD_SE +#define _____________WORKMAN_412_004_R_____________ TD_SE, RAISE, SS, CLIP, CCCV, TD_DL + +#define _____________WORKMAN_ID75_TOP_L____________ KC_ESC, M01, M02, M03, M04, M05 +#define _____________WORKMAN_ID75_TOP_R____________ M06, M07, M08, M09, M10, KC_BSPC +#define _____________WORKMAN_ID75_BOT_L____________ FN, KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC +#define _____________WORKMAN_ID75_BOT_R____________ KC_ENT, RAISE, SS, CLIP, CCCV, TD_DL + +// clang-format on \ No newline at end of file diff --git a/keyboards/dumbpad/config.h b/users/scotto/config.h similarity index 64% rename from keyboards/dumbpad/config.h rename to users/scotto/config.h index 879046ea07a..34fe069d6e5 100644 --- a/keyboards/dumbpad/config.h +++ b/users/scotto/config.h @@ -1,20 +1,25 @@ /* -Copyright 2020 imchipwood - +Copyright 2023 Joe Scotto This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 -/* Reduce tapdance required taps from 5 to 2 */ -#define TAPPING_TOGGLE 2 +// config added when Tap Dance is enabled +#ifdef TAP_DANCE_ENABLE +# ifdef TAPPING_TERM +# undef TAPPING_TERM +# define TAPPING_TERM 135 +# endif +# define TAPPING_TERM_PER_KEY +# define PERMISSIVE_HOLD +#endif diff --git a/users/scotto/readme.md b/users/scotto/readme.md new file mode 100644 index 00000000000..f7fdeb24c42 --- /dev/null +++ b/users/scotto/readme.md @@ -0,0 +1,17 @@ +# Scotto + +Applies to layouts: +- LAYOUT_ortho_4x10 +- LAYOUT_split_3x5_2 +- LAYOUT_split_3x5_3 + +### QWERTY + +Scotto's default functional layout is Colemak. To compile this layout in QWERTY (US English), append compile command with `KEYMAP=QWERTY` environment variable. +``` +qmk compile -kb -km scotto -e KEYMAP=QWERTY +``` +Example for [Scotto34](/keyboards/scottokeebs/scotto34): +``` +qmk compile -kb scottokeebs/scotto34 -km scotto -e KEYMAP=QWERTY +``` diff --git a/users/scotto/rules.mk b/users/scotto/rules.mk new file mode 100644 index 00000000000..50a01966754 --- /dev/null +++ b/users/scotto/rules.mk @@ -0,0 +1,11 @@ +SRC += scotto.c + +TAP_DANCE_ENABLE = yes + +ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) + SRC += tap_dance.c +endif + +ifneq ($(strip $(KEYMAP)),) + OPT_DEFS += -DKEYMAP_$(KEYMAP) +endif diff --git a/keyboards/mechlovin/zed65/no_backlight/retro66/config.h b/users/scotto/scotto.c similarity index 81% rename from keyboards/mechlovin/zed65/no_backlight/retro66/config.h rename to users/scotto/scotto.c index 6786e3b953c..41520973c6f 100644 --- a/keyboards/mechlovin/zed65/no_backlight/retro66/config.h +++ b/users/scotto/scotto.c @@ -1,20 +1,15 @@ /* -Copyright 2022 Mechlovin' - +Copyright 2023 Joe Scotto This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 TAP_CODE_DELAY 10 \ No newline at end of file +#include "scotto.h" diff --git a/users/scotto/scotto.h b/users/scotto/scotto.h new file mode 100644 index 00000000000..023906852e5 --- /dev/null +++ b/users/scotto/scotto.h @@ -0,0 +1,69 @@ +/* +Copyright 2023 Joe Scotto +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General 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 QMK_KEYBOARD_H + +#ifdef TAP_DANCE_ENABLE + #include "tap_dance.h" +#endif + +// Assign rows of keycodes to a single def each +#define __QWERTY1__ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P +#define __QWERTY2__ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC +#define __QWERTY3a_ LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH) +#define __QWERTY3b_ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH + +#define __COLEMAK1__ KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC +#define __COLEMAK2__ KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O +#define __COLEMAK3a_ LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH) +#define __COLEMAK3b_ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH + +#define ______________SYM_MEDIA_NAV1______________ KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL +#define ______________SYM_MEDIA_NAV2______________ KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT +#define ______________SYM_MEDIA_NAV3______________ LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILD, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS) + +#define _________________NUM_SYM1_________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC +#define _________________NUM_SYM2_________________ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 +#define _________________NUM_SYM3a________________ KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH) +#define _________________NUM_SYM3b________________ KC_LSFT, KC_NO, KC_NO, KC_NO, MO(8), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH) + +#define ________________FUNC_SYS1a________________ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(5), TO(4) +#define ________________FUNC_SYS1b________________ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4), TO(5), TO(0) +#define ________________FUNC_SYS2_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 +#define ________________FUNC_SYS3_________________ KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12 + +#define _______THUMB6_1_______ TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) +#define _______THUMB6_4_______ TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LALT, LCTL_T(KC_SPC), LT(6, KC_TAB), LT(7, KC_ENT), TD(TD_LALT_ESC_WINDOWS_EMOJI) +#define _______THUMB6_5_______ TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, LT(6, KC_TAB), LT(7, KC_ENT), TD(TD_LALT_ESC_WINDOWS_EMOJI) +#define _____THUMB6_TRNS______ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + +#define _______THUMB4_1_______ TD(TD_ESC_LALT_LCTL_SPOTLIGHT_EMOJI), LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT) +#define _______THUMB4_4_______ TD(TD_ESC_LCTL_LALT_WINDOWS_EMOJI), LCTL_T(KC_SPC), LT(6, KC_TAB), LT(7, KC_ENT) +#define _______THUMB4_5_______ KC_LCTL, KC_SPC, LT(6, KC_TAB), LT(7, KC_ENT) +#define _____THUMB4_TRNS______ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + +// set functional layout +#if defined (KEYMAP_QWERTY) + #define _________________KEYMAP1__________________ __QWERTY1__ + #define _________________KEYMAP2__________________ __QWERTY2__ + #define _________________KEYMAP3a_________________ __QWERTY3a_ + #define _________________KEYMAP3b_________________ __QWERTY3b_ +#else + #define _________________KEYMAP1__________________ __COLEMAK1__ + #define _________________KEYMAP2__________________ __COLEMAK2__ + #define _________________KEYMAP3a_________________ __COLEMAK3a_ + #define _________________KEYMAP3b_________________ __COLEMAK3b_ +#endif diff --git a/users/scotto/tap_dance.c b/users/scotto/tap_dance.c new file mode 100644 index 00000000000..e6183843341 --- /dev/null +++ b/users/scotto/tap_dance.c @@ -0,0 +1,154 @@ +/* +Copyright 2023 Joe Scotto +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "tap_dance.h" +#include "scotto.h" + +// Create an instance of 'td_tap_t' for the 'x' tap dance. +static td_tap_t xtap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +td_state_t cur_dance(tap_dance_state_t *state) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) { + return TD_SINGLE_TAP; + } else { + return TD_SINGLE_HOLD; + } + } else if (state->count == 2) { + if (state->interrupted || !state->pressed) { + return TD_DOUBLE_TAP; + } else { + return TD_DOUBLE_HOLD; + } + } else if (state->count == 3) { + if (state->interrupted || !state->pressed) { + return TD_TRIPLE_TAP; + } else { + return TD_TRIPLE_HOLD; + } + } + + return TD_UNKNOWN; +} + +void td_esc_lalt_lctl_spotlight_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: tap_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_TAP: tap_code16(G(KC_SPC)); break; + case TD_TRIPLE_TAP: tap_code16(C(G(KC_SPC))); break; + default: break; + } +} + +void td_esc_lalt_lctl_spotlight_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LALT); break; + case TD_DOUBLE_HOLD: unregister_code(KC_LCTL); break; + default: break; + } + xtap_state.state = TD_NONE; +} + +void td_esc_lctl_lalt_windows_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: tap_code16(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_TAP: tap_code(KC_LGUI); break; + case TD_TRIPLE_TAP: tap_code16(G(KC_DOT)); break; + default: break; + } +} + +void td_esc_lctl_lalt_windows_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break; + case TD_DOUBLE_HOLD: unregister_code(KC_LALT); break; + default: break; + } + xtap_state.state = TD_NONE; +} + +void td_lalt_esc_windowr_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: register_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_TAP: tap_code(KC_LGUI); break; + case TD_TRIPLE_TAP: tap_code16(G(KC_DOT)); break; + default: break; + } +} + +void td_lalt_esc_windowr_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LALT); break; + default: break; + } + xtap_state.state = TD_NONE; +} + +void td_lctl_esc_spotlight_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: register_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_TAP: tap_code16(G(KC_SPC)); break; + case TD_TRIPLE_TAP: tap_code16(C(G(KC_SPC))); break; + default: break; + } +} + +void td_lctl_esc_spotlight_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break; + default: break; + } + xtap_state.state = TD_NONE; +} + + // Tap Dance definitions +tap_dance_action_t tap_dance_actions[] = { + [TD_LCTL_ESC_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lctl_esc_spotlight_emoji_finished, td_lctl_esc_spotlight_emoji_reset), + [TD_LALT_ESC_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lalt_esc_windowr_emoji_finished, td_lalt_esc_windowr_emoji_reset), + [TD_ESC_LALT_LCTL_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_esc_lalt_lctl_spotlight_emoji_finished, td_esc_lalt_lctl_spotlight_emoji_reset), + [TD_ESC_LCTL_LALT_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_esc_lctl_lalt_windows_emoji_finished, td_esc_lctl_lalt_windows_emoji_reset), +}; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) : + case TD(TD_LALT_ESC_WINDOWS_EMOJI) : + case TD(TD_ESC_LALT_LCTL_SPOTLIGHT_EMOJI) : + case TD(TD_ESC_LCTL_LALT_WINDOWS_EMOJI) : + case LGUI_T(KC_SPC) : + case LT(1, KC_SPC) : + case LT(1, KC_TAB) : + case LT(2, KC_ENT) : + return 200; + default: + return TAPPING_TERM; + } +}; diff --git a/keyboards/arabica37/rev1/config.h b/users/scotto/tap_dance.h similarity index 52% rename from keyboards/arabica37/rev1/config.h rename to users/scotto/tap_dance.h index b2cbbade075..4082d2b9fba 100644 --- a/keyboards/arabica37/rev1/config.h +++ b/users/scotto/tap_dance.h @@ -1,36 +1,39 @@ /* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - +Copyright 2023 Joe Scotto This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 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 RGBLED_NUM 50 // Number of LEDs -/* - * 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 +#include "scotto.h" + +typedef enum { + TD_NONE = 0, + TD_UNKNOWN, + TD_SINGLE_HOLD, + TD_DOUBLE_HOLD, + TD_TRIPLE_HOLD, + TD_SINGLE_TAP, + TD_DOUBLE_TAP, + TD_TRIPLE_TAP +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +enum { + TD_LCTL_ESC_SPOTLIGHT_EMOJI = 0, + TD_LALT_ESC_WINDOWS_EMOJI, + TD_ESC_LALT_LCTL_SPOTLIGHT_EMOJI, + TD_ESC_LCTL_LALT_WINDOWS_EMOJI +}; diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c index cff20898cd9..be76788d219 100644 --- a/users/spidey3/layer_rgb.c +++ b/users/spidey3/layer_rgb.c @@ -73,9 +73,9 @@ const rgblight_segment_t *const PROGMEM _rgb_layers[] = { [LAYER_OFFSET + _NUMPAD] = _layer1_layer, [LAYER_OFFSET + _FN] = _layer2_layer, - [LOCK_OFFSET + USB_LED_NUM_LOCK] = _numlock_layer, - [LOCK_OFFSET + USB_LED_CAPS_LOCK] = _capslock_layer, - [LOCK_OFFSET + USB_LED_SCROLL_LOCK] = _scrolllock_layer, + [LOCK_OFFSET + 0] = _numlock_layer, + [LOCK_OFFSET + 1] = _capslock_layer, + [LOCK_OFFSET + 2] = _scrolllock_layer, [MISC_OFFSET + 0] = _gflock_layer, [MISC_OFFSET + 1] = _glyphreplace_layer, @@ -374,9 +374,9 @@ layer_state_t layer_state_set_user_rgb(layer_state_t state) { } bool led_update_user_rgb(led_t led_state) { - rgblight_set_layer_state(LOCK_OFFSET + USB_LED_NUM_LOCK, led_state.num_lock); - rgblight_set_layer_state(LOCK_OFFSET + USB_LED_CAPS_LOCK, led_state.caps_lock); - rgblight_set_layer_state(LOCK_OFFSET + USB_LED_SCROLL_LOCK, led_state.scroll_lock); + rgblight_set_layer_state(LOCK_OFFSET + 0, led_state.num_lock); + rgblight_set_layer_state(LOCK_OFFSET + 1, led_state.caps_lock); + rgblight_set_layer_state(LOCK_OFFSET + 2, led_state.scroll_lock); return true; } diff --git a/users/turbomech/backupturbomech.c b/users/turbomech/backupturbomech.c index 3671d27ab49..70d3d065c4f 100644 --- a/users/turbomech/backupturbomech.c +++ b/users/turbomech/backupturbomech.c @@ -135,14 +135,15 @@ void matrix_init_user(void) { } static bool is_capslocked = false; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<. #include "zigotica.h" // clang-format off -#define _BLANK_ROW _______, _______, _______, _______, _______ #define _BLANK_THUMB _______, _______ +#define _BLANK_3 _______, _______, _______ +#define _BLANK_4 _______, _______, _______, _______ +#define _BLANK_ROW _______, _______, _______, _______, _______ /* * STENAI Layer @@ -60,12 +62,14 @@ along with this program. If not, see . #define _COLEMAK_R3 KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH #define _QWERTY_L1 KC_Q, KC_W, KC_E, KC_R, KC_T -#define _QWERTY_L2 KC_A, KC_S, KC_D, KC_F, KC_G +#define _QWERTY_L2 LALT_T(KC_A), LCTL_T(KC_S), LSFT_T(KC_D), LGUI_T(KC_F), KC_G #define _QWERTY_L3 KC_Z, KC_X, KC_C, KC_V, KC_B +#define _QWERTY_LT LT(_NUM, KC_TAB), LT(_NAV, KC_SPC) #define _QWERTY_R1 KC_Y, KC_U, KC_I, KC_O, KC_P -#define _QWERTY_R2 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT +#define _QWERTY_R2 KC_H, RGUI_T(KC_J), RSFT_T(KC_K), RCTL_T(KC_L), RALT_T(KC_SCLN) #define _QWERTY_R3 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH +#define _QWERTY_RT LT(_SYM, KC_SPC), LT(_FN, KC_ENT) /* * NUM Layer @@ -191,4 +195,17 @@ along with this program. If not, see . #define ____FN_R2 _______, KC_F1, KC_F2, KC_F3, KC_F11 #define ____FN_R3 _______, KC_F4, KC_F5, KC_F6, KC_F12 #define ____FN_RT _BLANK_THUMB + + +// Ortho short rows +#define ____NUM15 KC_1, KC_2, KC_3, KC_4, KC_5 +#define ____NUM60 KC_6, KC_7, KC_8, KC_9, KC_0 +#define ____FN_15 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 +#define ____FN_60 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 +#define ____LMODS KC_LCTL, KC_LALT, KC_LGUI +#define ____TARRS _______, KC_UP, _______ +#define ____BARRS KC_LEFT, KC_DOWN, KC_RIGHT +#define ____LORTH ____LMODS, KC_MINS +#define ____RORTH KC_BSPC, KC_SCLN, KC_BSLS, KC_SLSH + // clang-format on diff --git a/users/zigotica/rules.mk b/users/zigotica/rules.mk index 019e6f6dda1..93b0b5704d1 100644 --- a/users/zigotica/rules.mk +++ b/users/zigotica/rules.mk @@ -5,7 +5,7 @@ ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) endif ifeq ($(strip $(COMBO_ENABLE)), yes) - SRC += combos.c + INTROSPECTION_KEYMAP_C = combos.c endif ifeq ($(strip $(OLED_ENABLE)), yes) diff --git a/users/zigotica/zigotica.h b/users/zigotica/zigotica.h index e85a04edbed..e7ac83e0dcb 100644 --- a/users/zigotica/zigotica.h +++ b/users/zigotica/zigotica.h @@ -16,7 +16,7 @@ along with this program. If not, see . #include "rows.h" -#ifdef SPLIT_KEYBOARD +#if defined(SPLIT_KEYBOARD) || defined(ORTHOLINEAR_KEYBOARD) enum userspace_layers { BASE = 0, _NUM,